Platform SDK
Functional SDK for the Serverless Platfrom.
Project Status
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 idTokenrefreshToken
- string
- Auth0 refreshTokenexpiresAt
- string
- epoch time at which the idToken expires
Example
const { login } = require('@serverless/platform-sdk')
const { username, accessToken, idToken, expiresAt } = await login()
refreshToken
Refreshes Auth0 idToken
Parameters
refresh token string
Returns
Promise resolving to the following object:
id_token
- string
- new Auth0 id tokenaccess_token
- string
- new Auth0 access tokenexpires_in
- string
- number of seconds until token expiration
Example
const { refreshToken } = require('@serverless/platform-sdk')
const { id_token, access_token, expires_in } = await refreshToken('some-refresh-token')
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)
archiveService
Archives a service in the platform.
Parameters
Object
tenant
- string
- dashboard tenantaccessKey
- string
- dashboard access keyapp
- string
- service appname
- string
- service nameprovider
- string
- provider nameregion
- string
- region name
Returns
None
Example
const { archiveService } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
accessKey: 'abc',
app: 'my-app',
name: 'my-service',
provider: 'aws',
region: 'us-east-1'
}
await archiveService(data)
getServiceUrl
Constructs a service url based on passed-in data.
Parameters
Object
tenant
- string
- dashboard tenantapp
- string
- service appname
- string
- service name
Returns
The service url string.
Example
const { getServiceUrl } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
name: 'my-service'
}
const serviceUrl = getServiceUrl(data)
listTenants
Lists the tenants for a given username
Parameters
Object
username
- string
- dashboard usernameidToken
- string
- auth0 user id token
Returns
Array of objects, each represents a single tenant data model.
Example
const { listTenants } = require('@serverless/platform-sdk')
const data = {
username: 'eahefnawy',
idToken: 'abc'
}
const tenants = await listTenants(data)
createDeploymnet
Creates a platform deployment
Parameters
Object
tenant
- string
- dashboard tenant nameapp
- string
- app nameserviceName
- string
- service nameaccessKey
- string
- dashboard access keyfiles
- object
- files which should be stored in the Platforms deployment record
Returns
Object - Deployment model
Example
const { createDeployment } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
serviceName: 'my-service',
accessKey: 'abc',
files: {
'serverless-state.json': {
}
}
}
const { id } = await createDeployment(data)
updateDeployment
Updates a platform deployment
Parameters
Object
tenant
- string
- dashboard tenant nameapp
- string
- app nameserviceName
- string
- service namedeploymentId
- string
- id of the previously created deploymentstatus
- string
- status of the deployment to updateaccessKey
- string
- dashboard access keycomputedData
- object
- computed data the Platform needs to generate the state items
Returns
Object - Deployment model
Example
const { updateDeployment } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
serviceName: 'my-service',
deploymentId: 'abc',
status: 'failed',
accessKey: 'abc',
computedData: {
}
}
const { id } = await updateDeployment(data)
getApp
Gets a platform app
Parameters
Object
tenant
- string
- dashboard tenant nameapp
- string
- app nametoken
- string
- Auth0 id token
Returns
Object - App model
Example
const { getApp } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
token: 'abc'
}
const app = await getApp(data)
createApp
Creates a platform app
Parameters
Object
tenant
- string
- dashboard tenant nameapp
- string
- app nametoken
- string
- Auth0 id token
Returns
Object - App model
Example
const { createApp } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
token: 'abc'
}
const app = await createApp(data)