@serverless/platform-sdk
v2.3.2
Published
Serverless Platform SDK
Downloads
162,431
Readme
Platform SDK (deprecated)
Note: This package is deprecated in favor of @serverless/platform-client. It accepts only bug fixes
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': {
//...snip...
}
}
}
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: {
// ...snip...
}
}
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)