Cloud Manager Plugin for the Adobe I/O CLI
- Adobe I/O CLI
- Node.js version compatibility:
- 12.x -- 12.0.0 or higher.
- 14.x -- 14.0.0 or higher.
- Use with odd Node versions is not recommended.
Although not recommended for general use, it is possible to use this plugin outside of the Adobe I/O CLI. See Standalone Use below.
$ aio plugins:install @adobe/aio-cli-plugin-cloudmanager
$ aio plugins:update
This CLI supports two modes of authentication: Browser-based and Service Account. The key distinction between these is that when using browser-based authentication, the API calls made through the CLI are done as you and use your permissions whereas when using Service Account authentication, a separate service account is needed and that account may have separate permissions than you personally would when logging into the Cloud Manager UI. In general, Service Account authentication should be primarily used in a scripting context where there is no opportunity to authenticate with a browser, although there may be other situations where the Service Account method is more appropriate even for interactive usage.
Browser-based authentication starts by running this command
aio auth:login
More options for this command are available and are described here.
This command will open a browser window in which you will authenticate using your Adobe Identity.
In addition to the authentication, the CLI needs to know the Adobe Organization Identifer (OrgId). There are two ways to do this:
- By running
aio cloudmanager:org:select
and use the interactive menu. By default this will store the selected organization in the current working directory, but the selection can also be stored globally by passing--global
(see full command documentation below) - By setting the identifier as the configuration
cloudmanager_orgid
, i.e.aio config:set cloudmanager_orgid <myorgid>
Alternatively, if you have selected an organization using aio console:org:select
, that organization will be used.
To use a service account authentication, 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.
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)",
"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.
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
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
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.
Primarily for scripting application purposes, the following exit codes are used:
1 - A generic error has occurred 2 - A configuration error has occurred 3 - A validation error with the supplied flags or arguments has occurred 10 - An error in IMS authentication has occurred 30 - An error emanating from the Cloud Manager SDK has occurred
In general, issues with this plugin should be reported in this project using GitHub issues using one of the provided issue templates.
aio cloudmanager:commerce:bin-magento:indexer:reindex ENVIRONMENTID
aio cloudmanager:commerce:bin-magento:maintenance:status ENVIRONMENTID
aio cloudmanager:commerce:get-command-execution ENVIRONMENTID COMMANDEXECUTIONID
aio cloudmanager:commerce:list-command-executions ENVIRONMENTID
aio cloudmanager:current-execution:advance PIPELINEID
aio cloudmanager:current-execution:cancel PIPELINEID
aio cloudmanager:current-execution:get PIPELINEID
aio cloudmanager:environment:bind-ip-allowlist ENVIRONMENTID IPALLOWLISTID SERVICE
aio cloudmanager:environment:delete ENVIRONMENTID
aio cloudmanager:environment:download-logs ENVIRONMENTID SERVICE NAME [DAYS]
aio cloudmanager:environment:list-available-log-options ENVIRONMENTID
aio cloudmanager:environment:list-ip-allowlist-bindings ENVIRONMENTID
aio cloudmanager:environment:list-variables ENVIRONMENTID
aio cloudmanager:environment:open-developer-console ENVIRONMENTID
aio cloudmanager:environment:set-variables ENVIRONMENTID
aio cloudmanager:environment:tail-log ENVIRONMENTID SERVICE NAME
aio cloudmanager:environment:unbind-ip-allowlist ENVIRONMENTID IPALLOWLISTID SERVICE
aio cloudmanager:execution:get-quality-gate-results PIPELINEID EXECUTIONID ACTION
aio cloudmanager:execution:get-step-details PIPELINEID EXECUTIONID
aio cloudmanager:execution:get-step-log PIPELINEID EXECUTIONID ACTION
aio cloudmanager:execution:tail-step-log PIPELINEID ACTION
aio cloudmanager:ip-allowlist:bind IPALLOWLISTID ENVIRONMENTID SERVICE
aio cloudmanager:ip-allowlist:create NAME
aio cloudmanager:ip-allowlist:delete IPALLOWLISTID
aio cloudmanager:ip-allowlist:get-binding-details IPALLOWLISTID
aio cloudmanager:ip-allowlist:unbind IPALLOWLISTID ENVIRONMENTID SERVICE
aio cloudmanager:ip-allowlist:update IPALLOWLISTID
aio cloudmanager:list-programs
aio cloudmanager:org:list
aio cloudmanager:org:select [ORGID]
aio cloudmanager:pipeline:create-execution PIPELINEID
aio cloudmanager:pipeline:delete PIPELINEID
aio cloudmanager:pipeline:invalidate-cache PIPELINEID
aio cloudmanager:pipeline:list-executions PIPELINEID
aio cloudmanager:pipeline:list-variables PIPELINEID
aio cloudmanager:pipeline:set-variables PIPELINEID
aio cloudmanager:pipeline:update PIPELINEID
aio cloudmanager:program:delete PROGRAMID
aio cloudmanager:program:list-current-executions
aio cloudmanager:program:list-environments
aio cloudmanager:program:list-ip-allowlists
aio cloudmanager:program:list-pipelines
commerce indexer reindex
USAGE
$ aio cloudmanager:commerce:bin-magento:indexer:reindex 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:commerce:indexer-reindex
See code: src/commands/cloudmanager/commerce/bin-magento/indexer/reindex.js
commerce maintenance status
USAGE
$ aio cloudmanager:commerce:bin-magento:maintenance:status 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:commerce:maintenance-status
See code: src/commands/cloudmanager/commerce/bin-magento/maintenance/status.js
get status of a single commerce cli command
USAGE
$ aio cloudmanager:commerce:get-command-execution ENVIRONMENTID COMMANDEXECUTIONID
ARGUMENTS
ENVIRONMENTID the environment id
COMMANDEXECUTIONID the command execution 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
See code: src/commands/cloudmanager/commerce/get-command-execution.js
get status of a single commerce cli command
USAGE
$ aio cloudmanager:commerce:list-command-executions ENVIRONMENTID
ARGUMENTS
ENVIRONMENTID the environment id
OPTIONS
-c,
--command=maintenance:status|maintenance:enable|maintenance:disable|indexer:reindex|cache:clean|cache:flush|app:config
:dump|app:config:import
filter by command
-p, --programId=programId
the programId. if not specified, defaults to 'cloudmanager_programid' config value
-s, --status=PENDING|RUNNING|CANCELLED|COMPLETED|FAILED|CANCELLING|CANCEL_FAILED|UNKNOWN
filter by status of command
-t, --type=bin/magento
filter by type of command
--imsContextName=imsContextName
the alternate IMS context name to use instead of aio-cli-plugin-cloudmanager
See code: src/commands/cloudmanager/commerce/list-command-executions.js
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
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
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
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|preview) 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
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
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
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
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
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
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
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
--authorDelete=authorDelete variables/secrets to delete for author service
--authorSecret=authorSecret secret values in KEY VALUE format for author service
--authorVariable=authorVariable variable values in KEY VALUE format for author service
--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
--previewDelete=previewDelete variables/secrets to delete for preview service
--previewSecret=previewSecret secret values in KEY VALUE format for preview service
--previewVariable=previewVariable variable values in KEY VALUE format for preview service
--publishDelete=publishDelete variables/secrets to delete for publish service
--publishSecret=publishSecret secret values in KEY VALUE format for publish service
--publishVariable=publishVariable variable values in KEY VALUE format for publish service
--strict performs strict validation of internal variables. Can also be enabled by setting
configuration property cloudmanager.environmentVariables.strictValidation to a
truthy value.
ALIASES
$ aio cloudmanager:set-environment-variables
See code: src/commands/cloudmanager/environment/set-variables.js
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
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|preview) 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
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
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
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
tail step log
USAGE
$ aio cloudmanager:execution:tail-step-log PIPELINEID ACTION
ARGUMENTS
PIPELINEID the pipeline id
ACTION (build) [default: build] the step action
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/execution/tail-step-log.js
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|preview) 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
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
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
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
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|preview) 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
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
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
list the organizations in which the current user is authorized to use Cloud Manager
USAGE
$ aio cloudmanager:org:list
OPTIONS
-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/org/list.js
select an organization in which the current user is authorized to use Cloud Manager
USAGE
$ aio cloudmanager:org:select [ORGID]
ARGUMENTS
ORGID the org id to store in configuration
OPTIONS
--global stores selected organization in global configuration
See code: src/commands/cloudmanager/org/select.js
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
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
invalidate pipeline cache
USAGE
$ aio cloudmanager:pipeline:invalidate-cache 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
See code: src/commands/cloudmanager/pipeline/invalidate-cache.js
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
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
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
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
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
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
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
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
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
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
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.
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 [email protected]: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
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.
In rare circumstances, it may be useful to run this plugin separately from the Adobe I/O CLI. To do this, install this npm module directly, i.e.
npm install -g @adobe/aio-cli-plugin-cloudmanager
This will create an executable named adobe-cloudmanager-cli
on your PATH
. The arguments to this executable are the same as when used through Adobe I/O CLI. The following caveats apply:
- You must still use Adobe I/O CLI for all configuration setting.
- The help messages displayed will show the command as
aio
notadobe-cloudmanager-cli
.