/* tslint:disable */ /* eslint-disable */ /** * ELEMENTS API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import { CloudAccountMini, CloudAccountMiniFromJSON, CloudAccountMiniToJSON, CloudAccountMiniPartialUpdate, CloudAccountMiniPartialUpdateFromJSON, CloudAccountMiniPartialUpdateToJSON, CloudAccountMiniUpdate, CloudAccountMiniUpdateFromJSON, CloudAccountMiniUpdateToJSON, ListTopics, ListTopicsFromJSON, ListTopicsToJSON, TestAWSCredentialsRequest, TestAWSCredentialsRequestFromJSON, TestAWSCredentialsRequestToJSON, TestAWSCredentialsResponse, TestAWSCredentialsResponseFromJSON, TestAWSCredentialsResponseToJSON, } from '../models'; export interface CreateAWSAccountRequest { cloudAccountMiniUpdate: CloudAccountMiniUpdate; } export interface DeleteAWSAccountRequest { id: number; } export interface GetAWSAccountRequest { id: number; } export interface GetAWSAccountSNSTopicsRequest { id: number; } export interface GetAllAWSAccountsRequest { name?: string; id?: number; ordering?: string; limit?: number; offset?: number; } export interface PatchAWSAccountRequest { id: number; cloudAccountMiniPartialUpdate: CloudAccountMiniPartialUpdate; } export interface TestAWSAccountCredentialsRequest { testAWSCredentialsRequest: TestAWSCredentialsRequest; } export interface UpdateAWSAccountRequest { id: number; cloudAccountMiniUpdate: CloudAccountMiniUpdate; } /** * */ export class AWSApi extends runtime.BaseAPI { /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async createAWSAccountRaw(requestParameters: CreateAWSAccountRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.cloudAccountMiniUpdate === null || requestParameters.cloudAccountMiniUpdate === undefined) { throw new runtime.RequiredError('cloudAccountMiniUpdate','Required parameter requestParameters.cloudAccountMiniUpdate was null or undefined when calling createAWSAccount.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts`, method: 'POST', headers: headerParameters, query: queryParameters, body: CloudAccountMiniUpdateToJSON(requestParameters.cloudAccountMiniUpdate), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CloudAccountMiniFromJSON(jsonValue)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async createAWSAccount(requestParameters: CreateAWSAccountRequest, initOverrides?: RequestInit): Promise { const response = await this.createAWSAccountRaw(requestParameters, initOverrides); return await response.value(); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async deleteAWSAccountRaw(requestParameters: DeleteAWSAccountRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteAWSAccount.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async deleteAWSAccount(requestParameters: DeleteAWSAccountRequest, initOverrides?: RequestInit): Promise { await this.deleteAWSAccountRaw(requestParameters, initOverrides); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async getAWSAccountRaw(requestParameters: GetAWSAccountRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAWSAccount.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CloudAccountMiniFromJSON(jsonValue)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async getAWSAccount(requestParameters: GetAWSAccountRequest, initOverrides?: RequestInit): Promise { const response = await this.getAWSAccountRaw(requestParameters, initOverrides); return await response.value(); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async getAWSAccountSNSTopicsRaw(requestParameters: GetAWSAccountSNSTopicsRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAWSAccountSNSTopics.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts/{id}/sns/topics`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ListTopicsFromJSON(jsonValue)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async getAWSAccountSNSTopics(requestParameters: GetAWSAccountSNSTopicsRequest, initOverrides?: RequestInit): Promise { const response = await this.getAWSAccountSNSTopicsRaw(requestParameters, initOverrides); return await response.value(); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async getAllAWSAccountsRaw(requestParameters: GetAllAWSAccountsRequest, initOverrides?: RequestInit): Promise>> { const queryParameters: any = {}; if (requestParameters.name !== undefined) { queryParameters['name'] = requestParameters.name; } if (requestParameters.id !== undefined) { queryParameters['id'] = requestParameters.id; } if (requestParameters.ordering !== undefined) { queryParameters['ordering'] = requestParameters.ordering; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.offset !== undefined) { queryParameters['offset'] = requestParameters.offset; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CloudAccountMiniFromJSON)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async getAllAWSAccounts(requestParameters: GetAllAWSAccountsRequest, initOverrides?: RequestInit): Promise> { const response = await this.getAllAWSAccountsRaw(requestParameters, initOverrides); return await response.value(); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async patchAWSAccountRaw(requestParameters: PatchAWSAccountRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling patchAWSAccount.'); } if (requestParameters.cloudAccountMiniPartialUpdate === null || requestParameters.cloudAccountMiniPartialUpdate === undefined) { throw new runtime.RequiredError('cloudAccountMiniPartialUpdate','Required parameter requestParameters.cloudAccountMiniPartialUpdate was null or undefined when calling patchAWSAccount.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: CloudAccountMiniPartialUpdateToJSON(requestParameters.cloudAccountMiniPartialUpdate), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CloudAccountMiniFromJSON(jsonValue)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async patchAWSAccount(requestParameters: PatchAWSAccountRequest, initOverrides?: RequestInit): Promise { const response = await this.patchAWSAccountRaw(requestParameters, initOverrides); return await response.value(); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async testAWSAccountCredentialsRaw(requestParameters: TestAWSAccountCredentialsRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.testAWSCredentialsRequest === null || requestParameters.testAWSCredentialsRequest === undefined) { throw new runtime.RequiredError('testAWSCredentialsRequest','Required parameter requestParameters.testAWSCredentialsRequest was null or undefined when calling testAWSAccountCredentials.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts/test-credentials`, method: 'POST', headers: headerParameters, query: queryParameters, body: TestAWSCredentialsRequestToJSON(requestParameters.testAWSCredentialsRequest), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => TestAWSCredentialsResponseFromJSON(jsonValue)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async testAWSAccountCredentials(requestParameters: TestAWSAccountCredentialsRequest, initOverrides?: RequestInit): Promise { const response = await this.testAWSAccountCredentialsRaw(requestParameters, initOverrides); return await response.value(); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async updateAWSAccountRaw(requestParameters: UpdateAWSAccountRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateAWSAccount.'); } if (requestParameters.cloudAccountMiniUpdate === null || requestParameters.cloudAccountMiniUpdate === undefined) { throw new runtime.RequiredError('cloudAccountMiniUpdate','Required parameter requestParameters.cloudAccountMiniUpdate was null or undefined when calling updateAWSAccount.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // Bearer authentication } const response = await this.request({ path: `/api/2/aws-accounts/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'PUT', headers: headerParameters, query: queryParameters, body: CloudAccountMiniUpdateToJSON(requestParameters.cloudAccountMiniUpdate), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CloudAccountMiniFromJSON(jsonValue)); } /** * ### Required permissions * User account permission: `tasks:manage` (read) / `system:admin-access` (write) */ async updateAWSAccount(requestParameters: UpdateAWSAccountRequest, initOverrides?: RequestInit): Promise { const response = await this.updateAWSAccountRaw(requestParameters, initOverrides); return await response.value(); } }