amazon-s3-client

Description Examples Subcommands Arguments

Description

Allows interacting with buckets and files in the Amazon AWS S3 service, including creating, removing, and listing buckets, as well as listing, uploading, downloading, and removing files in a specified bucket.

Examples

Retrieves a list of all buckets contained in the S3 environment using the only AWS external server defined in the configuration, and displaying the list in human-readable text:

amazon-s3-client list-buckets

Retrieves a list of buckets whose names start with "ldif-", ordered from newest to oldest, and with JSON-formatted output using a single line per object. It will use the configuration in the specified external server instance when communicating with the AWS service:

amazon-s3-client list-buckets --aws-server-name AWS \
     --output-format single-line-json --name-pattern '^ldif-.*$' --newest-first

Creates a bucket named in the S3 using a newly generated UUID as the bucket name and the only AWS external server defined in the configuration:

amazon-s3-client create-bucket

Creates a bucket named 'my-bucket' in the S3 environment using the specified AWS external server configuration and generating JSON-formatted output:

amazon-s3-client create-bucket --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket

Deletes the bucket named 'my-bucket' from the S3 environment using the only AWS external server defined in the configuration:

amazon-s3-client delete-bucket --bucket-name my-bucket

Deletes the bucket named 'my-bucket' from the S3 environment, including any files contained in it, and generating multi-line JSON-formatted output:

amazon-s3-client delete-bucket --aws-server-name AWS \
     --output-format multi-line-json --bucket-name my-bucket

Retrieves a list of all files contained in S3 bucket 'my-bucket' using the only AWS external server defined in the configuration, and displaying the list in human-readable text:

amazon-s3-client list-files --bucket-name my-bucket

Retrieves a list of all files contained in the S3 bucket 'my-bucket' whose names end with ".ldif", ordered from newest to oldest, and with JSON-formatted output using a single line per object. It will use the configuration in the specified external server instance when communicating with the AWS service:

amazon-s3-client list-files --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --newest-first

Uploads the specified file to S3 bucket 'my-bucket'. Output will be provided as human-readable text, and the tool will use the only AWS external server instance defined in the configuration:

amazon-s3-client upload-file --bucket-name my-bucket \
     --local-file /path/to/file/to/upload

Uploads the specified file to S3 bucket 'my-bucket'. The configuration in the specified AWS external server instance will be used, and output will be JSON-formatted with a single line per object:

amazon-s3-client upload-file --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --local-file /path/to/file/to/upload --remote-name my-uploaded-file

Downloads file 'name-of-file-to-download' from S3 bucket 'my-bucket' into the current working directory. The name of the file will be preserved, output will be provided as human-readable text, the tool will use the only AWS external server instance defined in the configuration:

amazon-s3-client download-file --bucket-name my-bucket \
     --remote-name name-of-file-to-download

Downloads file 'name-of-file-to-download' from S3 bucket 'my-bucket' to the specified local path. The tool will use the specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client download-file --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --remote-name name-of-file-to-download --to-file /path/for/downloaded/file

Downloads the newest file contained in S3 bucket 'my-bucket' to the current working directory. The name of the file will be preserved, output will be provided as human-readable text, and the tool will use the only AWS external server instance defined in the configuration:

amazon-s3-client download-newest-files --bucket-name my-bucket

Downloads the 5 newest files whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --to-directory /path/for/downloaded/files \
     --maximum-count 5

Downloads all files from the last week whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted across multiple lines, with a separate line for each value:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format multi-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --to-directory /path/for/downloaded/files \
     --maximum-age "1 week"

Downloads all files created since the given timestamp (in generalized time format) whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --to-directory /path/for/downloaded/files \
     --minimum-timestamp 20231201060000.000Z

Downloads all files created since the given timestamp (in RFC 3339 format) whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted across multiple lines, with a separate line for each value:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format multi-line-json --bucket-name my-bucket \
     --to-directory /path/for/downloaded/files \
     --minimum-timestamp 2023-12-01T06:00:00.000Z

Deletes file 'name-of-file-to-delete' from S3 bucket 'my-bucket'. The tool will use the only AWS external server instance defined in the server configuration, and output will be provided as human-readable text:

amazon-s3-client delete-file --bucket-name my-bucket \
     --remote-name name-of-file-to-delete

Deletes file 'name-of-file-to-delete' from S3 bucket 'my-bucket'. The tool will use specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client delete-file --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --remote-name name-of-file-to-delete

Subcommands

create-bucket delete-bucket delete-file download-file download-newest-files list-buckets list-files upload-file

create-bucket

Creates a new bucket in the S3 environment

create-bucket Examples

Creates a bucket named in the S3 using a newly generated UUID as the bucket name and the only AWS external server defined in the configuration:

amazon-s3-client create-bucket

Creates a bucket named 'my-bucket' in the S3 environment using the specified AWS external server configuration and generating JSON-formatted output:

amazon-s3-client create-bucket --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket

create-bucket Arguments

--bucket-name {name}

Description The name of the bucket to create. If this is not specified, then a UUID will be generated for use as the bucket name
Required No
Multi-Valued No

delete-bucket

Deletes a bucket from the S3 environment

delete-bucket Examples

Deletes the bucket named 'my-bucket' from the S3 environment using the only AWS external server defined in the configuration:

amazon-s3-client delete-bucket --bucket-name my-bucket

Deletes the bucket named 'my-bucket' from the S3 environment, including any files contained in it, and generating multi-line JSON-formatted output:

amazon-s3-client delete-bucket --aws-server-name AWS \
     --output-format multi-line-json --bucket-name my-bucket

delete-bucket Arguments

--bucket-name {name}

Description The name of the bucket to delete. This must be specified
Required Yes
Multi-Valued No

--delete-files

Description Indicates that the tool should automatically delete any files contained in the bucket before deleting the bucket itself. If this argument is not specified, then an attempt to delete a non-empty bucket will fail

delete-file

Deletes a file from a specified S3 bucket

delete-file Examples

Deletes file 'name-of-file-to-delete' from S3 bucket 'my-bucket'. The tool will use the only AWS external server instance defined in the server configuration, and output will be provided as human-readable text:

amazon-s3-client delete-file --bucket-name my-bucket \
     --remote-name name-of-file-to-delete

Deletes file 'name-of-file-to-delete' from S3 bucket 'my-bucket'. The tool will use specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client delete-file --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --remote-name name-of-file-to-delete

delete-file Arguments

--bucket-name {name}

Description The name of the S3 bucket containing the file to delete. This must be specified
Required Yes
Multi-Valued No

--remote-name {name}

Description The name of the file to delete from the S3 bucket. This must be specified
Required Yes
Multi-Valued No

download-file

Downloads a specified file from an S3 bucket

download-file Examples

Downloads file 'name-of-file-to-download' from S3 bucket 'my-bucket' into the current working directory. The name of the file will be preserved, output will be provided as human-readable text, the tool will use the only AWS external server instance defined in the configuration:

amazon-s3-client download-file --bucket-name my-bucket \
     --remote-name name-of-file-to-download

Downloads file 'name-of-file-to-download' from S3 bucket 'my-bucket' to the specified local path. The tool will use the specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client download-file --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --remote-name name-of-file-to-download --to-file /path/for/downloaded/file

download-file Arguments

--bucket-name {name}

Description The name of the S3 bucket containing the file to download. This must be specified
Required Yes
Multi-Valued No

--remote-name {name}

Description The name of the file to download from the S3 bucket. This must be specified
Required Yes
Multi-Valued No

--to-file {path}

Description The local path to use when downloading the file. If this is specified, then it may reference either a directory (which must exist, in which case the file will be downloaded into that directory using the same name it has in the S3 bucket) or a file (which may or may not exist but whose parent directory does exist, in which case the file will be downloaded with the specified name). If this is not specified, then the file will be downloaded into the current working directory with the same name that it has in the S3 bucket
Required No
Multi-Valued No

--progress-interval {duration}

Description The interval to use when reporting on download progress. If is not specified, a default interval of 10 seconds will be used. A duration of 0 seconds indicates that the tool should not report intermediate download progress messages
Required No
Multi-Valued No

download-newest-files

Downloads one or more files from a specified S3 bucket, in order from newest to oldest

download-newest-files Examples

Downloads the newest file contained in S3 bucket 'my-bucket' to the current working directory. The name of the file will be preserved, output will be provided as human-readable text, and the tool will use the only AWS external server instance defined in the configuration:

amazon-s3-client download-newest-files --bucket-name my-bucket

Downloads the 5 newest files whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --to-directory /path/for/downloaded/files \
     --maximum-count 5

Downloads all files from the last week whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted across multiple lines, with a separate line for each value:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format multi-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --to-directory /path/for/downloaded/files \
     --maximum-age "1 week"

Downloads all files created since the given timestamp (in generalized time format) whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted with a single line per object:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --to-directory /path/for/downloaded/files \
     --minimum-timestamp 20231201060000.000Z

Downloads all files created since the given timestamp (in RFC 3339 format) whose names end with '.ldif' from S3 bucket 'my-bucket' into local directory '/path/for/downloaded/files'. The tool will use the specified AWS external server, and output will be JSON-formatted across multiple lines, with a separate line for each value:

amazon-s3-client download-newest-files --aws-server-name AWS \
     --output-format multi-line-json --bucket-name my-bucket \
     --to-directory /path/for/downloaded/files \
     --minimum-timestamp 2023-12-01T06:00:00.000Z

download-newest-files Arguments

--bucket-name {name}

Description The name of the S3 bucket containing the files to download. THis must be specified
Required Yes
Multi-Valued No

--name-pattern {regex}

Description A regular expression that may be used to restrict the set of files eligible to be downloaded. If this argument is provided, then only files whose names match the given pattern will be considered for download
Required No
Multi-Valued No

--to-directory {path}

Description The path to the local directory into which the downloaded files will be placed. If specified, then the specified path must exist, and it must be a directory. If this is not specified, then the files will be downloaded into the current working directory
Required No
Multi-Valued No

--maximum-count {count}

Description The maximum number of files to download from the S3 bucket. If none of the --maximum-count, --maximum-age, or --minimum-timestamp arguments are provided, then only the single newest file (matching the specified name pattern, if applicable) will be downloaded
Upper Bound 2147483647
Required No
Multi-Valued No

--maximum-age {duration}

Description The maximum age of files to download from the S3 bucket. If this is specified, then the value must be given as an integer followed by a time unit (e.g., '1 hour' or '3 days'). If none of the --maximum-count, --maximum-age, or --minimum-timestamp arguments are provided, then only the single newest file (matching the specified name pattern, if applicable) will be downloaded
Required No
Multi-Valued No

--minimum-timestamp {timestamp}

Description A timestamp specifying the minimum creation time for files to download from the S3 bucket. If this is specified, then value may be specified in either the generalized time format (e.g., 'YYYYMMDDhhmmss.uuuZ') or the ISO 8601 format described in RFC 3339 (e.g., 'YYYY-MM-DDThh:mm:ss.uuuZ'). If none of the --maximum-count, --maximum-age, or --minimum-timestamp arguments are provided, then only the single newest file (matching the specified name pattern, if applicable) will be downloaded
Required No
Multi-Valued No

--progress-interval {duration}

Description The interval to use when reporting on download progress. If is not specified, a default interval of 10 seconds will be used. A duration of 0 seconds indicates that the tool should not report intermediate download progress messages
Required No
Multi-Valued No

list-buckets

Retrieves a list of the buckets defined in the S3 environment

list-buckets Examples

Retrieves a list of all buckets contained in the S3 environment using the only AWS external server defined in the configuration, and displaying the list in human-readable text:

amazon-s3-client list-buckets

Retrieves a list of buckets whose names start with "ldif-", ordered from newest to oldest, and with JSON-formatted output using a single line per object. It will use the configuration in the specified external server instance when communicating with the AWS service:

amazon-s3-client list-buckets --aws-server-name AWS \
     --output-format single-line-json --name-pattern '^ldif-.*$' --newest-first

list-buckets Arguments

--name-pattern {regex}

Description A regular expression that may be used to restrict the buckets that are returned. If this argument is provided, then only buckets whose names match the given pattern will be included. If this is not provided, then all buckets will be included
Required No
Multi-Valued No

--oldest-first

Description Indicates that the buckets should be listed in chronological order based on the time they were created, with older buckets listed before newer buckets. At most one of the --oldest-first and --newest-first arguments may be provided, and if neither is given, then they will be listed in alphabetical order by name

--newest-first

Description Indicates that the buckets should be listed in chronological order based on the time they were created, with newer buckets listed before older buckets. At most one of the --oldest-first and --newest-first arguments may be provided, and if neither is given, then they will be listed in alphabetical order by name

list-files

Retrieves a list of files contained in a specified S3 bucket

list-files Examples

Retrieves a list of all files contained in S3 bucket 'my-bucket' using the only AWS external server defined in the configuration, and displaying the list in human-readable text:

amazon-s3-client list-files --bucket-name my-bucket

Retrieves a list of all files contained in the S3 bucket 'my-bucket' whose names end with ".ldif", ordered from newest to oldest, and with JSON-formatted output using a single line per object. It will use the configuration in the specified external server instance when communicating with the AWS service:

amazon-s3-client list-files --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --name-pattern '^.+\.ldif$' --newest-first

list-files Arguments

--bucket-name {name}

Description The name of the bucket in which to list the files. This must be specified
Required Yes
Multi-Valued No

--name-pattern {regex}

Description A regular expression that may be used to restrict the files that are returned. If this argument is provided, then only files whose names match the given pattern will be included. If this is not provided, then all files will be included
Required No
Multi-Valued No

--oldest-first

Description Indicates that the files should be listed in chronological order based on the time they were created, with older files listed before newer files. At most one of the --oldest-first and --newest-first arguments may be provided, and if neither is given, then they will be listed in alphabetical order by name

--newest-first

Description Indicates that the files should be listed in chronological order based on the time they were created, with newer files listed before older files. At most one of the --oldest-first and --newest-first arguments may be provided, and if neither is given, then they will be listed in alphabetical order by name

upload-file

Uploads a local file to a specified S3 bucket

upload-file Examples

Uploads the specified file to S3 bucket 'my-bucket'. Output will be provided as human-readable text, and the tool will use the only AWS external server instance defined in the configuration:

amazon-s3-client upload-file --bucket-name my-bucket \
     --local-file /path/to/file/to/upload

Uploads the specified file to S3 bucket 'my-bucket'. The configuration in the specified AWS external server instance will be used, and output will be JSON-formatted with a single line per object:

amazon-s3-client upload-file --aws-server-name AWS \
     --output-format single-line-json --bucket-name my-bucket \
     --local-file /path/to/file/to/upload

upload-file Arguments

--bucket-name {name}

Description The name of the bucket into which the file should be uploaded. This must be specified
Required Yes
Multi-Valued No

--local-file {path}

Description The path to the local file to be uploaded. This must be specified, the file must exist, and it must be a regular file
Required Yes
Multi-Valued No

--progress-interval {duration}

Description The interval to use when reporting on upload progress. If is not specified, a default interval of 10 seconds will be used. A duration of 0 seconds indicates that the tool should not report intermediate upload progress messages
Required No
Multi-Valued No

Arguments

-V
--version

Description Display Directory Server version information

-H
--help

Description Display general usage information

--help-debug

Description Display help for using debug options
Advanced Yes

--aws-server-name {name}

Description The name of the Amazon AWS external server instance defined in the server configuration that will be used to connect and authenticate to the AWS service. This may be omitted if exactly one AWS external server is defined in the configuration
Required No
Multi-Valued No

--output-format {text|single-line-json|multi-line-json}

Description The format to use for the output generated by this tool. A value of 'text' (which is the default) indicates that the tool should generate human-readable output. A value of 'single-line-json' indicates that the tool should generate JSON-formatted output with each object represented as a single line. A value of 'multi-line-json' indicates that the tool should generate JSON-formatted output with each object formatted across multiple lines, with a separate line per value
Default Value text
Required No
Multi-Valued No

--suppress-comments

Description Suppress comments that would otherwise be included in tool output

--interactive

Description Launch the tool in interactive mode.

--outputFile {path}

Description Write all standard output and standard error messages to the specified file instead of to the console.
Required No
Multi-Valued No

--appendToOutputFile

Description Indicates that the tool should append to the file specified by the --outputFile argument if it already exists. If this argument is not provided and the output file already exists, it will be overwritten.

--teeOutput

Description Write all standard output and standard error messages to the console as well as to the specified output file. The --outputFile argument must also be provided.

--helpSubcommands

Description Display the names and descriptions of the supported subcommands.

--propertiesFilePath {path}

Description The path to a properties file used to specify default values for arguments not supplied on the command line.
Required No
Multi-Valued No

--generatePropertiesFile {path}

Description Write an empty properties file that may be used to specify default values for arguments.
Required No
Multi-Valued No

--noPropertiesFile

Description Do not obtain any argument values from a properties file.

--suppressPropertiesFileComment

Description Suppress output listing the arguments obtained from a properties file.