### POST /virtualMachines/start Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_azure-computeInstance.js.html Starts a virtual machine. This operation starts a virtual machine. The operation returns the ComputeManagementClient.virtualMachines.start API. ```APIDOC ## POST /virtualMachines/start ### Description Starts a virtual machine. ### Method POST ### Endpoint /virtualMachines/start ### Parameters #### Path Parameters - **resourceGroupName** (StringKeyword) - Mandatory - The name of the resource group. - **vmName** (StringKeyword) - Mandatory - The name of the virtual machine. #### Request Body - **options** (TypeReference) - Optional - Additional options for the start operation. ### Response #### Success Response (200) - **startResponse** (Promise) - The result of the start operation. ### Request Example ```json { "resourceGroupName": "exampleResourceGroup", "vmName": "exampleVM", "options": {} } ``` ### Response Example ```json { "example": "startResponse" } ``` ``` -------------------------------- ### Start Instances Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_ComputeInstance.html Starts one or more instances that are in the 'stopped' state. ```APIDOC ## POST /api/instances/start ### Description Triggers the startInstances function of EC2 to start specified instances. ### Method POST ### Endpoint /api/instances/start ### Parameters #### Request Body - **params** (StartInstancesRequest) - Required - Data required for startInstances ### Request Example ```json { "params": { "InstanceIds": ["i-0123456789abcdef0"] } } ``` ### Response #### Success Response (200) - **startInstancesResponse** (Promise) - Details about the started instances. #### Response Example ```json { "StartingInstances": [ { "InstanceId": "i-0123456789abcdef0", "PreviousState": { "Name": "stopped" }, "State": { "Name": "pending" } } ] } ``` ``` -------------------------------- ### Install NodeCloud Core and Provider Plugins Source: https://context7.com/leopardslab/nodecloud/llms.txt Install the core NodeCloud module and any desired provider plugins using npm. ```bash npm install @nodecloud/common npm install @nodecloud/aws-plugin npm install @nodecloud/gcp-plugin npm install @nodecloud/azure-plugin npm install @nodecloud/do-plugin npm install @nodecloud/oracle-plugin npm install @nodecloud/linode-plugin ``` -------------------------------- ### POST /virtualMachines/start Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_compute_azure-computeInstance.js.html Starts a specified virtual machine. ```APIDOC ## POST /virtualMachines/start ### Description Triggers the start function to power on a virtual machine. ### Parameters #### Path Parameters - **resourceGroupName** (StringKeyword) - Required - The name of the resource group. - **vmName** (StringKeyword) - Required - The name of the virtual machine. #### Query Parameters - **options** (TypeReference) - Optional - Additional options for the start operation. ``` -------------------------------- ### POST /start Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_compute_aws-computeInstance.js.html Triggers the startInstances function of EC2 to start instances. ```APIDOC ## POST /start ### Description Triggers the startInstances function of EC2 to start instances. ### Parameters #### Request Body - **params** (StartInstancesRequest) - Required - Data required for startInstances ### Response #### Success Response (200) - **data** (Promise) - The result of the startInstances operation. ``` -------------------------------- ### Install NodeCloud Common Module Source: https://github.com/leopardslab/nodecloud/blob/master/README.md Install the core NodeCloud common module using npm or yarn. This is the first step to using NodeCloud. ```bash npm i @nodecloud/common or yarn add @nodecloud/common ``` -------------------------------- ### GET /listProtocols Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/invalidDataset_1/sdkFile.txt Lists all protocols associated with the load balancer. ```APIDOC ## GET /listProtocols ### Description Lists all protocols associated with the specified load balancer. ### Method GET ### Parameters #### Request Body - **listProtocolsRequest** (ListProtocolsRequest) - Required - The request object containing parameters for listing protocols. ### Response #### Success Response (200) - **ListProtocolsResponse** (Promise) - A promise that resolves to the list of protocols. ``` -------------------------------- ### GET /list Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_network_aws-loadBalancer.js.html Lists all load balancers associated with the account. ```APIDOC ## GET /list ### Description Triggers the describeLoadBalancers function of ELB to list existing load balancers. ### Parameters #### Query Parameters - **params** (DescribeAccessPointsInput) - Required - Data required for describeLoadBalancers ### Response #### Success Response (200) - **data** (describeLoadBalancersResponse) - The response from the AWS ELB service. ``` -------------------------------- ### GET /managedClusters Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/azure/dummyData/validDataset/sdkFile.txt Gets a list of managed clusters in the specified subscription. ```APIDOC ## GET /managedClusters ### Description Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster. ### Method GET ### Endpoint /managedClusters ### Parameters #### Query Parameters - **options** (msRest.RequestOptionsBase) - Optional - The optional parameters ### Response #### Success Response (200) - **ManagedClustersListResponse** (Object) - A list of managed clusters. ``` -------------------------------- ### Bootstrap the Repository Source: https://github.com/leopardslab/nodecloud/blob/master/README.md Navigate to the project directory and install all third-party dependencies using yarn. ```bash cd nodecloud yarn ``` -------------------------------- ### Start EC2 Instances Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_compute_aws-computeInstance.js.html Triggers the EC2 startInstances function. Use to start stopped instances. ```javascript start(params) { return new Promise((resolve, reject) => { this._eC2.startInstances(params, (error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } ``` -------------------------------- ### GET /loadBalancers/get Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_network_azure-loadBalancer.js.html Triggers the get function to retrieve details of a specific Azure Load Balancer. ```APIDOC ## GET /loadBalancers/get ### Description Triggers the get function of network to retrieve information about a specific load balancer. ### Parameters #### Path Parameters - **resourceGroupName** (String) - Required - The name of the resource group. - **loadBalancerName** (String) - Required - The name of the load balancer. #### Query Parameters - **options** (Object) - Optional - Additional configuration options. ### Response #### Success Response (200) - **result** (Promise) - The load balancer details. ``` -------------------------------- ### GET /list Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_compute_aws-computeInstance.js.html Triggers the describeInstances function of EC2 to list instances. ```APIDOC ## GET /list ### Description Triggers the describeInstances function of EC2 to list instances. ### Parameters #### Request Body - **params** (DescribeInstancesRequest) - Required - Data required for describeInstances ### Response #### Success Response (200) - **data** (Promise) - The result of the describeInstances operation. ``` -------------------------------- ### GET /resourceGroups/{resourceGroupName}/managedClusters/{resourceName}/upgradeProfile Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/azure/dummyData/validDataset/sdkFile.txt Gets the details of the upgrade profile for a managed cluster. ```APIDOC ## GET /resourceGroups/{resourceGroupName}/managedClusters/{resourceName}/upgradeProfile ### Description Gets the details of the upgrade profile for a managed cluster with a specified resource group and name. ### Method GET ### Endpoint /resourceGroups/{resourceGroupName}/managedClusters/{resourceName}/upgradeProfile ### Parameters #### Path Parameters - **resourceGroupName** (string) - Required - The name of the resource group. - **resourceName** (string) - Required - The name of the managed cluster resource. #### Query Parameters - **options** (msRest.RequestOptionsBase) - Optional - The optional parameters ### Response #### Success Response (200) - **ManagedClustersGetUpgradeProfileResponse** (Object) - The upgrade profile details. ``` -------------------------------- ### POST /compute/start Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_ComputeInstance.html Triggers the start function of compute. This operation initiates a virtual machine. ```APIDOC ## POST /compute/start ### Description Triggers the start function of compute. This operation initiates a virtual machine. ### Method POST ### Endpoint /compute/start ### Parameters #### Path Parameters - **resourceGroupName** (StringKeyword) - Mandatory parameter - The name of the resource group. - **vmName** (StringKeyword) - Mandatory parameter - The name of the virtual machine. #### Query Parameters - **options** (TypeReference) - Optional - Additional options for the start operation. ### Request Example ```json { "resourceGroupName": "exampleResourceGroup", "vmName": "exampleVM", "options": {} } ``` ### Response #### Success Response (200) - **startResponse** (Object) - Details of the virtual machine after starting. ``` -------------------------------- ### Initialize DO_KeyManagement Class Source: https://github.com/leopardslab/nodecloud/blob/master/docs/DO_management_do-keyManagement.js.html Instantiates the DO_KeyManagement class with the Digital Ocean SDK and token. This is the setup required before using any key management functions. ```javascript class DO_KeyManagement { constructor(dosdk, dotoken) { this._DO = dosdk; this._instance = new this._DO(dotoken); this._keys = this._instance.keys; } ... } ``` -------------------------------- ### GET /resourceGroups/{resourceGroupName}/managedClusters/{resourceName}/accessProfiles/{roleName} Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/azure/dummyData/validDataset/sdkFile.txt Gets the accessProfile for the specified role name of the managed cluster. ```APIDOC ## GET /resourceGroups/{resourceGroupName}/managedClusters/{resourceName}/accessProfiles/{roleName} ### Description Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. ### Method GET ### Endpoint /resourceGroups/{resourceGroupName}/managedClusters/{resourceName}/accessProfiles/{roleName} ### Parameters #### Path Parameters - **resourceGroupName** (string) - Required - The name of the resource group. - **resourceName** (string) - Required - The name of the managed cluster resource. - **roleName** (string) - Required - The name of the role for managed cluster accessProfile resource. #### Query Parameters - **options** (msRest.RequestOptionsBase) - Optional - The optional parameters ### Response #### Success Response (200) - **ManagedClustersGetAccessProfileResponse** (Object) - The access profile details. ``` -------------------------------- ### GET /keyvaults/{vaultName} Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_azure-keyManagement.js.html Gets the properties of the specified Key Vault. This operation does not return any secrets or keys stored in the vault. ```APIDOC ## GET /keyvaults/{vaultName} ### Description Gets the properties of the specified Key Vault. This operation does not return any secrets or keys stored in the vault. ### Method GET ### Endpoint /keyvaults/{vaultName} ### Parameters #### Path Parameters - **resourceGroupName** (StringKeyword) - Mandatory - The name of the resource group. - **vaultName** (StringKeyword) - Mandatory - The name of the vault. #### Query Parameters - **options** (TypeReference) - Optional - Additional options for the request. ### Response #### Success Response (200) - **getResponse** (Promise) - The properties of the Key Vault. ### Request Example ```json { "resourceGroupName": "example-resource-group", "vaultName": "example-vault", "options": {} } ``` ### Response Example ```json { "example": "getResponse" } ``` ``` -------------------------------- ### Initialize GCP Storage Client Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_gcp-archivalStorage.js.html Instantiate the Storage client with configuration options. This is the first step before interacting with Google Cloud Storage. ```javascript const { Storage } = require("@google-cloud/storage"); /*This is an auto generated class, please do not change.*/ /** * Class to create a storage object * @category Google Cloud */ class GCP_storage { /** * * @param {object} config Configuration object */ constructor(config) { this._storage = new Storage(config); } /** * Trigers the deleteFiles function of storage * @param {string} [identifier] - Optional parameter * @param {Storage} storage - Mandatory parameter * @param {TypeReference} [query] - Optional parameter * @returns {Promise} */ deleteFiles(storage, query = undefined, identifier = undefined) { return new Promise((resolve, reject) => { storage .bucket(identifier) .deleteFiles(query) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the upload function of storage * @param {string} [identifier] - Optional parameter * @param {Storage} storage - Mandatory parameter * @param {StringKeyword} pathString - Mandatory parameter * @param {TypeReference} [options] - Optional parameter * @returns {Promise} */ upload(storage, pathString, options = undefined, identifier = undefined) { return new Promise((resolve, reject) => { storage .bucket(identifier) .upload(pathString, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the makePublic function of storage * @param {string} [identifier] - Optional parameter * @param {Bucket} bucket - Mandatory parameter * @returns {Promise} */ makePublic(bucket, identifier = undefined) { return new Promise((resolve, reject) => { bucket .file(identifier) .makePublic() .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the createBucket function of storage * @param {StringKeyword} name - Mandatory parameter * @param {TypeReference} [metadata] - Optional parameter * @returns {Promise} */ create(name, metadata = undefined) { return new Promise((resolve, reject) => { this._storage .createBucket(name, metadata) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the getBuckets function of storage * @param {TypeReference} [options] - Optional parameter * @returns {Promise} */ list(options = undefined) { return new Promise((resolve, reject) => { this._storage .getBuckets(options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } } module.exports = GCP_storage; ``` -------------------------------- ### Initialize Linode Firewalls Class Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Linode_firewalls_linode-firewalls.js.html Constructor for the Linode_Firewalls class. Requires the Linode SDK instance and the Linode API token. ```javascript class Linode_Firewalls { constructor(linodeSdk, linodeToken) { this._linode = linodeSdk; this._linodeToken = linodeToken; } } ``` -------------------------------- ### Initialize Linode Kubernetes Class Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Linode_compute_linode-kubernetes.js.html Constructor for the Linode_Kubernetes class. Requires the Linode SDK instance and the Linode API token. ```javascript class Linode_Kubernetes { constructor(linodeSdk, linodeToken) { this._linode = linodeSdk; this._linodeToken = linodeToken; } } ``` -------------------------------- ### Create Listener API Example Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/validDataset/sdkFile.txt Adds a listener to a load balancer. This operation does not retry by default. Refer to the provided link for a complete example. ```typescript createListener(createListenerRequest: requests.CreateListenerRequest): Promise; ``` -------------------------------- ### Create Hostname API Example Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/validDataset/sdkFile.txt Adds a hostname resource to a load balancer. This operation does not retry by default. Refer to the provided link for a complete example. ```typescript createHostname(createHostnameRequest: requests.CreateHostnameRequest): Promise; ``` -------------------------------- ### Initialize GCP DNS Client Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_gcp-DNS.js.html Instantiate the GCP_dns class with configuration options. This is the entry point for all DNS operations. ```javascript const { DNS } = require("@google-cloud/dns"); /*This is an auto generated class, please do not change.*/ /** * Class to create a dns object * @category Google Cloud */ class GCP_dns { /** * * @param {object} config Configuration object */ constructor(config) { this._dns = new DNS(config); } /** * Trigers the getZones function of dns * @param {TypeReference} [query] - Optional parameter * @returns {Promise} */ listZones(query = undefined) { return new Promise((resolve, reject) => { this._dns .getZones(query) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the create function of dns * @param {string} [identifier] - Optional parameter * @param {DNS} dns - Mandatory parameter * @param {TypeReference} config - Mandatory parameter * @returns {Promise} */ createZone(dns, config, identifier = undefined) { return new Promise((resolve, reject) => { dns .zone(identifier) .create(config) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the createChange function of dns * @param {string} [identifier] - Optional parameter * @param {DNS} dns - Mandatory parameter * @param {TypeReference} config - Mandatory parameter * @returns {Promise} */ changeRecordSets(dns, config, identifier = undefined) { return new Promise((resolve, reject) => { dns .zone(identifier) .createChange(config) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the delete function of dns * @param {string} [identifier] - Optional parameter * @param {DNS} dns - Mandatory parameter * @param {TypeReference} [options] - Optional parameter * @returns {Promise} */ deleteZone(dns, options = undefined, identifier = undefined) { return new Promise((resolve, reject) => { dns .zone(identifier) .delete(options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the record function of dns * @param {string} [identifier] - Optional parameter * @param {DNS} dns - Mandatory parameter * @param {StringKeyword} type - Mandatory parameter * @param {TypeReference} metadata - Mandatory parameter * @returns {Promise} */ record(dns, type, metadata) { return this.dns.record(type, metadata); } } module.exports = GCP_dns; ``` -------------------------------- ### create Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_gcp-archivalStorage.js.html Creates a new storage bucket. ```APIDOC ## create ### Description Triggers the createBucket function of storage. ### Parameters #### Request Body - **name** (StringKeyword) - Required - The name of the bucket. - **metadata** (TypeReference) - Optional - Bucket metadata. ``` -------------------------------- ### Create Backend Set API Example Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/validDataset/sdkFile.txt Use this API to create a backend set for your load balancer. Refer to the provided link for a complete example. ```typescript createBackendSet(createBackendSetRequest: requests.CreateBackendSetRequest): Promise; ``` -------------------------------- ### NodeCloud Configuration File Example Source: https://github.com/leopardslab/nodecloud/blob/master/README.md This JavaScript code defines an array of cloud provider configurations for NodeCloud. It includes required plugins and their respective configuration paths or settings. ```javascript const nodeCloudAwsPlugin = require('@nodecloud/aws-plugin'); const nodeCloudGcpPlugin = require('@nodecloud/gcp-plugin'); const nodeCloudAzurePlugin = require('@nodecloud/azure-plugin'); const nodeCloudDoPlugin = require('@nodecloud/do-plugin'); const nodeCloudOraclePlugin = require('@nodecloud/oracle-plugin'); const nodeCloudLinodePlugin = require('@nodecloud/linode-plugin'); const providers = [ { name: 'aws', tag: 'aws', plugin: nodeCloudAwsPlugin, configPath: 'C:\\Users\\Rajitha\\opensource\\aws_cred.json', }, { name: 'google', tag: 'google', plugin: nodeCloudGcpPlugin, configPath: { projectId: 'astral-hold-276807', keyFilename: 'C:\\Users\\Rajitha\\opensource\\gcp_cred.json', }, }, { name: 'azure', tag: 'azure', plugin: nodeCloudAzurePlugin, }, { name: 'digitalocean', tag: 'do', plugin: nodeCloudDoPlugin, }, { name: 'oracle', tag: 'oracle', plugin: nodeCloudOraclePlugin, }, { name: 'linode', tag: 'linode', plugin: nodeCloudLinodePlugin, }, ]; module.exports = providers; ``` -------------------------------- ### Create Certificate API Example Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/validDataset/sdkFile.txt This operation adds an SSL certificate bundle. It does not retry by default if no retry configuration is defined. Refer to the provided link for a complete example. ```typescript createCertificate(createCertificateRequest: requests.CreateCertificateRequest): Promise; ``` -------------------------------- ### Create Load Balancer API Example Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/validDataset/sdkFile.txt Creates a new load balancer in a specified compartment. The system assigns an IP address upon creation. Refer to the provided link for a complete example. ```typescript createLoadBalancer(createLoadBalancerRequest: requests.CreateLoadBalancerRequest): Promise; ``` -------------------------------- ### Initialize AWS EC2 SDK Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_compute_aws-computeInstance.js.html Constructor for the AWS_ComputeInstance class. Requires the AWS SDK and options including the API version. ```javascript constructor(aws, options) { this._AWS = aws; this._apiVersion = options.apiVersion; this._eC2 = new this._AWS.EC2({ apiVersion: this._apiVersion }); } ``` -------------------------------- ### GET /clusters Source: https://github.com/leopardslab/nodecloud/blob/master/docs/DO_Kubernetes.html Lists all Kubernetes clusters. ```APIDOC ## GET /clusters ### Description Triggers the getClusters function to list available clusters. ### Parameters #### Query Parameters - **includeAll** (BooleanKeyword) - Required - Flag to include all clusters. - **page** (NumberKeyword) - Required - Page number for pagination. - **pageSize** (NumberKeyword) - Required - Number of items per page. ### Response #### Success Response - **getClustersResponse** (Promise) - Returns a list of clusters. ``` -------------------------------- ### AWS_StorageBucket Constructor Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_StorageBucket.html Initializes a new instance of the AWS_StorageBucket class. ```APIDOC ## AWS_StorageBucket Constructor ### Description Initializes a new instance of the AWS_StorageBucket class. ### Method `new AWS_StorageBucket(aws, options)` ### Parameters #### Parameters - **aws** (module) - Required - AWS SDK - **options** (object) - Required - SDK options ``` -------------------------------- ### Initialize AWS Kubernetes SDK Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_compute_aws-kubernetes.js.html Constructor for the AWS_Kubernetes class. Requires the AWS SDK and SDK options including the API version. ```javascript class AWS_Kubernetes { constructor(aws, options) { this._AWS = aws; this._apiVersion = options.apiVersion; this._eKS = new this._AWS.EKS({ apiVersion: this._apiVersion }); } } ``` -------------------------------- ### describe Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_paas.html Triggers the get function of appservice. ```APIDOC ## describe ### Description Triggers the get function of appservice. ### Parameters - **resourceGroupName** (StringKeyword) - Required - Mandatory parameter - **name** (StringKeyword) - Required - Mandatory parameter - **options** (TypeReference) - Optional - Optional parameter ### Response - **Promise.** - Returns a promise with the getResponse. ``` -------------------------------- ### GET /describe Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_appServices_aws-paaS.js.html Describes ElasticBeanstalk applications. ```APIDOC ## GET /describe ### Description Triggers the describeApplications function of ElasticBeanstalk. ### Method GET ### Parameters #### Query Parameters - **params** (DescribeApplicationsMessage) - Required - Data required for describeApplications ### Response #### Success Response (200) - **data** (describeApplicationsResponse) - The application descriptions. ``` -------------------------------- ### Initialize Linode_NoSql Class Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Linode_database_linode-noSql.js.html Constructor for the Linode_NoSql class. Requires the Linode SDK instance and a Linode API token. ```javascript class Linode_NoSql { constructor(linodeSdk, linodeToken) { this._linode = linodeSdk; this._linodeToken = linodeToken; } } ``` -------------------------------- ### Initialize and use GCP_storage class Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_storage_gcp-archivalStorage.js.html The class requires the @google-cloud/storage package and provides methods for bucket management, file uploads, and file deletion. ```javascript const { Storage } = require("@google-cloud/storage"); /*This is an auto generated class, please do not change.*/ /** * Class to create a storage object * @category Google Cloud */ class GCP_storage { /** * * @param {object} config Configuration object */ constructor(config) { this._storage = new Storage(config); } /** * Trigers the deleteFiles function of storage * @param {string} [identifier] - Optional parameter * @param {Storage} storage - Mandatory parameter * @param {TypeReference} [query] - Optional parameter * @returns {Promise} */ deleteFiles(storage, query = undefined, identifier = undefined) { return new Promise((resolve, reject) => { storage.bucket(identifier).deleteFiles(query) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the upload function of storage * @param {string} [identifier] - Optional parameter * @param {Storage} storage - Mandatory parameter * @param {StringKeyword} pathString - Mandatory parameter * @param {TypeReference} [options] - Optional parameter * @returns {Promise} */ upload(storage, pathString, options = undefined, identifier = undefined) { return new Promise((resolve, reject) => { storage.bucket(identifier).upload(pathString, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the makePublic function of storage * @param {string} [identifier] - Optional parameter * @param {Bucket} bucket - Mandatory parameter * @returns {Promise} */ makePublic(bucket, identifier = undefined) { return new Promise((resolve, reject) => { bucket.file(identifier).makePublic() .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the createBucket function of storage * @param {StringKeyword} name - Mandatory parameter * @param {TypeReference} [metadata] - Optional parameter * @returns {Promise} */ create(name, metadata = undefined) { return new Promise((resolve, reject) => { this._storage.createBucket(name, metadata) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the getBuckets function of storage * @param {TypeReference} [options] - Optional parameter * @returns {Promise} */ list(options = undefined) { return new Promise((resolve, reject) => { this._storage.getBuckets(options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } } module.exports = GCP_storage; ``` -------------------------------- ### GET /listProtocols Source: https://github.com/leopardslab/nodecloud/blob/master/generator/test/generators/oracle/dummyData/invalidDataset_1/sdkFile.txt Lists all supported traffic protocols. ```APIDOC ## GET /listProtocols ### Description Lists all supported traffic protocols. ### Method GET ### Parameters #### Request Body - **listProtocolsRequest** (requests.ListProtocolsRequest) - Required - The request object containing parameters for the operation. ### Response #### Success Response (200) - **response** (responses.ListProtocolsResponse) - The response object containing the list of supported protocols. ``` -------------------------------- ### Initialize GCP NotificationService Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_gcp-notificationService.js.html Instantiates the PublisherClient and SubscriberClient for interacting with Google Cloud Pub/Sub. Requires a configuration object. ```javascript const { PublisherClient } = require("@google-cloud/pubsub"); const { SubscriberClient } = require("@google-cloud/pubsub"); /*This is an auto generated class, please do not change.*/ /** * Class to create a NotificationService object * @category Google Cloud */ class GCP_NotificationService { /** * * @param {object} config Configuration object */ constructor(config) { this._publisherClient = new PublisherClient(config); this._subscriberClient = new SubscriberClient(config); } /** * Trigers the createTopic function of undefined * @param {TypeReference} request - Data required for createTopic * @param {TypeReference} [options] - Data required for createTopic * @returns {Promise} */ createTopic(request, options = undefined) { return new Promise((resolve, reject) => { this._publisherClient .createTopic(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the deleteTopic function of undefined * @param {TypeReference} request - Data required for deleteTopic * @param {TypeReference} [options] - Data required for deleteTopic * @returns {Promise} */ deleteTopic(request, options = undefined) { return new Promise((resolve, reject) => { this._publisherClient .deleteTopic(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the getTopic function of undefined * @param {TypeReference} request - Data required for getTopic * @param {TypeReference} [options] - Data required for getTopic * @returns {Promise} */ getTopicAttributes(request, options = undefined) { return new Promise((resolve, reject) => { this._publisherClient .getTopic(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the listTopicSubscriptions function of undefined * @param {TypeReference} request - Data required for listTopicSubscriptions * @param {TypeReference} [options] - Data required for listTopicSubscriptions * @returns {Promise} */ listSubscriptions(request, options = undefined) { return new Promise((resolve, reject) => { this._publisherClient .listTopicSubscriptions(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the createSubscription function of undefined * @param {TypeReference} request - Data required for createSubscription * @param {TypeReference} [options] - Data required for createSubscription * @returns {Promise} */ subscribe(request, options = undefined) { return new Promise((resolve, reject) => { this._subscriberClient .createSubscription(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the publish function of undefined * @param {TypeReference} request - Data required for publish * @param {TypeReference} [options] - Data required for publish * @returns {Promise} */ publish(request, options = undefined) { return new Promise((resolve, reject) => { this._publisherClient .publish(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the listTopics function of undefined * @param {TypeReference} request - Data required for listTopics * @param {TypeReference} [options] - Data required for listTopics ``` -------------------------------- ### GET /storage/buckets Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_storage_gcp-archivalStorage.js.html Lists all buckets in the storage account. ```APIDOC ## GET /storage/buckets ### Description Triggers the getBuckets function of storage. ### Parameters #### Query Parameters - **options** (TypeReference) - Optional - Options for listing buckets. ``` -------------------------------- ### Initialize and use AWS_PaaS class Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_appServices_aws-paaS.js.html The constructor requires an AWS SDK instance and configuration options. Methods return promises that resolve with the ElasticBeanstalk service response or reject on error. ```javascript /*This is an auto generated class, please do not change.*/ /** * Class to create a ElasticBeanstalk object * @category AWS */ class AWS_PaaS { /** * * @param {module} aws AWS SDK * @param {object} options SDK options */ constructor(aws, options) { this._AWS = aws; this._apiVersion = options.apiVersion; this._elasticBeanstalk = new this._AWS.ElasticBeanstalk({ apiVersion: this._apiVersion }); } /** * Trigers the checkDNSAvailability function of ElasticBeanstalk * @param {CheckDNSAvailabilityMessage} params - Data required for checkDNSAvailability * @returns {Promise} */ checkDNSAvailability(params) { return new Promise((resolve, reject) => { this._elasticBeanstalk.checkDNSAvailability(params, (error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } /** * Trigers the composeEnvironments function of ElasticBeanstalk * @param {ComposeEnvironmentsMessage} params - Data required for composeEnvironments * @returns {Promise} */ composeEnvironments(params) { return new Promise((resolve, reject) => { this._elasticBeanstalk.composeEnvironments(params, (error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } /** * Trigers the createApplication function of ElasticBeanstalk * @param {CreateApplicationMessage} params - Data required for createApplication * @returns {Promise} */ create(params) { return new Promise((resolve, reject) => { this._elasticBeanstalk.createApplication(params, (error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } /** * Trigers the createConfigurationTemplate function of ElasticBeanstalk * @param {CreateConfigurationTemplateMessage} params - Data required for createConfigurationTemplate * @returns {Promise} */ createConfigTemplate(params) { return new Promise((resolve, reject) => { this._elasticBeanstalk.createConfigurationTemplate(params, (error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } /** * Trigers the createEnvironment function of ElasticBeanstalk * @param {CreateEnvironmentMessage} params - Data required for createEnvironment * @returns {Promise} */ createEnvironment(params) { return new Promise((resolve, reject) => { this._elasticBeanstalk.createEnvironment(params, (error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } /** * Trigers the createStorageLocation function of ElasticBeanstalk * @returns {Promise} */ createStorageLocation() { return new Promise((resolve, reject) => { this._elasticBeanstalk.createStorageLocation((error, data) => { if (error) { reject(error); } else { resolve(data); } }); }); } /** * Trigers the deleteApplication function of ElasticBeanstalk ``` -------------------------------- ### GET /domains Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Linode_network_linode-DNS.js.html Retrieves a list of DNS domains. ```APIDOC ## GET /domains ### Description Retrieves a list of DNS domains based on provided parameters and filters. ### Parameters #### Query Parameters - **params** (Params) - Optional - Data required for getDomains - **filter** (Filter) - Optional - Data required for getDomains ``` -------------------------------- ### Initialize DO_ComputeInstance Source: https://github.com/leopardslab/nodecloud/blob/master/docs/DO_compute_do-computeInstance.js.html Constructor for the DO_ComputeInstance class. Requires the DO SDK and authentication token. ```javascript class DO_ComputeInstance { constructor(dosdk, dotoken) { this._DO = dosdk; this._instance = new this._DO(dotoken); this._droplets = this._instance.droplets; } } ``` -------------------------------- ### POST /create Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_network_aws-loadBalancer.js.html Creates a new Elastic Load Balancer. ```APIDOC ## POST /create ### Description Triggers the createLoadBalancer function of ELB to provision a new load balancer. ### Parameters #### Request Body - **params** (CreateAccessPointInput) - Required - Data required for createLoadBalancer ### Response #### Success Response (200) - **data** (createLoadBalancerResponse) - The response from the AWS ELB service. ``` -------------------------------- ### GET /clusters Source: https://github.com/leopardslab/nodecloud/blob/master/docs/DO_database_do-RDBMS.js.html Retrieves a list of all database clusters. ```APIDOC ## GET /clusters ### Description Retrieves all database clusters based on optional filters. ### Method GET ### Parameters #### Query Parameters - **tagName** (StringKeyword) - Optional - Filter by tag name - **includeAll** (BooleanKeyword) - Optional - Include all clusters - **page** (NumberKeyword) - Optional - Page number - **pageSize** (NumberKeyword) - Optional - Number of items per page ### Response #### Success Response (200) - **data** (Promise) - List of database clusters ``` -------------------------------- ### POST /create Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Linode_Kubernetes.html Triggers the creation of a Kubernetes cluster on Linode. ```APIDOC ## POST /create ### Description Triggers the createKubernetesCluster function of KubernetesLinodeClass. ### Parameters #### Request Body - **data** (CreateKubeClusterPayload) - Required - Data required for createKubernetesCluster ### Response - **Returns** (Promise.) - A promise that resolves with the cluster creation response. ``` -------------------------------- ### GET /domains/checkAvailability Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Azure_appServices_azure-paaS.js.html Checks the availability of a domain name. ```APIDOC ## GET /domains/checkAvailability ### Description Triggers the checkAvailability function to verify if a domain name is available. ### Parameters #### Query Parameters - **options** (TypeReference) - Optional - Additional configuration options. ### Response #### Success Response (200) - **result** (checkAvailabilityResponse) - The availability status of the domain. ``` -------------------------------- ### GET /list Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_storage_aws-archivalStorage.js.html Triggers the listParts function of Glacier. ```APIDOC ## GET /list ### Description Triggers the listParts function of Glacier. ### Parameters #### Query Parameters - **params** (ListPartsInput) - Required - Data required for listParts ### Response #### Success Response (200) - **data** (listPartsResponse) - The response from the listParts operation ``` -------------------------------- ### Initialize and use GCP_Kubernetes Source: https://github.com/leopardslab/nodecloud/blob/master/docs/googleCloud_gcp-kubernetes.js.html The class requires a configuration object for the ClusterManagerClient during instantiation. Methods return promises that resolve with the result of the underlying Google Cloud SDK calls. ```javascript const { ClusterManagerClient } = require("@google-cloud/container"); /*This is an auto generated class, please do not change.*/ /** * Class to create a Kubernetes object * @category Google Cloud */ class GCP_Kubernetes { /** * * @param {object} config Configuration object */ constructor(config) { this._clusterManagerClient = new ClusterManagerClient(config); } /** * Trigers the createCluster function of undefined * @param {TypeReference} request - Data required for createCluster * @param {TypeReference} [options] - Data required for createCluster * @returns {Promise} */ create(request, options = undefined) { return new Promise((resolve, reject) => { this._clusterManagerClient .createCluster(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the deleteCluster function of undefined * @param {TypeReference} request - Data required for deleteCluster * @param {TypeReference} [options] - Data required for deleteCluster * @returns {Promise} */ delete(request, options = undefined) { return new Promise((resolve, reject) => { this._clusterManagerClient .deleteCluster(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the listClusters function of undefined * @param {TypeReference} request - Data required for listClusters * @param {TypeReference} [options] - Data required for listClusters * @returns {Promise} */ listClusters(request, options = undefined) { return new Promise((resolve, reject) => { this._clusterManagerClient .listClusters(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the getCluster function of undefined * @param {TypeReference} request - Data required for getCluster * @param {TypeReference} [options] - Data required for getCluster * @returns {Promise} */ describeCluster(request, options = undefined) { return new Promise((resolve, reject) => { this._clusterManagerClient .getCluster(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the createNodePool function of undefined * @param {TypeReference} request - Data required for createNodePool * @param {TypeReference} [options] - Data required for createNodePool * @returns {Promise} */ createNodeGroup(request, options = undefined) { return new Promise((resolve, reject) => { this._clusterManagerClient .createNodePool(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the deleteNodePool function of undefined * @param {TypeReference} request - Data required for deleteNodePool * @param {TypeReference} [options] - Data required for deleteNodePool * @returns {Promise} */ deleteNodegroup(request, options = undefined) { return new Promise((resolve, reject) => { this._clusterManagerClient .deleteNodePool(request, options) .then(result => { resolve(result); }) .catch(err => { reject(err); }); }); } /** * Trigers the getNodePool function of undefined * @param {TypeReference} request - Data required for getNodePool * @param {TypeReference} [options] - Data required for getNodePool * @returns {Promise} */ describeNodeGroup(request, options = undefined) { ``` -------------------------------- ### Linode_Images Constructor Source: https://github.com/leopardslab/nodecloud/blob/master/docs/Linode_images_linode-images.js.html Initializes the Linode_Images class with the Linode SDK instance and token. Requires the Linode SDK and a valid token for authentication. ```javascript constructor(linodeSdk, linodeToken) { this._linode = linodeSdk; this._linodeToken = linodeToken; } ``` -------------------------------- ### GET /listVersions Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_appServices_aws-paaS.js.html Lists platform versions for ElasticBeanstalk. ```APIDOC ## GET /listVersions ### Description Triggers the listPlatformVersions function of ElasticBeanstalk. ### Method GET ### Parameters #### Query Parameters - **params** (ListPlatformVersionsRequest) - Required - Data required for listPlatformVersions ### Response #### Success Response (200) - **data** (listPlatformVersionsResponse) - The list of platform versions. ``` -------------------------------- ### GET /describeAccountAttributes Source: https://github.com/leopardslab/nodecloud/blob/master/docs/AWS_appServices_aws-paaS.js.html Retrieves account attributes for ElasticBeanstalk. ```APIDOC ## GET /describeAccountAttributes ### Description Triggers the describeAccountAttributes function of ElasticBeanstalk. ### Method GET ### Response #### Success Response (200) - **data** (describeAccountAttributesResponse) - The account attributes data. ```