Security News
Combatting Alert Fatigue by Prioritizing Malicious Intent
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
apigeetool
Advanced tools
This is a tool for deploying API proxies and Node.js applications to the Apigee Edge platform. The tool also lets you list and undeploy API proxies.
apigeetool
is a Node.js module and you can install it using npm:
npm install -g apigeetool
NOTE: The -g
option places the apigeetool command in your PATH. On "*nix"-based machines, sudo
may be required with the -g
option. If you do not use -g
, then you need to add the apigeetool command to your PATH manually. Typically, the -g
option places modules in: /usr/local/lib/node_modules/apigee-127
on *nix-based machines.
You must have an account on Apigee Edge to perform any apigeetool
functions. These functions include:
You need to be familiar with basic concepts and features of Apigee Edge such as API proxies, organizations, and environments.
For more information, refer to the Apigee Edge docs.
Deploys a Node.js app to Apigee Edge as an API proxy. With your Node.js app deployed to Edge, you can take advantage of Edge features like security, quotas, caching, analytics, trace tool, and more.
Deploys a Node.js app to Apigee Edge.
apigeetool deploynodeapp -u sdoe@apigee.com -o sdoe -e test -n 'Test Node App 2' -d . -m app.js -b /node2
Deploys a Node.js app to both the default (HTTP) and secure (HTTPS) virtual hosts.
apigeetool deploynodeapp -u sdoe@apigee.com -o sdoe -e test -n 'Test Node App 2' -d . -m app.js -b /node2 -v default,secure
The following parameters are required. However, if any are left unspecified on the command line, and if apigeetool is running in an interactive shell, then apigeetool will prompt for them.
For example, if you do not specify a password using "-p", apigeetool will prompt for the password on the command line.
--username -u
(required) Your Apigee account username.
--password -p
(required) Your Apigee account password.
--organization -o
(required) The name of the organization to deploy to.
--api -n
(required) The name of the API proxy. The name of the API proxy must be unique within an organization. The characters you are allowed to use in the name are restricted to the following: A-Z0-9._\-$ %
.
--environment -e
(required) The name of the environment to deploy to.
--directory -d
(required) The path to the root directory of the API proxy on your local system.
--main -m
(required) The Node.js file you want to be the main file.
--help -h
(optional) Displays help on this command.
--baseuri -L
(optional) The base URI for you organization on Apigee Edge. The default is the base URI for Apigee cloud deployments is api.enterprise.apigee.com
. For on-premise deployments, the base URL may be different.
--virtualhosts -v
(optional) A comma-separated list of virtual hosts that the deployed app will use. The two most common options are default
and secure
. The default
option is always HTTP and secure
is always HTTPS. By default, apigeetool deploynodeapp
uses only the default
virtual host. Note that on the Apigee Edge cloud platform, all new proxies are assigned two virtual hosts: default
and secure
. If you want your deployed Node.js app to use both HTTP and HTTPS, specify -v default,secure
.
--base-path -b
(optional) The base path of the API proxy. For example, for this API proxy, the base path is /example-proxy
: http://myorg-test.apigee.net/example-proxy/resource1
.
--import-only -i
(optional) Imports the API proxy to Apigee Edge but does not deploy it.
--resolve-modules -R
(optional) If the API proxy includes Node.js modules (e.g., in a node_modules
directory), this option updates them on Apigee Edge without uploading them from your system. Basically, it's like running "npm install" on Apigee Edge in the root directory of the API proxy bundle.
--upload-modules -U
(optional) If specified, uploads Node.js modules from your system to Apigee Edge rather than resolving the modules directly on Apigee Edge. This is the default.
--debug -D
(optional) Prints additional information about the deployment, including router and message processor IDs.
--verbose -V
(optional) Prints additional information as the deployment proceeds.
--json -j
(optional) Formats the command's response as a JSON object.
Deploys an API proxy to Apigee Edge. If the proxy is currently deployed, it will be undeployed first, and the newly deployed proxy's revision number is incremented.
Deploys an API proxy called example-proxy to Apigee Edge. Per the -d
flag, the command is executed in the root directory of the proxy bundle.
apigeetool deployproxy -u sdoe@example.com -o sdoe -e test -n example-proxy -d .
The following parameters are required. However, if any are left unspecified on the command line, and if apigeetool is running in an interactive shell, then apigeetool will prompt for them.
--username -u
(required) Your Apigee account username.
--password -p
(required) Your Apigee account password.
--organization -o
(required) The name of the organization to deploy to.
--api -n
(required) The name of the API proxy. Note: The name of the API proxy must be unique within an organization. The characters you are allowed to use in the name are restricted to the following: A-Z0-9._\-$ %
.
--environment -e
(required) The name of the environment to deploy to.
--directory -d
(required) The path to the root directory of the API proxy on your local system.
--help -h
(optional) Displays help on this command.
--baseuri -L
(optional) The base URL for you organization on Apigee Edge. The default is the base URL for Apigee cloud deployments is api.enterprise.apigee.com
. For on premise deployments, the base URL may be different.
--debug -D
(optional) Prints additional information about the deployment, including router and message processor IDs.
--verbose -V
(optional) Prints additional information as the deployment proceeds.
--json -j
(optional) Formats the command's response as a JSON object.
--base-path -b
(optional) The base path of the API proxy. For example, for this API proxy, the base path is /example-proxy: http://myorg-test.apigee.net/example-proxy/resource1.
--import-only -i
(optional) Imports the API proxy to Apigee Edge but does not deploy it.
--resolve-modules -R
(optional) If the API proxy includes Node.js modules (e.g., in a node_modules
directory), this option updates them on Apigee Edge without uploading them from your system. Basically, it's like running npm on Apigee Edge in the root directory of the API proxy bundle.
--upload-modules -U
(optional) If specified, uploads Node.js modules from your system to Apigee Edge.
Undeploys a named API proxy or Node.js app deployed on Apigee Edge.
Undeploy the proxy named "example-proxy".
apigeetool undeploy -u sdoe@example.com -o sdoe -n example-proxy -e test -D
The following parameters are required. However, if any are left unspecified on the command line, and if apigeetool is running in an interactive shell, then apigeetool will prompt for them.
--username -u
(required) Your Apigee account username.
--password -p
(required) Your Apigee account password.
--api -n
(required) The name of the API proxy or app to undeploy.
--environment -e
(required) The environment on Apigee Edge where the API proxy or app is currently deployed.
--organization -o
(required) The name of the organization where the API proxy or app is deployed.
--help -h
(optional) Displays help on this command.
--baseuri -L
(optional) The base URL for you organization on Apigee Edge. The default is the base URL for Apigee cloud deployments is api.enterprise.apigee.com
. For on premise deployments, the base URL may be different.
--debug -D
(optional) Prints additional information about the undeployment, including router and message processor IDs.
--verbose -V
(optional) Prints additional information as the undeploy proceeds.
--json -j
(optional) Returns results in JSON format.
--revision -r
(optional) Specify the revision number of the API proxy to undeploy.
Lists the API proxies deployed on Apigee Edge for the specified organization. Lets you filter the result by API proxy name or environment.
List all API proxies in an organization:
$ apigeetool listdeployments -u sdoe@example.com -o sdoe -e test`
List API proxies named "example-proxy":
$ apigeetool listdeployments -u sdoe@example.com -o sdoe -n example-proxy
The following parameters are required. However, if any are left unspecified on the command line, and if apigeetool is running in an interactive shell, then apigeetool will prompt for them.
--username -u
(required) Your Apigee account username.
--password -p
(required) Your Apigee account password.
--organization -o
(required) The name of the organization you wish to query.
--api -n
(You must specify either api
or environment
in this command) The name of the API proxy to list.
--environment -e
(You must specify either api
or environment
in this command) The environment for which you want to list deployments. When -e
is specified, the command lists all deployed proxies in the environment.
--long -l
(optional) Returns additional information about the API proxy or Node.js app,
including the URL to use as the base path for each one.
--baseuri -L
(optional) The base URL for you organization on Apigee Edge. The default is the base URL for Apigee cloud deployments is api.enterprise.apigee.com
. For on premise deployments, the base URL may be different.
--debug -D
(optional) Returns additional information about the API proxy deployments including router and message processor IDs.
--verbose -V
(optional) Prints additional information about the operation.
--json -j
(optional) Returns the result in JSON format.
--revision -r
(optional) Filters the list by the specified revision number.
Fetches a deployed API proxy or Node.js application from Apigee Edge. The result will be a ZIP file that contains the contents of the entire proxy.
Regardless of whether "deployproxy" or "deploynodeapp" is used to deploy the proxy or app, the result of "fetchproxy" will always be a ZIP file that represents an API proxy. The resulting proxy may be "unzipped" and re-deployed using "deployproxy."
Fetch the deployed proxy named "example-proxy".
apigeetool fetchproxy -u sdoe@example.com -o sdoe -n example-proxy -r 1
The following parameters are required. However, if any are left unspecified on the command line, and if apigeetool is running in an interactive shell, then apigeetool will prompt for them.
--username -u
(required) Your Apigee account username.
--password -p
(required) Your Apigee account password.
--api -n
(required) The name of the API proxy or app to undeploy.
--revision -r
(optional) Specifies the revision to retrieve.
--organization -o
(required) The name of the organization where the API proxy or app is deployed.
--file -f
(optional) The name of the file to write as the result. If not specified,
then the file name will be the same as the name passed to the "name"
parameter.
--help -h
(optional) Displays help on this command.
--baseuri -L
(optional) The base URL for you organization on Apigee Edge. The default is the base URL for Apigee cloud deployments is api.enterprise.apigee.com
. For on premise deployments, the base URL may be different.
--debug -D
(optional) Prints additional information about the command, including router and message processor IDs.
--verbose -V
(optional) Prints additional information as the command proceeds.
--json -j
(optional) Returns results in JSON format.
Retrieve the last set of log records from a Node.js application deployed to Apigee Edge.
The resulting log files will be written directly to standard output. Each is prefixed with:
Since Apigee Edge, by default, deploys each Node.js application on at least two different servers, most applications will see at least two sets of logs. These are sorted in time stamp order.
The log records from this command come from a cache inside Apigee Edge that retains the last 500 lines of log output from each server. The cache is a circular buffer, so older messages will be discarded when it fills up.
By default, the last set of log records will be pulled and written to standard output. However, if the "-f" option is used, then "apigeetool" will poll Edge for new log records and append them to standard output, in the manner of "tail -f". (By default, the tool polls every five seconds).
For example, a set of log records might look like this:
[2014-11-05T01:30:01.530Z nodejs/stderr svr.362] *** Starting script [2014-11-05T01:30:09.182Z nodejs/stderr svr.362] 2014-11-05T01:30:09.181Z - debug: 1/4. this is a debug log [2014-11-05T01:30:09.186Z nodejs/stdout svr.362] 2014-11-05T01:30:09.186Z - info: 2/4. this is an info log [2014-11-05T01:30:09.187Z nodejs/stdout svr.362] 2014-11-05T01:30:09.187Z - warn: 3/4. this is a warning log [2014-11-05T01:30:09.188Z nodejs/stderr svr.362] 2014-11-05T01:30:09.188Z - error: 4/4. this is an error log [2014-11-05T01:48:21.419Z nodejs/stderr svr.828] *** Starting script [2014-11-05T01:48:28.637Z nodejs/stderr svr.828] js-bson: Failed to load c++ bson extension, using pure JS version [2014-11-05T01:48:29.801Z nodejs/stderr svr.828] 2014-11-05T01:48:29.800Z - debug: 1/4. this is a debug log [2014-11-05T01:48:29.804Z nodejs/stdout svr.828] 2014-11-05T01:48:29.804Z - info: 2/4. this is an info log [2014-11-05T01:48:29.805Z nodejs/stdout svr.828] 2014-11-05T01:48:29.805Z - warn: 3/4. this is a warning log [2014-11-05T01:48:29.806Z nodejs/stderr svr.828] 2014-11-05T01:48:29.806Z - error: 4/4. this is an error log
The following parameters are required. However, if any are left unspecified on the command line, and if apigeetool is running in an interactive shell, then apigeetool will prompt for them.
--username -u
(required) Your Apigee account username.
--password -p
(required) Your Apigee account password.
--api -n
(required) The name of the deployed app to get logs from.
--environment -e
(required) The environment on Apigee Edge where the app is currently deployed.
--organization -o
(required) The name of the organization to deploy to.
--streaming -f
(optional) If specified, do not exit, but instead poll Apigee Edge for new log
records and write them to standard output in the manner of "tail -f."
--timezone -z
(optional) If specified, use the time zone to format the timestamps on the
log records. If not specified, then the default is UTC. The timestamp name
should be a name such as "PST."
This module replaces the original "apigeetool," which was written in Python. It is also called "apigeetool" and resides here:
FAQs
A CLI for Apigee Edge
The npm package apigeetool receives a total of 0 weekly downloads. As such, apigeetool popularity was classified as not popular.
We found that apigeetool demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.