UNPKG

ibm-security-advisor

Version:
860 lines 40.7 kB
"use strict"; /** * (C) Copyright IBM Corp. 2020. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var extend = require("extend"); var ibm_cloud_sdk_core_1 = require("ibm-cloud-sdk-core"); var common_1 = require("../lib/common"); /** * The Findings API */ var FindingsApiV1 = /** @class */ (function (_super) { __extends(FindingsApiV1, _super); /** * Construct a FindingsApiV1 object. * * @param {Object} options - Options for the service. * @param {string} [options.serviceUrl] - The base url to use when contacting the service (e.g. 'https://us-south.secadvisor.cloud.ibm.com/findings'). The base url may differ between IBM Cloud regions. * @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service. * @param {Authenticator} options.authenticator - The Authenticator object used to authenticate requests to the service * @constructor * @returns {FindingsApiV1} */ function FindingsApiV1(options) { var _this = _super.call(this, options) || this; if (options.serviceUrl) { _this.setServiceUrl(options.serviceUrl); } else { _this.setServiceUrl(FindingsApiV1.DEFAULT_SERVICE_URL); } return _this; } /************************* * Factory method ************************/ /** * Constructs an instance of FindingsApiV1 with passed in options and external configuration. * * @param {UserOptions} [options] - The parameters to send to the service. * @param {string} [options.serviceName] - The name of the service to configure * @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service * @param {string} [options.serviceUrl] - The URL for the service * @returns {FindingsApiV1} */ FindingsApiV1.newInstance = function (options) { if (!options.serviceName) { options.serviceName = this.DEFAULT_SERVICE_NAME; } if (!options.authenticator) { options.authenticator = ibm_cloud_sdk_core_1.getAuthenticatorFromEnvironment(options.serviceName); } var service = new FindingsApiV1(options); service.configureService(options.serviceName); if (options.serviceUrl) { service.setServiceUrl(options.serviceUrl); } return service; }; /************************* * findingsGraph ************************/ /** * query findings. * * query findings. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.body - Body for query findings. * @param {string} [params.contentType] - The type of the input. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.Empty>>} */ FindingsApiV1.prototype.postGraph = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'body']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var body = _params.body; var path = { account_id: _params.accountId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'postGraph'); var parameters = { options: { url: '/v1/{account_id}/graph', method: 'POST', body: body, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', 'Content-Type': _params.contentType, }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /************************* * findingsNotes ************************/ /** * Creates a new `Note`. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - Part of `parent`. This field contains the provider_id for example: * providers/{provider_id}. * @param {string} params.shortDescription - A one sentence description of this `Note`. * @param {string} params.longDescription - A detailed description of this `Note`. * @param {ApiNoteKind} params.kind - Output only. This explicitly denotes which kind of note is specified. This * field can be used as a filter in list requests. * @param {string} params.id - * @param {Reporter} params.reportedBy - Details about the reporter of this `Note`. * @param {ApiNoteRelatedUrl[]} [params.relatedUrl] - * @param {string} [params.expirationTime] - Time of expiration for this note, null if note does not expire. * @param {string} [params.createTime] - Output only. The time this note was created. This field can be used as a * filter in list requests. * @param {string} [params.updateTime] - Output only. The time this note was last updated. This field can be used as a * filter in list requests. * @param {boolean} [params.shared] - True if this `Note` can be shared by multiple accounts. * @param {FindingType} [params.finding] - The finding details of the note. * @param {KpiType} [params.kpi] - The KPI details of the note. * @param {Card} [params.card] - The card details of the note. * @param {Section} [params.section] - The section details of the note. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiNote>>} */ FindingsApiV1.prototype.createNote = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = [ 'accountId', 'providerId', 'shortDescription', 'longDescription', 'kind', 'id', 'reportedBy', ]; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var body = { short_description: _params.shortDescription, long_description: _params.longDescription, kind: _params.kind, id: _params.id, reported_by: _params.reportedBy, related_url: _params.relatedUrl, expiration_time: _params.expirationTime, create_time: _params.createTime, update_time: _params.updateTime, shared: _params.shared, finding: _params.finding, kpi: _params.kpi, card: _params.card, section: _params.section, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'createNote'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/notes', method: 'POST', body: body, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Lists all `Notes` for a given provider. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - Part of `parent`. This field contains the provider_id for example: * providers/{provider_id}. * @param {number} [params.pageSize] - Number of notes to return in the list. * @param {string} [params.pageToken] - Token to provide to skip to a particular spot in the list. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiListNotesResponse>>} */ FindingsApiV1.prototype.listNotes = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var query = { page_size: _params.pageSize, page_token: _params.pageToken, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'listNotes'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/notes', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Returns the requested `Note`. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {string} params.noteId - Second part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiNote>>} */ FindingsApiV1.prototype.getNote = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'noteId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var path = { account_id: _params.accountId, provider_id: _params.providerId, note_id: _params.noteId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'getNote'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/notes/{note_id}', method: 'GET', path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Updates an existing `Note`. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {string} params.noteId - Second part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {string} params.shortDescription - A one sentence description of this `Note`. * @param {string} params.longDescription - A detailed description of this `Note`. * @param {ApiNoteKind} params.kind - Output only. This explicitly denotes which kind of note is specified. This * field can be used as a filter in list requests. * @param {string} params.id - * @param {Reporter} params.reportedBy - Details about the reporter of this `Note`. * @param {ApiNoteRelatedUrl[]} [params.relatedUrl] - * @param {string} [params.expirationTime] - Time of expiration for this note, null if note does not expire. * @param {string} [params.createTime] - Output only. The time this note was created. This field can be used as a * filter in list requests. * @param {string} [params.updateTime] - Output only. The time this note was last updated. This field can be used as a * filter in list requests. * @param {boolean} [params.shared] - True if this `Note` can be shared by multiple accounts. * @param {FindingType} [params.finding] - The finding details of the note. * @param {KpiType} [params.kpi] - The KPI details of the note. * @param {Card} [params.card] - The card details of the note. * @param {Section} [params.section] - The section details of the note. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiNote>>} */ FindingsApiV1.prototype.updateNote = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = [ 'accountId', 'providerId', 'noteId', 'shortDescription', 'longDescription', 'kind', 'id', 'reportedBy', ]; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var body = { short_description: _params.shortDescription, long_description: _params.longDescription, kind: _params.kind, id: _params.id, reported_by: _params.reportedBy, related_url: _params.relatedUrl, expiration_time: _params.expirationTime, create_time: _params.createTime, update_time: _params.updateTime, shared: _params.shared, finding: _params.finding, kpi: _params.kpi, card: _params.card, section: _params.section, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, note_id: _params.noteId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'updateNote'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/notes/{note_id}', method: 'PUT', body: body, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Deletes the given `Note` from the system. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {string} params.noteId - Second part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.Empty>>} */ FindingsApiV1.prototype.deleteNote = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'noteId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var path = { account_id: _params.accountId, provider_id: _params.providerId, note_id: _params.noteId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteNote'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/notes/{note_id}', method: 'DELETE', path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Gets the `Note` attached to the given `Occurrence`. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of occurrence `name`: * providers/{provider_id}/occurrences/{occurrence_id}. * @param {string} params.occurrenceId - Second part of occurrence `name`: * providers/{provider_id}/occurrences/{occurrence_id}. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiNote>>} */ FindingsApiV1.prototype.getOccurrenceNote = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'occurrenceId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var path = { account_id: _params.accountId, provider_id: _params.providerId, occurrence_id: _params.occurrenceId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'getOccurrenceNote'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/occurrences/{occurrence_id}/note', method: 'GET', path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /************************* * findingsOccurrences ************************/ /** * Creates a new `Occurrence`. Use this method to create `Occurrences` for a resource. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - Part of `parent`. This contains the provider_id for example: * providers/{provider_id}. * @param {string} params.noteName - An analysis note associated with this image, in the form * "{account_id}/providers/{provider_id}/notes/{note_id}" This field can be used as a filter in list requests. * @param {ApiNoteKind} params.kind - Output only. This explicitly denotes which of the `Occurrence` details are * specified. * This field can be used as a filter in list requests. * @param {string} params.id - * @param {string} [params.resourceUrl] - The unique URL of the resource, image or the container, for which the * `Occurrence` applies. For example, https://gcr.io/provider/image@sha256:foo. This field can be used as a filter in * list requests. * @param {string} [params.remediation] - * @param {string} [params.createTime] - Output only. The time this `Occurrence` was created. * @param {string} [params.updateTime] - Output only. The time this `Occurrence` was last updated. * @param {Context} [params.context] - Details about the context of this `Occurrence`. * @param {Finding} [params.finding] - Details of the occurrence of a finding. * @param {Kpi} [params.kpi] - Details of the occurrence of a KPI. * @param {boolean} [params.replaceIfExists] - It allows replacing an existing occurrence when set to true. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiOccurrence>>} */ FindingsApiV1.prototype.createOccurrence = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'noteName', 'kind', 'id']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var body = { note_name: _params.noteName, kind: _params.kind, id: _params.id, resource_url: _params.resourceUrl, remediation: _params.remediation, create_time: _params.createTime, update_time: _params.updateTime, context: _params.context, finding: _params.finding, kpi: _params.kpi, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'createOccurrence'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/occurrences', method: 'POST', body: body, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', 'Content-Type': 'application/json', 'Replace-If-Exists': _params.replaceIfExists, }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Lists active `Occurrences` for a given provider matching the filters. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - Part of `parent`. This contains the provider_id for example: * providers/{provider_id}. * @param {number} [params.pageSize] - Number of occurrences to return in the list. * @param {string} [params.pageToken] - Token to provide to skip to a particular spot in the list. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiListOccurrencesResponse>>} */ FindingsApiV1.prototype.listOccurrences = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var query = { page_size: _params.pageSize, page_token: _params.pageToken, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'listOccurrences'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/occurrences', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Lists `Occurrences` referencing the specified `Note`. Use this method to get all occurrences referencing your `Note` across all your customer providers. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {string} params.noteId - Second part of note `name`: providers/{provider_id}/notes/{note_id}. * @param {number} [params.pageSize] - Number of notes to return in the list. * @param {string} [params.pageToken] - Token to provide to skip to a particular spot in the list. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiListNoteOccurrencesResponse>>} */ FindingsApiV1.prototype.listNoteOccurrences = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'noteId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var query = { page_size: _params.pageSize, page_token: _params.pageToken, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, note_id: _params.noteId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'listNoteOccurrences'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/notes/{note_id}/occurrences', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Returns the requested `Occurrence`. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of occurrence `name`: * providers/{provider_id}/occurrences/{occurrence_id}. * @param {string} params.occurrenceId - Second part of occurrence `name`: * providers/{provider_id}/occurrences/{occurrence_id}. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiListOccurrencesResponse>>} */ FindingsApiV1.prototype.getOccurrence = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'occurrenceId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var path = { account_id: _params.accountId, provider_id: _params.providerId, occurrence_id: _params.occurrenceId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'getOccurrence'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/occurrences/{occurrence_id}', method: 'GET', path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Updates an existing `Occurrence`. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of occurrence `name`: * providers/{provider_id}/occurrences/{occurrence_id}. * @param {string} params.occurrenceId - Second part of occurrence `name`: * providers/{provider_id}/occurrences/{occurrence_id}. * @param {string} params.noteName - An analysis note associated with this image, in the form * "{account_id}/providers/{provider_id}/notes/{note_id}" This field can be used as a filter in list requests. * @param {ApiNoteKind} params.kind - Output only. This explicitly denotes which of the `Occurrence` details are * specified. * This field can be used as a filter in list requests. * @param {string} params.id - * @param {string} [params.resourceUrl] - The unique URL of the resource, image or the container, for which the * `Occurrence` applies. For example, https://gcr.io/provider/image@sha256:foo. This field can be used as a filter in * list requests. * @param {string} [params.remediation] - * @param {string} [params.createTime] - Output only. The time this `Occurrence` was created. * @param {string} [params.updateTime] - Output only. The time this `Occurrence` was last updated. * @param {Context} [params.context] - Details about the context of this `Occurrence`. * @param {Finding} [params.finding] - Details of the occurrence of a finding. * @param {Kpi} [params.kpi] - Details of the occurrence of a KPI. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiOccurrence>>} */ FindingsApiV1.prototype.updateOccurrence = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'occurrenceId', 'noteName', 'kind', 'id']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var body = { note_name: _params.noteName, kind: _params.kind, id: _params.id, resource_url: _params.resourceUrl, remediation: _params.remediation, create_time: _params.createTime, update_time: _params.updateTime, context: _params.context, finding: _params.finding, kpi: _params.kpi, }; var path = { account_id: _params.accountId, provider_id: _params.providerId, occurrence_id: _params.occurrenceId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'updateOccurrence'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/occurrences/{occurrence_id}', method: 'PUT', body: body, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /** * Deletes the given `Occurrence` from the system. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {string} params.providerId - First part of occurrence `name`: providers/{provider_id}/notes/{occurrence_id}. * @param {string} params.occurrenceId - Second part of occurrence `name`: * providers/{provider_id}/notes/{occurrence_id}. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.Empty>>} */ FindingsApiV1.prototype.deleteOccurrence = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId', 'providerId', 'occurrenceId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var path = { account_id: _params.accountId, provider_id: _params.providerId, occurrence_id: _params.occurrenceId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteOccurrence'); var parameters = { options: { url: '/v1/{account_id}/providers/{provider_id}/occurrences/{occurrence_id}', method: 'DELETE', path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; /************************* * findingsProviders ************************/ /** * Lists all `Providers` for a given account id. * * @param {Object} params - The parameters to send to the service. * @param {string} params.accountId - Account ID. * @param {number} [params.limit] - Limit the number of the returned documents to the specified number. * @param {number} [params.skip] - The offset is the index of the item from which you want to start returning data * from. Default is 0. * @param {string} [params.startProviderId] - The first provider_id to include in the result (sorted in ascending * order). Ignored if not provided. * @param {string} [params.endProviderId] - The last provider_id to include in the result (sorted in ascending order). * Ignored if not provided. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<FindingsApiV1.Response<FindingsApiV1.ApiListProvidersResponse>>} */ FindingsApiV1.prototype.listProviders = function (params) { var _this = this; var _params = extend({}, params); var requiredParams = ['accountId']; return new Promise(function (resolve, reject) { var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams); if (missingParams) { return reject(missingParams); } var query = { limit: _params.limit, skip: _params.skip, start_provider_id: _params.startProviderId, end_provider_id: _params.endProviderId, }; var path = { account_id: _params.accountId, }; var sdkHeaders = common_1.getSdkHeaders(FindingsApiV1.DEFAULT_SERVICE_NAME, 'v1', 'listProviders'); var parameters = { options: { url: '/v1/{account_id}/providers', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, _this.baseOptions, { headers: extend(true, sdkHeaders, { Accept: 'application/json', }, _params.headers), }), }; return resolve(_this.createRequest(parameters)); }); }; FindingsApiV1.DEFAULT_SERVICE_URL = 'https://us-south.secadvisor.cloud.ibm.com/findings'; FindingsApiV1.DEFAULT_SERVICE_NAME = 'findings-api'; return FindingsApiV1; }(ibm_cloud_sdk_core_1.BaseService)); /************************* * interfaces ************************/ (function (FindingsApiV1) { /** Constants for the `postGraph` operation. */ var PostGraphConstants; (function (PostGraphConstants) { /** The type of the input. */ var ContentType; (function (ContentType) { ContentType["APPLICATION_GRAPHQL"] = "application/graphql"; ContentType["APPLICATION_JSON"] = "application/json"; })(ContentType = PostGraphConstants.ContentType || (PostGraphConstants.ContentType = {})); })(PostGraphConstants = FindingsApiV1.PostGraphConstants || (FindingsApiV1.PostGraphConstants = {})); })(FindingsApiV1 || (FindingsApiV1 = {})); module.exports = FindingsApiV1; //# sourceMappingURL=v1.js.map