@al/connectors
Version:
A lightweight client library for interacting with the Integrations API
493 lines (484 loc) • 19.3 kB
JavaScript
import { AlLocation, AlDefaultClient, AlGlobalizer } from '@al/core';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
}
var AlConnectorsClientInstance = /** @class */ (function () {
function AlConnectorsClientInstance(client) {
if (client === void 0) { client = null; }
this.serviceVersion = 'v1';
this.serviceStack = AlLocation.IntegrationsAPI;
this.client = client || AlDefaultClient;
}
/**
* Get a list of supported integration types
* GET
* /v1/integration_types
* https://integrations.mdr.global.alertlogic.com
*
* @returns a list of integration types
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getIntegrationTypes = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
path: '/integration_types'
})];
});
});
};
/**
* Get a list of supported integration types by account
* GET
* /v1/{account_id}/integration_types/{name}
* https://integrations.mdr.global.alertlogic.com
*
* @param accountId account id
* @param name integration name
* @returns a list of integration types
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getIntegrationTypeByAccount = function (accountId, name) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
path: "/integration_types/" + name,
account_id: accountId
})];
});
});
};
/**
* Get integration type details
* GET
* /v1/integration_types/{name}
* https://integrations.mdr.global.alertlogic.com
*
* @returns an integration type
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getIntegrationTypeByName = function (name) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
path: "/integration_types/" + name
})];
});
});
};
/**
* Returns Integration Connection Information
* GET
* /v1/{account_id}/connections
* https://integrations.mdr.global.alertlogic.com
*
* @returns an existing connection
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnections = function (accountId, params) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
params: params,
path: "/connections"
})];
});
});
};
/**
* Returns Integration Connection Information
* GET
* /v1/{account_id}/connections/{id}
* https://integrations.mdr.global.alertlogic.com
*
* @returns an existing connection
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnectionById = function (accountId, connectionId) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connections/" + connectionId
})];
});
});
};
/**
* Create a connection
* POST
* /v1/{account_id}/connections
*
* @param accountId account id
* @param payload
* @param dryRun
* @returns a promise with the new connection
*
* @remarks
*/
AlConnectorsClientInstance.prototype.createConnection = function (accountId, payload, dryRun) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.post({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connections",
params: {
dry_run: dryRun
},
data: payload
})];
});
});
};
/**
* Update a connection
* PUT
* /v1/{account_id}/connections/{id}
*
* @param accountId account id
* @param connectionId connection id
* @param payload
* @param dryRun When present and set to true just tests the connection without updating an existing connection instance.
* @returns a promise with the new connection
*
* @remarks
*/
AlConnectorsClientInstance.prototype.updateConnection = function (accountId, connectionId, payload, dryRun) {
if (dryRun === void 0) { dryRun = false; }
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.put({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connections/" + connectionId,
params: {
dry_run: dryRun
},
data: payload
})];
});
});
};
/**
* Delete existing integration connection
* DELETE
* /v1/{account_id}/connections/{id}
*
* @param accountId The AIMS Account ID
* @param connectionId id
* @returns just the status code
*
* @remarks
*/
AlConnectorsClientInstance.prototype.deleteConnectionById = function (accountId, connectionId) {
return __awaiter(this, void 0, void 0, function () {
var result;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.client.delete({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connections/" + connectionId
})];
case 1:
result = _a.sent();
return [2 /*return*/, result];
}
});
});
};
/**
* Returns list of payload types
* GET
* /v1/payload_types
* https://integrations.mdr.global.alertlogic.com
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getPayloadTypes = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
path: '/payload_types'
})];
});
});
};
/**
* Returns a list of all connections targets for an account
* GET
* /v1/{account_id}/connection_targets
* https://connectors.mdr.product.dev.alertlogic.com
*
* @returns the list of connection targets
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnectionTargets = function (accountId, params) {
if (params === void 0) { params = {}; }
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
params: params,
path: "/connection_targets"
})];
});
});
};
/**
* Returns Get a list of supported connection targets
* GET
* /v1/connection_targets
* https://connectors.mdr.product.dev.alertlogic.com
*
* @returns the List of Connection Target with forms
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnectionTargetsDefinitions = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
path: "/connection_targets"
})];
});
});
};
/**
* Returns Connection Target Information
* GET
* /v1/{account_id}/connection_targets/{id}
* https://connectors.mdr.product.dev.alertlogic.com
*
* @param accountId account id
* @param connectionTargetId connection id
* @returns an existing connection target
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnectionTargetById = function (accountId, connectionTargetId) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connection_targets/" + connectionTargetId
})];
});
});
};
/**
* Create a connection target
* POST
* /v1/{account_id}/connection_targets
* https://connectors.mdr.product.dev.alertlogic.com
*
* @param accountId account id
* @param payload connection target
* @returns a promise with the new connection
*
* @remarks
*/
AlConnectorsClientInstance.prototype.createConnectionTarget = function (accountId, payload) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.post({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connection_targets",
data: payload
})];
});
});
};
/**
* Updates existing connection target
* PUT
* /v1/{account_id}/connection_targets/{id}
* https://connectors.mdr.product.dev.alertlogic.com
*
* @param accountId account id
* @param connectionTargetId connection id
* @param payload
* @returns a promise with the new connection
*
* @remarks
*/
AlConnectorsClientInstance.prototype.updateConnectionTarget = function (accountId, connectionTargetId, payload) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.put({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connection_targets/" + connectionTargetId,
data: payload
})];
});
});
};
/**
* Deletes existing connection target
* DELETE
* /v1/{account_id}/connection_targets/{id}
* https://connectors.mdr.product.dev.alertlogic.com
*
* @param accountId The AIMS Account ID
* @param connectionTargetId connection id
* @returns just the status code
*
* @remarks
*/
AlConnectorsClientInstance.prototype.deleteConnectionTargetById = function (accountId, connectionTargetId) {
return __awaiter(this, void 0, void 0, function () {
var result;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.client.delete({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/connection_targets/" + connectionTargetId
})];
case 1:
result = _a.sent();
return [2 /*return*/, result];
}
});
});
};
/**
* Returns Get a list of supported connection targets
* GET
* /v1/{{accountId}}/definitions/connection_targets
* https://connectors.mdr.product.dev.alertlogic.com
*
* @returns the List of Connection Target with forms
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnectionTargetsDefinitionsByAccountId = function (accountId) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/definitions/connection_targets"
})];
});
});
};
/**
* Returns Get a list of supported notifications
* GET
* /v1/{{accountId}}/notifications
* https://connectors.mdr.product.dev.alertlogic.com
*
* @returns the List of notifications
*
* @remarks
*
* */
AlConnectorsClientInstance.prototype.getConnectionNotificationsByAccountId = function (accountId) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.client.get({
version: this.serviceVersion,
service_stack: this.serviceStack,
account_id: accountId,
path: "/notifications"
})];
});
});
};
return AlConnectorsClientInstance;
}());
/* tslint:disable:variable-name */
var AlConnectorsClient = AlGlobalizer.instantiate("AlConnectorsClient", function () { return new AlConnectorsClientInstance(); });
export { AlConnectorsClient, AlConnectorsClientInstance };
//# sourceMappingURL=index.esm5.js.map