@twilio-labs/plugin-assets

Easily upload assets to a Twilio Assets service

Usage no npm install needed!

<script type="module">
  import twilioLabsPluginAssets from 'https://cdn.skypack.dev/@twilio-labs/plugin-assets';
</script>

README

@twilio-labs/plugin-assets

Plugin for the Twilio CLI to easily upload assets to a Twilio Assets service. Part of the Serverless Toolkit

npm (scoped) npm GitHub Code of Conduct PRs Welcome


This plugin adds functionality to the Twilio CLI to upload and manage assets to a Twilio Assets service. It's a part of the Serverless Toolkit and uses the Serverless API.

The plugin creates a new Runtime Service which it then uses as a bucket to which it upload assets. You can upload new files or list your available assets.

For more information see the blog post announcing the the Assets Plugin and an example of how to upload audio files for your Studio IVR with the Assets Plugin.

Important: This version requires Twilio CLI version 3.0 or newer. For Twilio CLI version 2.x you have to use plugin-assets version 1.2.6.

Requirements

Install the Twilio CLI

Via npm or yarn:

$ npm install -g twilio-cli
$ yarn global add twilio-cli

Via homebrew:

$ brew tap twilio/brew && brew install twilio

Usage

$ twilio plugins:install @twilio-labs/plugin-assets
$ twilio --help assets
USAGE
  $ twilio assets
...

Commands

twilio assets:init

Create a new assets service to use as a bucket

USAGE
  $ twilio assets:init

OPTIONS
  -l=(debug|info|warn|error|none)  [default: info] Level of logging messages.
  -o=(columns|json|tsv|none)       [default: columns] Format of command output.
  -p, --profile=profile            Shorthand identifier for your profile.

  --properties=properties          [default: service_sid, sid, domain_name] The asset service environment properties you
                                   would like to display (JSON output always shows all properties).

  --service-name=service-name      A unique name for your asset service. May only contain alphanumeric characters and
                                   hyphens.

  --silent                         Suppress output and logs. This is a shorthand for "-l none -o none".

See code: src/commands/assets/init.js

twilio assets:list

List all the assets in the service

USAGE
  $ twilio assets:list

OPTIONS
  -l=(debug|info|warn|error|none)  [default: info] Level of logging messages.
  -o=(columns|json|tsv|none)       [default: columns] Format of command output.
  -p, --profile=profile            Shorthand identifier for your profile.

  --properties=properties          [default: sid, path, url, visibility] The asset properties you would like to display
                                   (JSON output always shows all properties).

  --silent                         Suppress output and logs. This is a shorthand for "-l none -o none".

See code: src/commands/assets/list.js

twilio assets:upload FILE

Upload a new asset to the Assets service

USAGE
  $ twilio assets:upload FILE

ARGUMENTS
  FILE  The path to the file you want to upload

OPTIONS
  -l=(debug|info|warn|error|none)  [default: info] Level of logging messages.
  -o=(columns|json|tsv|none)       [default: columns] Format of command output.
  -p, --profile=profile            Shorthand identifier for your profile.

  --properties=properties          [default: sid, path, url, visibility] The asset properties you would like to display
                                   (JSON output always shows all properties).

  --protected                      Sets the uploaded asset's visibility to 'protected'

  --silent                         Suppress output and logs. This is a shorthand for "-l none -o none".

See code: src/commands/assets/upload.js

Contributing

This project welcomes contributions from the community. Please see the CONTRIBUTING.md file for more details.

Code of Conduct

Please be aware that this project has a Code of Conduct. The tldr; is to just be excellent to each other ❤️

License

MIT