aws-cli
This module offers a generic interface to use AWS CLI in Daggeras well as some high level functions that come in handy in the context of interacting with AWS from a Dagger pipeline.
Installation
dagger install github.com/felipepimentel/daggerverse/libraries/aws-cli@v0.0.0Entrypoint
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| version | String | - | Version (image tag) to use from the official image repository as a base container. |
| container | Container | - | Custom container to use as a base container. |
| region | String | - | Default AWS region. |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
func (m *MyModule) Example() *dagger.AwsCli {
return dag.
AwsCli()
}@function
def example() -> dagger.AwsCli:
return (
dag.aws_cli()
)@func()
example(): AwsCli {
return dag
.awsCli()
}Types
AwsCli 🔗
region() 🔗
Return Type
String ! Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
regionfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
AwsCli().
Region(ctx)
}@function
async def example() -> str:
return await (
dag.aws_cli()
.region()
)@func()
async example(): Promise<string> {
return dag
.awsCli()
.region()
}container() 🔗
Return Type
Container ! Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
containerfunc (m *MyModule) Example() *dagger.Container {
return dag.
AwsCli().
Container()
}@function
def example() -> dagger.Container:
return (
dag.aws_cli()
.container()
)@func()
example(): Container {
return dag
.awsCli()
.container()
}withRegion() 🔗
Set a region for all AWS CLI commands.
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| region | String ! | - | AWS region. |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
with-region --region stringfunc (m *MyModule) Example(region string) *dagger.AwsCli {
return dag.
AwsCli().
WithRegion(region)
}@function
def example(region: str) -> dagger.AwsCli:
return (
dag.aws_cli()
.with_region(region)
)@func()
example(region: string): AwsCli {
return dag
.awsCli()
.withRegion(region)
}withConfig() 🔗
Mount an AWS CLI config file.
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | File ! | - | AWS config file. |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
with-config --source file:pathfunc (m *MyModule) Example(source *dagger.File) *dagger.AwsCli {
return dag.
AwsCli().
WithConfig(source)
}@function
def example(source: dagger.File) -> dagger.AwsCli:
return (
dag.aws_cli()
.with_config(source)
)@func()
example(source: File): AwsCli {
return dag
.awsCli()
.withConfig(source)
}withCredentials() 🔗
Mount an AWS CLI credentials file.
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Secret ! | - | AWS credentials file. |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
with-credentials --source env:MYSECRETfunc (m *MyModule) Example(source *dagger.Secret) *dagger.AwsCli {
return dag.
AwsCli().
WithCredentials(source)
}@function
def example(source: dagger.Secret) -> dagger.AwsCli:
return (
dag.aws_cli()
.with_credentials(source)
)@func()
example(source: Secret): AwsCli {
return dag
.awsCli()
.withCredentials(source)
}withProfile() 🔗
Set a profile for all AWS CLI commands.
Should be used with (at least) WithConfig.
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| profile | String ! | - | AWS profile. |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
with-profile --profile stringfunc (m *MyModule) Example(profile string) *dagger.AwsCli {
return dag.
AwsCli().
WithProfile(profile)
}@function
def example(profile: str) -> dagger.AwsCli:
return (
dag.aws_cli()
.with_profile(profile)
)@func()
example(profile: string): AwsCli {
return dag
.awsCli()
.withProfile(profile)
}withStaticCredentials() 🔗
Set static AWS credentials.
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| accessKeyId | Secret ! | - | AWS access key. |
| secretAccessKey | Secret ! | - | AWS secret key. |
| sessionToken | Secret | - | AWS session token (for temporary credentials). |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
with-static-credentials --access-key-id env:MYSECRET --secret-access-key env:MYSECRETfunc (m *MyModule) Example(accessKeyId *dagger.Secret, secretAccessKey *dagger.Secret) *dagger.AwsCli {
return dag.
AwsCli().
WithStaticCredentials(accessKeyId, secretAccessKey)
}@function
def example(access_key_id: dagger.Secret, secret_access_key: dagger.Secret) -> dagger.AwsCli:
return (
dag.aws_cli()
.with_static_credentials(access_key_id, secret_access_key)
)@func()
example(accessKeyId: Secret, secretAccessKey: Secret): AwsCli {
return dag
.awsCli()
.withStaticCredentials(accessKeyId, secretAccessKey)
}withoutStaticCredentials() 🔗
Remove previously set static AWS credentials.
Return Type
AwsCli ! Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
without-static-credentialsfunc (m *MyModule) Example() *dagger.AwsCli {
return dag.
AwsCli().
WithoutStaticCredentials()
}@function
def example() -> dagger.AwsCli:
return (
dag.aws_cli()
.without_static_credentials()
)@func()
example(): AwsCli {
return dag
.awsCli()
.withoutStaticCredentials()
}withTemporaryCredentials() 🔗
Set static AWS credentials (shorthand for WithStaticCredentials, making the session token a required parameter).
Return Type
AwsCli !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| accessKeyId | Secret ! | - | AWS access key. |
| secretAccessKey | Secret ! | - | AWS secret key. |
| sessionToken | Secret ! | - | AWS session token (for temporary credentials). |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
with-temporary-credentials --access-key-id env:MYSECRET --secret-access-key env:MYSECRET --session-token env:MYSECRETfunc (m *MyModule) Example(accessKeyId *dagger.Secret, secretAccessKey *dagger.Secret, sessionToken *dagger.Secret) *dagger.AwsCli {
return dag.
AwsCli().
WithTemporaryCredentials(accessKeyId, secretAccessKey, sessionToken)
}@function
def example(access_key_id: dagger.Secret, secret_access_key: dagger.Secret, session_token: dagger.Secret) -> dagger.AwsCli:
return (
dag.aws_cli()
.with_temporary_credentials(access_key_id, secret_access_key, session_token)
)@func()
example(accessKeyId: Secret, secretAccessKey: Secret, sessionToken: Secret): AwsCli {
return dag
.awsCli()
.withTemporaryCredentials(accessKeyId, secretAccessKey, sessionToken)
}exec() 🔗
Run an AWS CLI command.
Return Type
Container !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| args | [String ! ] ! | - | Command to run (without "aws") (e.g., ["sts", "get-caller-identity"]). |
Example
dagger -m github.com/felipepimentel/daggerverse/libraries/aws-cli@36e606fe6b7d1c9561dc60db82ab31614b838754 call \
exec --args string1 --args string2func (m *MyModule) Example(args []string) *dagger.Container {
return dag.
AwsCli().
Exec(args)
}@function
def example(args: List[str]) -> dagger.Container:
return (
dag.aws_cli()
.exec(args)
)@func()
example(args: string[]): Container {
return dag
.awsCli()
.exec(args)
}