diff --git a/packages/aecontent/package.json b/packages/aecontent/package.json index 6cde62b9..fe6fa33e 100644 --- a/packages/aecontent/package.json +++ b/packages/aecontent/package.json @@ -1,6 +1,6 @@ { "name": "@al/aecontent", - "version": "0.0.14", + "version": "0.0.15", "license": "MIT", "description": "A client for interacting with the Alert Logic Aecontent Public API", "author": { diff --git a/packages/aecontent/src/aecontent-client.ts b/packages/aecontent/src/aecontent-client.ts index ed268e15..3c51584a 100644 --- a/packages/aecontent/src/aecontent-client.ts +++ b/packages/aecontent/src/aecontent-client.ts @@ -54,6 +54,22 @@ export class AecontentClientInstance { }); } + /** + * Update Tuning rule + * PUT + * + * @param accountId string tuning rule's belonging account id + * + */ + public async updateRule(accountId: string, data: AlTuningRule): Promise { + return this.client.put({ + data, + service_name: this.serviceName, + path: `${accountId}/tunings`, + version: 'v1' + }); + } + /** * delete Tuning rule * DELETE @@ -62,14 +78,14 @@ export class AecontentClientInstance { * @param name string tuning rule's name * */ - public async deleteRule(accountId: string, name: string): Promise { + public async deleteRule(accountId: string, uuid: string): Promise { return this.client.delete({ service_name: this.serviceName, path: `${accountId}/tunings`, version: 'v1', params: { - name: name - } + uuid: uuid + } }); } @@ -113,38 +129,38 @@ export class AecontentClientInstance { /** * enable a Tuning rule - * POST + * PUT * * @param accountId string tuning rule's belonging account id * @param name name of the rule to enable * */ - public async enableRule(accountId: string, name: string): Promise { - return this.client.post({ + public async enableRule(accountId: string, uuid: string): Promise { + return this.client.put({ service_name: this.serviceName, path: `${accountId}/tunings/enable`, version: 'v1', params: { - name: name + uuid: uuid } }); } /** * disable a Tuning rule - * POST + * PUT * * @param accountId string tuning rule's belonging account id * @param name name of the rule to disable * */ - public async disableRule(accountId: string, name: string): Promise { - return this.client.post({ + public async disableRule(accountId: string, uuid: string): Promise { + return this.client.put({ service_name: this.serviceName, path: `${accountId}/tunings/disable`, version: 'v1', params: { - name: name + uuid: uuid } }); } diff --git a/packages/aecontent/src/types/aecontent-client-tuning.type.ts b/packages/aecontent/src/types/aecontent-client-tuning.type.ts index fb455c16..c57b3972 100644 --- a/packages/aecontent/src/types/aecontent-client-tuning.type.ts +++ b/packages/aecontent/src/types/aecontent-client-tuning.type.ts @@ -1,7 +1,9 @@ export interface AlTuningRule { name: string; - description?: string; tuning: AlTuningDetails; + uuid?: string; + version?: string; + schema_version?: string; } export interface AlTuningDetails { @@ -9,6 +11,7 @@ export interface AlTuningDetails { selector: AlTuningSelectorDetails; rules: AlTuningRulesDetails[]; actions: AlTuningActionsDetails[]; + description?: string; } export interface AlTuningOptionDetails {