Skip to content

A client for interacting with the Alert Logic Environments Public API.

License

Notifications You must be signed in to change notification settings

parky128/environments-client

Repository files navigation

@al/environments

A client for interacting with the Alert Logic Environments Public API.

This library uses @al/client as its HTTP provider interface.

Disclaimer

Until the release of version 1.0.0 all current minor version increments may be backwards incompatible. Please bear this in mind when developing against this library. Should you have any further questions, please do not hesitate to contact us as [email protected]

Installation

  npm install @al/environments --save

Usage

  var EnvironmentsClient = require('@al/environments').EnvironmentsClient //commonjs - e.g. node
  import { EnvironmentsClient } from '@al/environments'; //ES2015 - e.g. Angular, TS projects

Add Environment

  EnvironmentsClient.addEnvironment(accountId, environment)
    accountId: '1234',
    environment: '{"type":"aws", "type_id": "123456789012", "defender_support":true, "defender_location_id":"defender-us-denver", "discover":true, "scan":false}'

Delete Environment

  EnvironmentsClient.deleteEnvironment(accountId, environmentId)
    accountId: '1234',
    environmentId: 'UUID-GOES-HERE'

Get Environment

  EnvironmentsClient.getEnvironment(accountId, environmentId, queryParams)
    accountId: '1234',
    environmentId: 'UUID-GOES-HERE',
    queryParams: {
      type: 'aws',
      type_id: ,
      defender_support: true|false,
      discover: true|false,
      scan: true|false,
      mode: 'automatic|guided|readonly|none',
      deleted_since: ,
    }

Get accounts with environments

  EnvironmentsClient.getAccounts(accountId)
    accountId: '1234'
    queryParams: {
      type: 'aws',
      type_id: ,
      defender_support: true|false,
      discover: true|false,
      scan: true|false,
      mode: 'automatic|guided|readonly|none',
      deleted_since: ,
    }

Get Environments

  EnvironmentsClient.getEnvironments(accountId, queryParams)
    accountId: '1234'
    queryParams: {
      type: 'aws',
      type_id: ,
      defender_support: true|false,
      discover: true|false,
      scan: true|false,
      mode: 'automatic|guided|readonly|none',
      deleted_since: ,
    }

Update Environment

  EnvironmentsClient.updateEnvironment(accountId, environmentId, environment)
    accountId: '1234',
    environmentId: 'UUID-GOES-HERE',
    environment: '{"name":"environment5", "credential_id": "77C12B2C-8340-4AFD-AB25-4D0581443A5E", "scope": { "include": [{"type": "vpc", "key": "/aws/us-east-1/vpc/vpc-1234"}], "exclude": [{"type": "subnet","key": "/aws/us-east-1/subnet/subnet-35f42c6c"}]}, "enabled":true}'

Update Environment Status

  EnvironmentsClient.updateEnvironmentStatus(accountId, environmentId, status)
    accountId: '1234',
    environmentId: 'UUID-GOES-HERE',
    status: '{"status":"ok", "timestamp": 1471277293, "details":"status is ok now"}'

Interactive

Loads the library into memory and stays in an interactive node shell.

  npm run interactive

NOTE - You must build the sources before running this command, see Building section below

Tests

  npm test

Contributing

The sources are written in Typescript and follow the tslint airbnb style.

Building

To generate a production build

npm run build

To generate a development build

npm run build-dev

Builds will be be generated into a dist folder and will contain commonjs and umd bundles that will be consumed depending on the module system in whichever environment you are using.

About

A client for interacting with the Alert Logic Environments Public API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published