3scale toolbox
3scale toolbox is a set of tools to help you manage your 3scale product. Using the 3scale API Ruby Client.
Table of contents
Installation
Install the CLI:
$ gem install 3scale_toolbox
Usage
$ 3scale help
NAME
3scale - 3scale CLI Toolbox
USAGE
3scale <command> [options]
DESCRIPTION
3scale CLI tools to manage your API from the terminal.
COMMANDS
copy 3scale copy command
help show help
import 3scale import command
update 3scale update command
OPTIONS
-k --insecure Proceed and operate even for server connections
otherwise considered insecure
-v --version Prints the version of this command
Copy a service
Will create a new services, copy existing proxy settings, metrics, methods, application plans and mapping rules.
Help message:
$ 3scale copy service --help
NAME
service - Copy service
USAGE
3scale copy service [opts] -s <src> -d <dst>
<service_id>
DESCRIPTION
Will create a new services, copy existing proxy settings, metrics,
methods, application plans and mapping rules.
OPTIONS
-d --destination=<value> 3scale target instance. Format:
"http[s]://<provider_key>@3scale_url"
-s --source=<value> 3scale source instance. Format:
"http[s]://<provider_key>@3scale_url"
-t --target_system_name=<value> Target system name
OPTIONS FOR COPY
-h --help show help for this command
-k --insecure Proceed and operate even for server
connections otherwise considered
insecure
-v --version Prints the version of this command
3scale copy service NUMBER --source=https://[email protected] --destination=https://[email protected]
Update a service
Will update existing service, update proxy settings, metrics, methods, application plans and mapping rules.
Help message:
NAME
service - Update service
USAGE
3scale update service [opts] -s <src> -d <dst>
<src_service_id> <dst_service_id>
DESCRIPTION
Will update existing service, update proxy settings, metrics, methods,
application plans and mapping rules.
OPTIONS
-d --destination=<value> 3scale target instance. Format:
"http[s]://<provider_key>@3scale_url"
-f --force Overwrites the mapping rules by deleting
all rules from target service first
-r --rules-only Updates only the mapping rules
-s --source=<value> 3scale source instance. Format:
"http[s]://<provider_key>@3scale_url"
OPTIONS FOR UPDATE
-h --help show help for this command
-k --insecure Proceed and operate even for server
connections otherwise considered insecure
-v --version Prints the version of this command
Example:
$ 3scale update service -s https://[email protected] -d https://[email protected] 3 2
Import from CSV
Will create new services, metrics, methods, and mapping rules having as source comma separated values (CSV) formatted file.
CSV header
service_name,endpoint_name,endpoint_http_method,endpoint_path,auth_mode,endpoint_system_name,type
File example
service_name,endpoint_name,endpoint_http_method,endpoint_path,auth_mode,endpoint_system_name,type
Movies ,Movies (Biography),GET,/movies/biography/,api_key,movies_biography,metric
Movies ,Movies (Drama),GET,/movies/drama/,api_key,movies_drama,method
Help message:
$ 3scale import csv -h
NAME
csv - Import csv file
USAGE
3scale import csv [opts] -d <dst> -f <file>
DESCRIPTION
Create new services, metrics, methods and mapping rules from CSV
formatted file
OPTIONS
-d --destination=<value> 3scale target instance. Format:
"http[s]://<provider_key>@3scale_url"
-f --file=<value> CSV formatted file
OPTIONS FOR IMPORT
-h --help show help for this command
-k --insecure Proceed and operate even for server
connections otherwise considered insecure
-v --version Prints the version of this command
Example:
3scale import csv --destination=https://[email protected] --file=examples/import_example.csv
Development
After checking out the repo, run bin/setup
to install dependencies. You can also run bin/console
for an interactive prompt that will allow you to experiment. Run bundle exec 3scale
to use the gem in this directory, ignoring other installed copies of this gem.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Plugins
As of 3scale Toolbox 0.5.0, 3scale Toolbox will load plugins installed in gems or $LOAD_PATH. Plugins are discovered via Gem::find_files then loaded. Install, uninstall and update plugins using tools like RubyGems and/or Bundler.
Troubleshooting
- SSL errors: If you run into SSL issues with the toolbox, you can take actions to resolve them.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/3scale/3scale_toolbox.