
aio-cli-plugin-cloudmanager
Cloud Manager Plugin for the Adobe I/O CLI
Requirements
Installation
$ aio plugins:install @adobe/aio-cli-plugin-cloudmanager
Updating
$ aio plugins:update
Configuration
Authentication
At minimum, an integration must be created in the Adobe I/O Console which has the Cloud Manager service. You may also add other services to this integration
if you want to use other Adobe I/O CLI plugins. For example, to use the Console Plugin, your integration needs to have the "I/O Management API" service.
After you've created the integration, create a config.json
file on your computer and navigate to the integration Overview page. From this page, copy the values into the file as described below.
//config.json
{
"client_id": "value from your CLI integration (String)",
"client_secret": "value from your CLI integration (String)",
"technical_account_id": "value from your CLI integration (String)",
"technical_account_email": "value from your CLI integration (String)",
"ims_org_id": "value from your CLI integration (String)",
"meta_scopes": [
"ent_cloudmgr_sdk"
]
}
The last bit you need to have at hand is the private certificate you've used to create the integration; you need the private key, not the public one. Now, you are ready to configure the aio
CLI.
First, configure the credentials:
aio config:set ims.contexts.aio-cli-plugin-cloudmanager PATH_TO_CONFIG_JSON_FILE --file --json
Then, configure the private certificate:
aio config:set ims.contexts.aio-cli-plugin-cloudmanager.private_key PATH_TO_PRIVATE_KEY_FILE --file
More information on setting up a Cloud Manager integration in the Adobe I/O console can be found here.
More information on IMS contexts can be found in the documentation of @adobe/aio-lib-ims.
Old Configuration Migration
Previous versions of this plugin used the configuration key jwt-auth
. Upon execution, the plugin will automatically migrate these configurations. It will not delete the old configuration however and you may want to run
aio config:del jwt-auth
To clean up any dangling configuration unless it is necessary for other aio plugins.
This migration process is silent by default. You can enable debug logging by running any command where the environment variable LOG_LEVEL
is set to debug
, e.g.
LOG_LEVEL=debug aio cloudmanager:list-programs
Set Default Program
If you want to avoid passing the program ID flag repeatedly, you can configure it using:
$ aio config:set cloudmanager_programid PROGRAMID
For example
$ aio config:set cloudmanager_programid 4
Set Default Environment
If you want to avoid passing the environment ID argument repeatedly, you can configure it using:
$ aio config:set cloudmanager_environmentid ENVIRONMENTID
For example
$ aio config:set cloudmanager_environmentid 7
This only works for commands where the environmentId is the first argument.
Commands
aio cloudmanager:current-execution:advance PIPELINEID
advance current pipeline execution either by overriding a waiting quality gate or advancing the approval step
USAGE
$ aio cloudmanager:current-execution:advance PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:advance-current-execution
See code: src/commands/cloudmanager/current-execution/advance.js
aio cloudmanager:current-execution:cancel PIPELINEID
cancel current pipeline execution either by cancelling the current step, rejecting a waiting quality gate, or rejecting the approval step
USAGE
$ aio cloudmanager:current-execution:cancel PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:cancel-current-execution
See code: src/commands/cloudmanager/current-execution/cancel.js
aio cloudmanager:current-execution:get PIPELINEID
get pipeline execution
USAGE
$ aio cloudmanager:current-execution:get PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:get-current-execution
See code: src/commands/cloudmanager/current-execution/get.js
aio cloudmanager:environment:bind-ip-allowlist ENVIRONMENTID IPALLOWLISTID SERVICE
Bind an IP Allowlist to an environment
USAGE
$ aio cloudmanager:environment:bind-ip-allowlist ENVIRONMENTID IPALLOWLISTID SERVICE
ARGUMENTS
ENVIRONMENTID the environment id
IPALLOWLISTID the IP allowlist id
SERVICE (author|publish) the service name
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/environment/bind-ip-allowlist.js
aio cloudmanager:environment:delete ENVIRONMENTID
delete environment
USAGE
$ aio cloudmanager:environment:delete ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:delete-environment
See code: src/commands/cloudmanager/environment/delete.js
aio cloudmanager:environment:download-logs ENVIRONMENTID SERVICE NAME [DAYS]
downloads log files for the specified environment, service and log name for one or more days
USAGE
$ aio cloudmanager:environment:download-logs ENVIRONMENTID SERVICE NAME [DAYS]
ARGUMENTS
ENVIRONMENTID the environment id
SERVICE the service
NAME the log name
DAYS [default: 1] the number of days
OPTIONS
-o, --outputDirectory=outputDirectory the output directory. If not set, defaults to the current directory.
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config
value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:download-logs
See code: src/commands/cloudmanager/environment/download-logs.js
aio cloudmanager:environment:list-available-log-options ENVIRONMENTID
lists available log options for an environment in a Cloud Manager program
USAGE
$ aio cloudmanager:environment:list-available-log-options ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:list-available-log-options
See code: src/commands/cloudmanager/environment/list-available-log-options.js
aio cloudmanager:environment:list-ip-allowlist-bindings ENVIRONMENTID
lists IP Allowlists bound to an environment
USAGE
$ aio cloudmanager:environment:list-ip-allowlist-bindings ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:environment:list-bound-ip-allowlists
See code: src/commands/cloudmanager/environment/list-ip-allowlist-bindings.js
aio cloudmanager:environment:list-variables ENVIRONMENTID
lists variables set on an environment
USAGE
$ aio cloudmanager:environment:list-variables ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:list-environment-variables
See code: src/commands/cloudmanager/environment/list-variables.js
aio cloudmanager:environment:open-developer-console ENVIRONMENTID
opens the Developer Console, if available, in a browser
USAGE
$ aio cloudmanager:environment:open-developer-console ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:open-developer-console
See code: src/commands/cloudmanager/environment/open-developer-console.js
aio cloudmanager:environment:set-variables ENVIRONMENTID
sets variables set on an environment. These are runtime variables available to components running inside the runtime environment. Use set-pipeline-variables to set build-time variables on a pipeline.
USAGE
$ aio cloudmanager:environment:set-variables ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-d, --delete=delete variables/secrets to delete
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-s, --secret=secret secret values in KEY VALUE format
-v, --variable=variable variable values in KEY VALUE format
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
--jsonFile=jsonFile if set, read variables from a JSON array provided as a file; variables set through
--variable or --secret flag will take precedence
--jsonStdin if set, read variables from a JSON array provided as standard input; variables set
through --variable or --secret flag will take precedence
ALIASES
$ aio cloudmanager:set-environment-variables
See code: src/commands/cloudmanager/environment/set-variables.js
aio cloudmanager:environment:tail-log ENVIRONMENTID SERVICE NAME
outputs a stream of log data for the specified environment, service and log name
USAGE
$ aio cloudmanager:environment:tail-log ENVIRONMENTID SERVICE NAME
ARGUMENTS
ENVIRONMENTID the environment id
SERVICE the service
NAME the log name
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:tail-logs
$ aio cloudmanager:tail-log
See code: src/commands/cloudmanager/environment/tail-log.js
aio cloudmanager:environment:unbind-ip-allowlist ENVIRONMENTID IPALLOWLISTID SERVICE
Bind an IP Allowlist to an environment
USAGE
$ aio cloudmanager:environment:unbind-ip-allowlist ENVIRONMENTID IPALLOWLISTID SERVICE
ARGUMENTS
ENVIRONMENTID the environment id
IPALLOWLISTID the IP allowlist id
SERVICE (author|publish) the service name
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/environment/unbind-ip-allowlist.js
aio cloudmanager:execution:get-quality-gate-results PIPELINEID EXECUTIONID ACTION
get quality gate results
USAGE
$ aio cloudmanager:execution:get-quality-gate-results PIPELINEID EXECUTIONID ACTION
ARGUMENTS
PIPELINEID the pipeline id
EXECUTIONID the execution id
ACTION (codeQuality|security|performance|contentAudit|experienceAudit) the step action
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:get-quality-gate-results
See code: src/commands/cloudmanager/execution/get-quality-gate-results.js
aio cloudmanager:execution:get-step-details PIPELINEID EXECUTIONID
get execution step details
USAGE
$ aio cloudmanager:execution:get-step-details PIPELINEID EXECUTIONID
ARGUMENTS
PIPELINEID the pipeline id
EXECUTIONID the execution id
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:get-execution-step-details
See code: src/commands/cloudmanager/execution/get-step-details.js
aio cloudmanager:execution:get-step-log PIPELINEID EXECUTIONID ACTION
get step log
USAGE
$ aio cloudmanager:execution:get-step-log PIPELINEID EXECUTIONID ACTION
ARGUMENTS
PIPELINEID the pipeline id
EXECUTIONID the execution id
ACTION (build|codeQuality|devDeploy|stageDeploy|prodDeploy|buildImage) the step action
OPTIONS
-f, --file=file the alternative log file name. currently only `sonarLogFile` is available (for the
codeQuality step)
-o, --output=output the output file. If not set, uses standard output.
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:get-execution-step-log
See code: src/commands/cloudmanager/execution/get-step-log.js
aio cloudmanager:ip-allowlist:bind IPALLOWLISTID ENVIRONMENTID SERVICE
Bind an IP Allowlist to an environment
USAGE
$ aio cloudmanager:ip-allowlist:bind IPALLOWLISTID ENVIRONMENTID SERVICE
ARGUMENTS
IPALLOWLISTID the IP allowlist id
ENVIRONMENTID the environment id
SERVICE (author|publish) the service name
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/ip-allowlist/bind.js
aio cloudmanager:ip-allowlist:create NAME
Create an IP Allowlist
USAGE
$ aio cloudmanager:ip-allowlist:create NAME
ARGUMENTS
NAME the name to create
OPTIONS
-c, --cidr=cidr (required) a CIDR block
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/ip-allowlist/create.js
aio cloudmanager:ip-allowlist:delete IPALLOWLISTID
Delete an IP Allowlist
USAGE
$ aio cloudmanager:ip-allowlist:delete IPALLOWLISTID
ARGUMENTS
IPALLOWLISTID the id of the allowlist to delete
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/ip-allowlist/delete.js
aio cloudmanager:ip-allowlist:get-binding-details IPALLOWLISTID
list detailed information on IP Allowlist Bindings
USAGE
$ aio cloudmanager:ip-allowlist:get-binding-details IPALLOWLISTID
ARGUMENTS
IPALLOWLISTID the id of the allowlist
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/ip-allowlist/get-binding-details.js
aio cloudmanager:ip-allowlist:unbind IPALLOWLISTID ENVIRONMENTID SERVICE
Remove an IP Allowlist binding
USAGE
$ aio cloudmanager:ip-allowlist:unbind IPALLOWLISTID ENVIRONMENTID SERVICE
ARGUMENTS
IPALLOWLISTID the IP allowlist id
ENVIRONMENTID the environment id
SERVICE (author|publish) the service name
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/ip-allowlist/unbind.js
aio cloudmanager:ip-allowlist:update IPALLOWLISTID
Update an IP Allowlist by replacing the CIDR blocks
USAGE
$ aio cloudmanager:ip-allowlist:update IPALLOWLISTID
ARGUMENTS
IPALLOWLISTID the id of the allowlist to update
OPTIONS
-c, --cidr=cidr (required) a CIDR block
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/ip-allowlist/update.js
aio cloudmanager:list-programs
lists programs available in Cloud Manager
USAGE
$ aio cloudmanager:list-programs
OPTIONS
-e, --enabledonly only output Cloud Manager-enabled programs
-j, --json output in json format
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/list-programs.js
aio cloudmanager:pipeline:create-execution PIPELINEID
start pipeline execution
USAGE
$ aio cloudmanager:pipeline:create-execution PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:create-execution
$ aio cloudmanager:start-execution
See code: src/commands/cloudmanager/pipeline/create-execution.js
aio cloudmanager:pipeline:delete PIPELINEID
delete pipeline
USAGE
$ aio cloudmanager:pipeline:delete PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:delete-pipeline
See code: src/commands/cloudmanager/pipeline/delete.js
aio cloudmanager:pipeline:list-executions PIPELINEID
list pipeline executions
USAGE
$ aio cloudmanager:pipeline:list-executions PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-j, --json output in json format
-l, --limit=limit Specify number of executions to return (defaults to 20)
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/pipeline/list-executions.js
aio cloudmanager:pipeline:list-variables PIPELINEID
lists variables set on an pipeline
USAGE
$ aio cloudmanager:pipeline:list-variables PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:list-pipeline-variables
See code: src/commands/cloudmanager/pipeline/list-variables.js
aio cloudmanager:pipeline:set-variables PIPELINEID
sets variables set on a pipeline. These are build-time variables available during the build process. Use set-environment-variables to set runtime variables on a environment.
USAGE
$ aio cloudmanager:pipeline:set-variables PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-d, --delete=delete variables/secrets to delete
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-s, --secret=secret secret values in KEY VALUE format
-v, --variable=variable variable values in KEY VALUE format
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
--jsonFile=jsonFile if set, read variables from a JSON array provided as a file; variables set through
--variable or --secret flag will take precedence
--jsonStdin if set, read variables from a JSON array provided as standard input; variables set
through --variable or --secret flag will take precedence
ALIASES
$ aio cloudmanager:set-pipeline-variables
See code: src/commands/cloudmanager/pipeline/set-variables.js
aio cloudmanager:pipeline:update PIPELINEID
update pipeline
USAGE
$ aio cloudmanager:pipeline:update PIPELINEID
ARGUMENTS
PIPELINEID the pipeline id
OPTIONS
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
--branch=branch the new branch
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
--repositoryId=repositoryId the new repositoryId
--tag=tag the new tag
ALIASES
$ aio cloudmanager:update-pipeline
See code: src/commands/cloudmanager/pipeline/update.js
aio cloudmanager:program:delete PROGRAMID
delete program
USAGE
$ aio cloudmanager:program:delete PROGRAMID
ARGUMENTS
PROGRAMID the program id
OPTIONS
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:delete-program
See code: src/commands/cloudmanager/program/delete.js
aio cloudmanager:program:list-current-executions
list running pipeline executions
USAGE
$ aio cloudmanager:program:list-current-executions
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:list-current-executions
See code: src/commands/cloudmanager/program/list-current-executions.js
aio cloudmanager:program:list-environments
lists environments available in a Cloud Manager program
USAGE
$ aio cloudmanager:program:list-environments
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:list-environments
See code: src/commands/cloudmanager/program/list-environments.js
aio cloudmanager:program:list-ip-allowlists
lists IP Allowlists available in a Cloud Manager program
USAGE
$ aio cloudmanager:program:list-ip-allowlists
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/program/list-ip-allowlists.js
aio cloudmanager:program:list-pipelines
lists pipelines available in a Cloud Manager program
USAGE
$ aio cloudmanager:program:list-pipelines
OPTIONS
-j, --json output in json format
-p, --programId=programId the programId. if not specified, defaults to 'cloudmanager_programid' config value
-y, --yaml output in yaml format
--imsContextName=imsContextName the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
ALIASES
$ aio cloudmanager:list-pipelines
See code: src/commands/cloudmanager/program/list-pipelines.js
Variables From Standard Input
The environment:set-variables
and pipeline:set-variables
commands allow for variables to be passed both as flags to the command and as a JSON array provided as standard input or as a file. The objects in this array are expected to have a name
, value
, and type
keys following the same syntax as the Cloud Manager API. Deleting a variable can be done by passing an empty value
. For example, given a file named variables.json
that contains this:
[
{
"name" : "MY_VARIABLE",
"value" : "something",
"type" : "string"
},
{
"name" : "MY_SECRET_VARIABLE",
"value" : "shhhh",
"type" : "secretString"
}
]
This can be passed to the pipeline:set-variables
command using a shell command of
$ cat variables.json | aio cloudmanager:pipeline:set-variables 1 --jsonStdin
Or
$ aio cloudmanager:pipeline:set-variables 1 --jsonFile=variables.json
Alternative Flag Inputs
Adobe I/O CLI is based on oclif which supports a variety of patterns for passing flags to commands. See oclif documentation for more information.
Development
For development, it is useful to use aio plugins:link
to link to a local clone of this repository rather than a specific npm module, e.g.
$ git clone git@github.com:adobe/aio-cli-plugin-cloudmanager.git
$ git checkout -B <your feature branch>
$ npm install
$ aio plugins:link
$ aio cloudmanager:<some command>
It may also be useful during development to point to a different API endpoint than https://cloudmanager.adobe.io, e.g. if you have a mock server you are using. For this you can
configure the cloudmanager.base_url
configuration key:
$ aio config:set cloudmanager.base_url https://mydummyapiserver
Using an Unreleased aio-lib-cloudmanager
When new functions are added to aio-lib-cloudmanager, it may be useful to use a local copy of this library during the development of this plugin. This can be done using npm-link as a two-step process:
First, in the aio-lib-cloudmanager
clone directory, run
npm link
And then in the clone of this project, run
npm link @adobe/aio-lib-cloudmanager
To switch back to the released version of aio-lib-cloudmanager
run
npm unlink --no-save @adobe/aio-lib-cloudmanager
npm install
Of course this should not replace proper unit testing.