Serverless Platform SDK
_Note: This package is deprecated in favor of @serverless/platform-client. It accepts only bug fixes_
Functional SDK for the Serverless Platfrom.




- Installation
- Functions
- login
- refreshToken
- createAccessKey
- archiveService
- getServiceUrl
- listTenants
- createDeployment
- updateDeployment
- getApp
- createApp
```
npm i -s @serverless/platform-sdk
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
`js
const { login } = require('@serverless/platform-sdk')
const { username, accessToken, idToken, expiresAt } = await login()
`
---
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
`js
const { refreshToken } = require('@serverless/platform-sdk')
const { id_token, access_token, expires_in } = await refreshToken('some-refresh-token')
`
---
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
`js
const { createAccessKey } = require('@serverless/platform-sdk')
const data = {
username: 'eahefnawy',
tenant: 'eahefnawy',
idToken: 'abc',
title: 'Framework'
}
const accessKey = await createAccessKey(data)
`
---
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
`js
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)
`
---
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
`js
const { getServiceUrl } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
name: 'my-service'
}
const serviceUrl = getServiceUrl(data)
`
---
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
`js
const { listTenants } = require('@serverless/platform-sdk')
const data = {
username: 'eahefnawy',
idToken: 'abc'
}
const tenants = await listTenants(data)
`
---
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
`js
const { createDeployment } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
serviceName: 'my-service',
accessKey: 'abc',
files: {
'serverless-state.json': {
//...snip...
}
}
}
const { id } = await createDeployment(data)
`
---
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
`js
const { updateDeployment } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
serviceName: 'my-service',
deploymentId: 'abc',
status: 'failed',
accessKey: 'abc',
computedData: {
// ...snip...
}
}
const { id } = await updateDeployment(data)
`
---
Gets a platform app
Parameters
Object
- tenant - string - dashboard tenant nameapp
- - string - app nametoken
- - string - Auth0 id token
Returns
Object - App model
Example
`js
const { getApp } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
token: 'abc'
}
const app = await getApp(data)
`
---
Creates a platform app
Parameters
Object
- tenant - string - dashboard tenant nameapp
- - string - app nametoken
- - string - Auth0 id token
Returns
Object - App model
Example
`js
const { createApp } = require('@serverless/platform-sdk')
const data = {
tenant: 'eahefnawy',
app: 'my-app',
token: 'abc'
}
const app = await createApp(data)
``