Module erlcloud_ssm

An Erlang interface to AWS Systems Manager (SSM).

Description

An Erlang interface to AWS Systems Manager (SSM).

Output is in the form of {ok, Value} or {error, Reason}. The format of Value is controlled by the out option, which defaults to json. The possible values are:

* json - The output from Systems Manager as processed by jsx:decode with no further manipulation.

* record - A record containing all the information from the Systems Manager.

* map - Same output of json` opt but in a map formatting. Systems Manager errors are returned in the form `{error, {ErrorCode, Message}} where ErrorCode and 'Message' are both binary strings.

Data Types

delete_parameter_opt()

delete_parameter_opt() = {name, string_param()} | out_opt()

delete_parameter_opts()

delete_parameter_opts() = [delete_parameter_opt()]

get_parameter_opt()

get_parameter_opt() = {name, string_param()} | {with_decryption, boolean()} | out_opt()

get_parameter_opts()

get_parameter_opts() = [get_parameter_opt()]

get_parameters_by_path_filter_opt()

get_parameters_by_path_filter_opt() = {key, string_param()} | {option, string_param()} | {values, [string_param()]}

get_parameters_by_path_filter_opts()

get_parameters_by_path_filter_opts() = [get_parameters_by_path_filter_opt()]

get_parameters_by_path_opt()

get_parameters_by_path_opt() = {max_results, non_neg_integer()} | {next_token, string_param()} | {parameter_filters, get_parameters_by_path_filter_opts()} | {path, string_param()} | {recursive, boolean()} | {with_decryption, boolean()} | out_opt()

get_parameters_by_path_opts()

get_parameters_by_path_opts() = [get_parameters_by_path_opt()]

get_parameters_opt()

get_parameters_opt() = {names, [string_param()]} | {with_decryption, boolean()} | out_opt()

get_parameters_opts()

get_parameters_opts() = [get_parameters_opt()]

out_opt()

out_opt() = {out, out_type()}

out_type()

out_type() = json | record | map

put_parameter_opt()

put_parameter_opt() = {allowed_pattern, string_param()} | {data_type, string_param()} | {description, string_param()} | {key_id, string_param()} | {name, string_param()} | {overwrite, boolean()} | {policies, string_param()} | {tags, [tag_parameter_opts()]} | {tier, string_param()} | {type, string_param()} | {value, string_param()} | out_opt()

put_parameter_opts()

put_parameter_opts() = [put_parameter_opt()]

ssm_return()

ssm_return(Record) = {ok, jsx:json_term() | Record} | {error, term()}

string_param()

string_param() = binary() | string()

tag_parameter_opt()

tag_parameter_opt() = {key, string_param()} | {value, string_param()}

tag_parameter_opts()

tag_parameter_opts() = [tag_parameter_opt()]

Function Index

configure/2
configure/3
configure/4
delete_parameter/1
delete_parameter/2 SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameter.html
get_parameter/1
get_parameter/2 SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html
get_parameters/1
get_parameters/2 SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html
get_parameters_by_path/1
get_parameters_by_path/2 SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html
new/2
new/3
new/4
put_parameter/1
put_parameter/2 SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html

Function Details

configure/2

configure(AccessKeyID::string(), SecretAccessKey::string()) -> ok

configure/3

configure(AccessKeyID::string(), SecretAccessKey::string(), Host::string()) -> ok

configure/4

configure(AccessKeyID::string(), SecretAccessKey::string(), Host::string(), Port::non_neg_integer()) -> ok

delete_parameter/1

delete_parameter(Opts::delete_parameter_opts()) -> ok | {error, term()}

delete_parameter/2

delete_parameter(Opts::delete_parameter_opts(), Config::aws_config()) -> ok | {error, term()}

SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameter.html

Example

Delete a parameter from the system.

ok = erlcloud_ssm:delete_parameter([{name, <<"password">>}])

get_parameter/1

get_parameter(Opts::get_parameter_opts()) -> ssm_return(#ssm_get_parameter{})

get_parameter/2

get_parameter(Opts::get_parameter_opts(), Config::aws_config()) -> ssm_return(#ssm_get_parameter{})

SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html

Example

Get information about a parameter by using the parameter name.

{ok, Parameter} = erlcloud_ssm:get_parameter([{name, "some_parameter"}, {out, json}])

get_parameters/1

get_parameters(Opts::get_parameters_opts()) -> ssm_return(#ssm_get_parameters{})

get_parameters/2

get_parameters(Opts::get_parameters_opts(), Config::aws_config()) -> ssm_return(#ssm_get_parameters{})

SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html

Example

Get information about parameters by using the parameters' names.

{ok, Parameter} = erlcloud_ssm:get_parameters([{names, ["some_parameter_1", "some_parameter_2"]}])

get_parameters_by_path/1

get_parameters_by_path(Opts::get_parameters_by_path_opts()) -> ssm_return(#ssm_get_parameters_by_path{})

get_parameters_by_path/2

get_parameters_by_path(Opts::get_parameters_by_path_opts(), Config::aws_config()) -> ssm_return(#ssm_get_parameters_by_path{})

SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html

Example

Retrieve information about one or more parameters in a specific hierarchy.

{ok, Parameters} = erlcloud_ssm:get_parameters_by_path([{path, "/desired/path"}])

new/2

new(AccessKeyID::string(), SecretAccessKey::string()) -> aws_config()

new/3

new(AccessKeyID::string(), SecretAccessKey::string(), Host::string()) -> aws_config()

new/4

new(AccessKeyID::string(), SecretAccessKey::string(), Host::string(), Port::non_neg_integer()) -> aws_config()

put_parameter/1

put_parameter(Opts::put_parameter_opts()) -> ssm_return(#ssm_put_parameter{})

put_parameter/2

put_parameter(Opts::put_parameter_opts(), Config::aws_config()) -> ssm_return(#ssm_put_parameter{})

SSM API https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html

Example

Add a parameter to the system.

{ok, Parameter} = erlcloud_ssm:put_parameter([{name, <<"password">>}, {value, <<"myP@ssw0rd">>}, {type, <<"String">>}])


Generated by EDoc