diff --git a/packages/nodes-base/credentials/SolarWindsObservabilityApi.credentials.ts b/packages/nodes-base/credentials/SolarWindsObservabilityApi.credentials.ts new file mode 100644 index 0000000000..0ae029e074 --- /dev/null +++ b/packages/nodes-base/credentials/SolarWindsObservabilityApi.credentials.ts @@ -0,0 +1,72 @@ +import type { + IAuthenticateGeneric, + ICredentialTestRequest, + ICredentialType, + INodeProperties, +} from 'n8n-workflow'; + +export class SolarWindsObservabilityApi implements ICredentialType { + name = 'solarWindsObservabilityApi'; + + displayName = 'SolarWinds Observability'; + + documentationUrl = 'solarwindsobservability'; + + icon = { + light: 'file:icons/SolarWindsObservability.svg', + dark: 'file:icons/SolarWindsObservability.svg', + } as const; + + httpRequestNode = { + name: 'SolarWinds Observability', + docsUrl: + 'https://documentation.solarwinds.com/en/success_center/observability/content/api/api-swagger.htm', + apiBaseUrlPlaceholder: 'https://api.xx-yy.cloud.solarwinds.com/', + }; + + properties: INodeProperties[] = [ + { + displayName: 'URL', + name: 'url', + required: true, + type: 'string', + default: '', + }, + { + displayName: 'API Token', + name: 'apiToken', + required: true, + type: 'string', + typeOptions: { password: true }, + default: '', + }, + ]; + + authenticate: IAuthenticateGeneric = { + type: 'generic', + properties: { + headers: { + Authorization: '=Bearer {{$credentials.apiToken}}', + 'Content-Type': 'application/json-rpc', + }, + }, + }; + + test: ICredentialTestRequest = { + request: { + baseURL: '={{$credentials.url}}'.replace(/\/$/, ''), + url: '/v1/logs', + method: 'GET', + }, + rules: [ + { + type: 'responseSuccessBody', + properties: { + key: 'error', + value: 'invalid_auth', + message: 'Invalid access token', + }, + }, + ], + }; +} diff --git a/packages/nodes-base/credentials/icons/SolarWindsObservability.svg b/packages/nodes-base/credentials/icons/SolarWindsObservability.svg new file mode 100644 index 0000000000..65c383dc33 --- /dev/null +++ b/packages/nodes-base/credentials/icons/SolarWindsObservability.svg @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/nodes-base/package.json b/packages/nodes-base/package.json index e70bac2fc4..e1ceaffe62 100644 --- a/packages/nodes-base/package.json +++ b/packages/nodes-base/package.json @@ -318,6 +318,7 @@ "dist/credentials/Sms77Api.credentials.js", "dist/credentials/Smtp.credentials.js", "dist/credentials/Snowflake.credentials.js", + "dist/credentials/SolarWindsObservabilityApi.credentials.js", "dist/credentials/SplunkApi.credentials.js", "dist/credentials/SpontitApi.credentials.js", "dist/credentials/SpotifyOAuth2Api.credentials.js",