/*
* Signadot API
* API for Signadot Sandboxes
*
* OpenAPI spec version: 1.0
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
*
* Swagger Codegen version: 2.4.25
*
* Do not edit the class manually.
*
*/
import {ApiClient} from "../ApiClient";
import {ConnectClusterRequest} from '../model/ConnectClusterRequest';
import {ConnectClusterResponse} from '../model/ConnectClusterResponse';
import {CreateClusterTokenResponse} from '../model/CreateClusterTokenResponse';
import {GetClustersResponse} from '../model/GetClustersResponse';
import {HandlerEmptyResponse} from '../model/HandlerEmptyResponse';
/**
* Cluster service.
* @module api/ClusterApi
*/
export class ClusterApi {
/**
* Constructs a new ClusterApi.
* @alias module:api/ClusterApi
* @class
* @param {module:ApiClient} [apiClient] Optional API client implementation to use,
* default to {@link module:ApiClient#instance} if unspecified.
*/
constructor(apiClient) {
this.apiClient = apiClient || ApiClient.instance;
}
/**
* Connect Cluster
* Connect a new Kubernetes cluster with Signadot
* @param {String} orgName Signadot Org Name
* @param {module:model/ConnectClusterRequest} data Request to create cluster
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/ConnectClusterResponse} and HTTP response
*/
connectClusterWithHttpInfo(orgName, data) {
let postBody = data;
// verify the required parameter 'orgName' is set
if (orgName === undefined || orgName === null) {
throw new Error("Missing the required parameter 'orgName' when calling connectCluster");
}
// verify the required parameter 'data' is set
if (data === undefined || data === null) {
throw new Error("Missing the required parameter 'data' when calling connectCluster");
}
let pathParams = {
'orgName': orgName
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['ApiKeyAuth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = ConnectClusterResponse;
return this.apiClient.callApi(
'/orgs/{orgName}/clusters', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType
);
}
/**
* Connect Cluster
* Connect a new Kubernetes cluster with Signadot
* @param {String} orgName Signadot Org Name
* @param {module:model/ConnectClusterRequest} data Request to create cluster
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/ConnectClusterResponse}
*/
connectCluster(orgName, data) {
return this.connectClusterWithHttpInfo(orgName, data)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Create Cluster Token
* Create a new token for connecting a cluster
* @param {String} orgName Signadot Org Name
* @param {String} clusterName Cluster Name
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/CreateClusterTokenResponse} and HTTP response
*/
createClusterTokenWithHttpInfo(orgName, clusterName) {
let postBody = null;
// verify the required parameter 'orgName' is set
if (orgName === undefined || orgName === null) {
throw new Error("Missing the required parameter 'orgName' when calling createClusterToken");
}
// verify the required parameter 'clusterName' is set
if (clusterName === undefined || clusterName === null) {
throw new Error("Missing the required parameter 'clusterName' when calling createClusterToken");
}
let pathParams = {
'orgName': orgName,
'clusterName': clusterName
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['ApiKeyAuth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = CreateClusterTokenResponse;
return this.apiClient.callApi(
'/orgs/{orgName}/clusters/{clusterName}/tokens', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType
);
}
/**
* Create Cluster Token
* Create a new token for connecting a cluster
* @param {String} orgName Signadot Org Name
* @param {String} clusterName Cluster Name
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/CreateClusterTokenResponse}
*/
createClusterToken(orgName, clusterName) {
return this.createClusterTokenWithHttpInfo(orgName, clusterName)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Delete Cluster Token
* Delete a cluster token associated with a cluster
* @param {String} orgName Signadot Org Name
* @param {String} clusterName Cluster Name
* @param {String} tokenId Token Id
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/HandlerEmptyResponse} and HTTP response
*/
deleteClusterTokenWithHttpInfo(orgName, clusterName, tokenId) {
let postBody = null;
// verify the required parameter 'orgName' is set
if (orgName === undefined || orgName === null) {
throw new Error("Missing the required parameter 'orgName' when calling deleteClusterToken");
}
// verify the required parameter 'clusterName' is set
if (clusterName === undefined || clusterName === null) {
throw new Error("Missing the required parameter 'clusterName' when calling deleteClusterToken");
}
// verify the required parameter 'tokenId' is set
if (tokenId === undefined || tokenId === null) {
throw new Error("Missing the required parameter 'tokenId' when calling deleteClusterToken");
}
let pathParams = {
'orgName': orgName,
'clusterName': clusterName,
'tokenId': tokenId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['ApiKeyAuth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = HandlerEmptyResponse;
return this.apiClient.callApi(
'/orgs/{orgName}/clusters/{clusterName}/tokens/{tokenId}', 'DELETE',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType
);
}
/**
* Delete Cluster Token
* Delete a cluster token associated with a cluster
* @param {String} orgName Signadot Org Name
* @param {String} clusterName Cluster Name
* @param {String} tokenId Token Id
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/HandlerEmptyResponse}
*/
deleteClusterToken(orgName, clusterName, tokenId) {
return this.deleteClusterTokenWithHttpInfo(orgName, clusterName, tokenId)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* List clusters
* List clusters.
* @param {String} orgName Signadot Org Name
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/GetClustersResponse} and HTTP response
*/
getClustersWithHttpInfo(orgName) {
let postBody = null;
// verify the required parameter 'orgName' is set
if (orgName === undefined || orgName === null) {
throw new Error("Missing the required parameter 'orgName' when calling getClusters");
}
let pathParams = {
'orgName': orgName
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['ApiKeyAuth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = GetClustersResponse;
return this.apiClient.callApi(
'/orgs/{orgName}/clusters', 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType
);
}
/**
* List clusters
* List clusters.
* @param {String} orgName Signadot Org Name
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/GetClustersResponse}
*/
getClusters(orgName) {
return this.getClustersWithHttpInfo(orgName)
.then(function(response_and_data) {
return response_and_data.data;
});
}
}