Accretion CLI¶
The Accretion CLI is the primary point for controlling Accretion resources.
The Accretion CLI maintains configuration state in a “Deployment File”.
Warning
Accretion is under active development and is not yet stable. The below reflects the target interface for the Accretion CLI. Not all commands will work yet.
Usage¶
init¶
Initialize the DEPLOYMENT_FILE
for deployments to REGIONS
.
This does NOT deploy to those regions.
Run accretion update
to update and fill all regions in a deployment file.
accretion init DEPLOYMENT_FILE REGIONS...
update¶
Update deployments in all regions described in DEPLOYMENT_FILE
.
This will also initialize any empty deployment regions and complete any partial deployments.
accretion update all DEPLOYMENT_FILE
add regions¶
Add more REGIONS
to an existing deployment description in DEPLOYMENT_FILE
.
This does NOT deploy to those regions.
Run accretion update
to update and fill all regions in a deployment file.
accretion add regions DEPLOYMENT_FILE REGIONS...
destroy¶
Destroy all resources for an Accretion deployment described in DEPLOYMENT_FILE
.
Warning
This will destroy ALL resources in ALL regions. Be sure that is what you want to do before running this.
accretion destroy DEPLOYMENT_FILE
request¶
Request a new layer version build.
Important
These operations are currently completely asynchronous with no way of tracking a layer build through the CLI. I plan to add tooling around this later, but the exact form it will take is still TBD. mattsb42/accretion#27
raw¶
Request a new layer in every region in DEPLOYMENT_FILE
.
The Layer must be described in the Accretion format in REQUEST_FILE
.
{
"Name": "layer name",
"Language": "Language to target",
"Requirements": {
"Type": "accretion",
"Requirements": [
{
"Name": "Requirement Name",
"Details": "Requirement version or other identifying details"
}
]
},
"Requirements": {
"Type": "requirements.txt",
"Requirements": "Raw contents of requirements.txt file format"
}
}
Note
The only supported language at this time is python
.
accretion request raw DEPLOYMENT_FILE REQUEST_FILE
requirements¶
Request a new layer named LAYER_NAME
in every region in DEPLOYMENT_FILE
.
The Layer requirements must be defined in the Python requirements.txt format in REQUIREMENTS_FILE
.
accretion request DEPLOYMENT_FILE REQUIREMENTS_FILE
list¶
layers¶
Important
List all Accretion-managed Lambda Layers and their versions in the specified region.
accretion list layers DEPLOYMENT_FILE REGION_NAME
describe¶
layer-version¶
Important
Describe a Layer version, listing the contents of that Layer.
accretion describe layer-version DEPLOYMENT_FILE REGION_NAME LAYER_NAME LAYER_VERSION
Deployment File¶
Warning
Deployment files MUST NOT be modified by anything other than Accretion tooling.
An Accretion deployment file describes the stacks associated with a single Accretion deployment.
It is a JSON file with the following structure:
{
"Deployments": {
"AWS_REGION": {
"Core": "STACK_NAME",
"ArtifactBuilder": "STACK_NAME",
"LayerBuilder": "STACK_NAME"
}
}
}
Request File¶
An Accretion require file describes the Layer that is being requested.
It is a JSON file with the following structure:
{
"Name": "layer name",
"Language": "Language to target",
"Requirements": {
"Type": "accretion",
"Requirements": [
{
"Name": "Requirement Name",
"Details": "Requirement version or identifying details"
}
]
},
"Requirements": {
"Type": "requirements.txt",
"Requirements": "Raw contents of requirements.txt file format"
}
}