Platform SDK
Functional SDK for the Serverless Platfrom.
Contents
installation
npm i -s @serverless/platform-sdk
Functions
login
Opens a browser for the user to login, along with a running server awaiting auth data once the user logs in.
Parameters
None
Returns
Promise resolving to the following object:
username
- string
- dashboard usernameaccessToken
- string
- Auth0 access tokenidToken
- string
- Auth0 idTokenexpiresAt
- string
- epoch time at which the idToken expires
Example
const { login } = require('@serverless/platform-sdk')
const { username, accessToken, idToken, expiresAt } = await login()
createAccessKey
Creates a platform access key for the authenticated user.
Parameters
Object
username
- string
- dashboard usernametenant
- string
- dashboard tenantidToken
- string
- Auth0 idTokentitle
- string
- title of the access key
Returns
Promise resolving to an accessKey
string, that is the access key.
Example
const { createAccessKey } = require('@serverless/platform-sdk')
const data = {
username: 'eahefnawy',
tenant: 'eahefnawy',
idToken: 'abc',
title: 'Framework'
}
const accessKey = await createAccessKey(data)
publishService
Publishes a service to the platform.
Parameters
Object
tenant
- string
- dashboard tenantaccessKey
- string
- dashboard access keyapp
- string
- service appservice
- object
- service object
name
- string
- service namestage
- string
- service stage- ...any other service meta data
functions
- array
- list of functions to publish. Each array item is an object
with the following structure:
functionId
- string
- unique function identifierdetails
- object
- function details datapackage
- object
- package details data
subscriptions
- array
- list of functions to publish. Each array item is an object
with the following structure:
functionId
- string
- unique function identifier this subscription belongs tosubscriptionId
- string
- unique subscription identifiertype
- string
- type of subscription (ie. aws.s3.objectCreated
or user.created
)event
- object
- event data
Returns
Promise resolving to a serviceUrl
string that is the service url.
Example
const { publishService } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
accessKey: 'abc',
app: 'my-app',
service: {
name: 'my-service',
},
functions: [{
functionId: 'abc',
memory: 512
...
}],
subscriptions: [{
functionId: 'abc',
subscriptionId: 'abc',
type: 'aws.apigateway.http',
event: {
path: 'users',
method: 'get',
...
}
}]
}
const serviceUrl = await publishService(data)
archiveService
Archives a service in the platform.
Parameters
Object
tenant
- string
- dashboard tenantaccessKey
- string
- dashboard access keyapp
- string
- service appname
- string
- service name
Returns
None
Example
const { archiveService } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
accessKey: 'abc',
app: 'my-app',
name: 'my-service'
}
await archiveService(data)