Agile Cloud Institute

Cross-Functional Architecture And Tools For Cloud-Based Operating Models

CLI Commands and Workflows for the Agile Cloud Manager

The Agile Cloud Manager has a very simple set of CLI commands which are designed to keep the amount of code in calling scripts very brief so that it is easy to change back and forth between any pipeline tool.

In fact, there are only 12 CLI commands as follows:

acm setup on sourceRepo=<repository-url>  
acm appliance on  
acm appliance off  
acm foundation on systemName=<name-of-system>  
acm services on systemName=<name-of-system>  
acm services off systemName=<name-of-system>  
acm serviceType on systemName=<name-of-system> serviceType=<name-of-type>  
acm serviceType off systemName=<name-of-system> serviceType=<name-of-type>  
acm serviceInstance on systemName=<name> serviceType=<name> serviceInstance=<name>  
acm serviceInstance off systemName=<name> serviceType=<name> serviceInstance=<name>  
acm foundation off systemName=<name-of-system>  
acm setup off  

The CLI commands are intended to be used in specific sequences in workflows because they have dependencies upon each other. Also, the flags given in each command are required and not optional.

A summary of each command is as follows:

acm setup on sourceRepo=<repository-url> repoPublic=<true/false> repoBranch=<branch-name>

What it does: Creates a local workspace required for any of the other commands to work.

Prerequisites: None. This is the very first command to run.

Teardown: acm setup off, but not until all other commands in your workflow are run.

acm appliance on

What it does: Creates or updates an entire appliance, including all the systems specified in acm.yaml

Prerequisites: acm setup on must be run before this command can work.

Teardown: acm appliance off

acm appliance off

What it does: Destroys an entire appliance, including all the systems specified in acm.yaml

Prerequisites: acm setup on in all cases, then acm appliance on

acm foundation on systemName=<name-of-system>

What it does: Creates or updates the foundation of the system named <name-of-system>

Prerequisites: acm setup on must be run before this command can work.

Teardown: acm foundation off systemName=<name-of-system>

acm services on systemName=<name-of-system>

What it does: Creates or updates all services of all types within the system named <name-of-system>

Prerequisites: acm setup on in all cases and acm foundation on systemName=<name-of-system>; only if the system template contains a foundation block.

Teardown: acm services off systemName=<name-of-system> in all cases, and acm foundation off systemName=<name-of-system> only if the system template contains a foundation block.

acm services off systemName=<name-of-system>

What it does: Destroys all services of all types within the system named <name-of-system>

Prerequisites: acm setup on in all cases, then acm foundation on systemName=<name-of-system> only if the system template contains a foundation block, then acm services on systemName=<name-of-system> in all cases.

acm serviceType on systemName=<name-of-system> serviceType=<name-of-type>

What it does: Creates or updates only one type of service with name <name-of-type> and only in the system named <name-of-type>

Prerequisites: acm setup on in all cases and acm foundation on systemName=<name-of-system>; only if the system template contains a foundation block.

Teardown: acm serviceType off systemName=<name-of-system> serviceType=<name-of-type> in all cases, then acm foundation off systemName=<name-of-system> only if the system template contains a foundation block.

acm serviceType off systemName=<name-of-system> serviceType=<name-of-type>

What it does: Destroys only one type of service with name <name-of-type> and only in the system named <name-of-system>

Prerequisites: acm setup on in all cases and acm foundation on systemName=<name-of-system> only if the system template contains a foundation block. Then acm serviceType on systemName=<name-of-system> serviceType=<name-of-type> in all cases.

acm serviceInstance on systemName=<name> serviceType=<name> serviceInstance=<name>

What it does: Creates or updates only one instance of only one serviceType in only one system.

Prerequisites: acm setup on in all cases and acm foundation on systemName=<name-of-system> only if the system template contains a foundation block.

Teardown: acm serviceInstance off systemName=<name> serviceType=<name> serviceInstance=<name> in all cases, then acm foundation off systemName=<name-of-system> only if the system template contains a foundation block.

acm serviceInstance off systemName=<name> serviceType=<name> serviceInstance=<name>

What it does: Destroys only one instance of only one serviceType in only one foundation.

Prerequisites: acm setup on in all cases and acm foundation on systemName=<name-of-system> only if the system template contains a foundation block. Then acm serviceInstance on systemName=<name> serviceType=<name> serviceInstance=<name> in all cases.

acm foundation off systemName=<name-of-system>

What it does: Destroys the foundation of a system named <name-of-system>

Prerequisites: acm setup on in all cases, then acm foundation on systemName=<name-of-system>; in all cases. Also make sure that all services have been destroyed first. Note that some infrastructure can be designed to be destroyed when the foundation is destroyed, but that this is only true in some cases, so it is best to explicitly destroy each service before destroying the foundation.

acm setup off

What it does: Destroys local resources that were created during acm setup on command. These include local directory structure and local copies of cloned repositories that were needed by the acm CLI commands.

Prerequisites: acm setup on in all cases. This must also be the very last CLI command run, because this destroys things that other CLI commands require.

back to Site Home

back to Engineering section Home