UNPKG

@al/environments

Version:

A client for interacting with the Alert Logic Environments Public API.

142 lines (137 loc) 4.74 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var core = require('@al/core'); /** * A client for interacting with the Alert Logic Environments Public API. */ class EnvironmentsClient { constructor() { /** * Expose AlDefaultClient to Credentials client */ this.alClient = core.AlDefaultClient; } /** * Add an environment * POST * /environments/v1/:account_id * "https://api.cloudinsight.alertlogic.com/environments/v1/01000001" * -d '{"type":"aws", * "type_id": "123456789012", * "defender_support":true, * "defender_location_id":"defender-us-denver", * "discover":true, * "scan":false}' */ async addEnvironment(accountId, environment) { const added = await this.alClient.post({ service_name: 'environments', account_id: accountId, data: environment, }); return added; } /** * Delete an environment * DELETE * /environments/v1/:account_id/:environment_id * "https://api.cloudinsight.alertlogic.com/environments/v1/01000001/B37CEE84-6D27-4D0F-943C-F23937587574" */ async deleteEnvironment(accountId, environmentId) { const deleted = await this.alClient.delete({ service_name: 'environments', account_id: accountId, path: `/${environmentId}`, }); return deleted; } /** * Get an environment * GET * /environments/v1/:account_id/:environment_id * "https://api.cloudinsight.alertlogic.com/environments/v1/01000001/582C62B4-9D1D-4F1C-9117-BE4198198861" */ async getEnvironment(accountId, environmentId, queryParams) { const environment = await this.alClient.fetch({ service_name: 'environments', account_id: accountId, path: `/${environmentId}`, params: queryParams, }); return environment; } /** * Get list of accounts with environments * GET * /environments/v1/accounts * "https://api.cloudinsight.alertlogic.com/environments/v1/accounts" */ async getAccounts(accountId, queryParams) { const accounts = await this.alClient.fetch({ service_name: 'environments', account_id: accountId, path: '/accounts', params: queryParams, }); return accounts; } /** * Get environments for an account * GET * /environments/v1/:account_id * "https://api.cloudinsight.alertlogic.com/environments/v1/01000001" */ async getEnvironments(accountId) { const accounts = await this.alClient.fetch({ service_name: 'environments', account_id: accountId, }); return accounts; } /** * Update an environment * POST * /environments/v1/:account_id/:environment_id * "https://api.cloudinsight.alertlogic.com/environments/v1/01000001/039E77DF-C9B9-4103-9DC0-6A938892D8B4" * -d '{"name":"environment5", * "credential_id": "77C12B2C-8340-4AFD-AB25-4D0581443A5E", * "scope": { * "include": [{ * "type": "vpc", * "key": "/aws/us-east-1/vpc/vpc-1234" * }], * "exclude": [{ * "type": "subnet", * "key": "/aws/us-east-1/subnet/subnet-35f42c6c"} * ]}, * "enabled":true}' */ async updateEnvironment(accountId, environmentId, environment) { const updated = await this.alClient.post({ service_name: 'environments', account_id: accountId, path: `/${environmentId}`, data: environment, }); return updated; } /** * Update environment status * PUT * /environments/v1/:account_id/:environment_id/status * "https://api.cloudinsight.alertlogic.com/environments/v1/01000001/CC4BB141-A2F8-4C80-BC25-CBA1E58EBC5E/status" * -d '{"status":"ok", "timestamp": 1471277293, "details":"status is ok now"}' */ async updateEnvironmentStatus(accountId, environmentId, status) { const updated = await this.alClient.set({ service_name: 'environments', account_id: accountId, path: `/${environmentId}/status`, data: status, }); return updated; } } const environmentsClient = new EnvironmentsClient(); exports.EnvironmentsClient = environmentsClient; //# sourceMappingURL=index.cjs.js.map