%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
%% See https://github.com/aws-beam/aws-codegen for more details.
%% @doc Amazon Web Services Systems Manager is the operations hub for your
%% Amazon Web Services applications and resources and a secure end-to-end
%% management solution for hybrid cloud environments that enables safe and
%% secure operations at scale.
%%
%% This reference is intended to be used with the Amazon Web Services Systems
%% Manager User Guide:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/. To get
%% started, see Setting up Amazon Web Services Systems Manager:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html.
%%
%% == Related resources ==
%%
%%
- For information about each of the capabilities that comprise
%% Systems Manager, see Systems Manager capabilities:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html#systems-manager-capabilities
%% in the Amazon Web Services Systems Manager User Guide.
%%
%%
- For details about predefined runbooks for Automation, a
%% capability of Amazon Web Services Systems Manager, see the Systems Manager
%% Automation runbook reference:
%% https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html
%% .
%%
%%
- For information about AppConfig, a capability of Systems
%% Manager, see the AppConfig User Guide:
%% https://docs.aws.amazon.com/appconfig/latest/userguide/ and the AppConfig
%% API Reference:
%% https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/ .
%%
%%
- For information about Incident Manager, a capability of Systems
%% Manager, see the Systems Manager Incident Manager User Guide:
%% https://docs.aws.amazon.com/incident-manager/latest/userguide/ and the
%% Systems Manager Incident Manager API Reference:
%% https://docs.aws.amazon.com/incident-manager/latest/APIReference/ .
%%
%%
-module(aws_ssm).
-export([add_tags_to_resource/2,
add_tags_to_resource/3,
associate_ops_item_related_item/2,
associate_ops_item_related_item/3,
cancel_command/2,
cancel_command/3,
cancel_maintenance_window_execution/2,
cancel_maintenance_window_execution/3,
create_activation/2,
create_activation/3,
create_association/2,
create_association/3,
create_association_batch/2,
create_association_batch/3,
create_document/2,
create_document/3,
create_maintenance_window/2,
create_maintenance_window/3,
create_ops_item/2,
create_ops_item/3,
create_ops_metadata/2,
create_ops_metadata/3,
create_patch_baseline/2,
create_patch_baseline/3,
create_resource_data_sync/2,
create_resource_data_sync/3,
delete_activation/2,
delete_activation/3,
delete_association/2,
delete_association/3,
delete_document/2,
delete_document/3,
delete_inventory/2,
delete_inventory/3,
delete_maintenance_window/2,
delete_maintenance_window/3,
delete_ops_item/2,
delete_ops_item/3,
delete_ops_metadata/2,
delete_ops_metadata/3,
delete_parameter/2,
delete_parameter/3,
delete_parameters/2,
delete_parameters/3,
delete_patch_baseline/2,
delete_patch_baseline/3,
delete_resource_data_sync/2,
delete_resource_data_sync/3,
delete_resource_policy/2,
delete_resource_policy/3,
deregister_managed_instance/2,
deregister_managed_instance/3,
deregister_patch_baseline_for_patch_group/2,
deregister_patch_baseline_for_patch_group/3,
deregister_target_from_maintenance_window/2,
deregister_target_from_maintenance_window/3,
deregister_task_from_maintenance_window/2,
deregister_task_from_maintenance_window/3,
describe_activations/2,
describe_activations/3,
describe_association/2,
describe_association/3,
describe_association_execution_targets/2,
describe_association_execution_targets/3,
describe_association_executions/2,
describe_association_executions/3,
describe_automation_executions/2,
describe_automation_executions/3,
describe_automation_step_executions/2,
describe_automation_step_executions/3,
describe_available_patches/2,
describe_available_patches/3,
describe_document/2,
describe_document/3,
describe_document_permission/2,
describe_document_permission/3,
describe_effective_instance_associations/2,
describe_effective_instance_associations/3,
describe_effective_patches_for_patch_baseline/2,
describe_effective_patches_for_patch_baseline/3,
describe_instance_associations_status/2,
describe_instance_associations_status/3,
describe_instance_information/2,
describe_instance_information/3,
describe_instance_patch_states/2,
describe_instance_patch_states/3,
describe_instance_patch_states_for_patch_group/2,
describe_instance_patch_states_for_patch_group/3,
describe_instance_patches/2,
describe_instance_patches/3,
describe_inventory_deletions/2,
describe_inventory_deletions/3,
describe_maintenance_window_execution_task_invocations/2,
describe_maintenance_window_execution_task_invocations/3,
describe_maintenance_window_execution_tasks/2,
describe_maintenance_window_execution_tasks/3,
describe_maintenance_window_executions/2,
describe_maintenance_window_executions/3,
describe_maintenance_window_schedule/2,
describe_maintenance_window_schedule/3,
describe_maintenance_window_targets/2,
describe_maintenance_window_targets/3,
describe_maintenance_window_tasks/2,
describe_maintenance_window_tasks/3,
describe_maintenance_windows/2,
describe_maintenance_windows/3,
describe_maintenance_windows_for_target/2,
describe_maintenance_windows_for_target/3,
describe_ops_items/2,
describe_ops_items/3,
describe_parameters/2,
describe_parameters/3,
describe_patch_baselines/2,
describe_patch_baselines/3,
describe_patch_group_state/2,
describe_patch_group_state/3,
describe_patch_groups/2,
describe_patch_groups/3,
describe_patch_properties/2,
describe_patch_properties/3,
describe_sessions/2,
describe_sessions/3,
disassociate_ops_item_related_item/2,
disassociate_ops_item_related_item/3,
get_automation_execution/2,
get_automation_execution/3,
get_calendar_state/2,
get_calendar_state/3,
get_command_invocation/2,
get_command_invocation/3,
get_connection_status/2,
get_connection_status/3,
get_default_patch_baseline/2,
get_default_patch_baseline/3,
get_deployable_patch_snapshot_for_instance/2,
get_deployable_patch_snapshot_for_instance/3,
get_document/2,
get_document/3,
get_inventory/2,
get_inventory/3,
get_inventory_schema/2,
get_inventory_schema/3,
get_maintenance_window/2,
get_maintenance_window/3,
get_maintenance_window_execution/2,
get_maintenance_window_execution/3,
get_maintenance_window_execution_task/2,
get_maintenance_window_execution_task/3,
get_maintenance_window_execution_task_invocation/2,
get_maintenance_window_execution_task_invocation/3,
get_maintenance_window_task/2,
get_maintenance_window_task/3,
get_ops_item/2,
get_ops_item/3,
get_ops_metadata/2,
get_ops_metadata/3,
get_ops_summary/2,
get_ops_summary/3,
get_parameter/2,
get_parameter/3,
get_parameter_history/2,
get_parameter_history/3,
get_parameters/2,
get_parameters/3,
get_parameters_by_path/2,
get_parameters_by_path/3,
get_patch_baseline/2,
get_patch_baseline/3,
get_patch_baseline_for_patch_group/2,
get_patch_baseline_for_patch_group/3,
get_resource_policies/2,
get_resource_policies/3,
get_service_setting/2,
get_service_setting/3,
label_parameter_version/2,
label_parameter_version/3,
list_association_versions/2,
list_association_versions/3,
list_associations/2,
list_associations/3,
list_command_invocations/2,
list_command_invocations/3,
list_commands/2,
list_commands/3,
list_compliance_items/2,
list_compliance_items/3,
list_compliance_summaries/2,
list_compliance_summaries/3,
list_document_metadata_history/2,
list_document_metadata_history/3,
list_document_versions/2,
list_document_versions/3,
list_documents/2,
list_documents/3,
list_inventory_entries/2,
list_inventory_entries/3,
list_ops_item_events/2,
list_ops_item_events/3,
list_ops_item_related_items/2,
list_ops_item_related_items/3,
list_ops_metadata/2,
list_ops_metadata/3,
list_resource_compliance_summaries/2,
list_resource_compliance_summaries/3,
list_resource_data_sync/2,
list_resource_data_sync/3,
list_tags_for_resource/2,
list_tags_for_resource/3,
modify_document_permission/2,
modify_document_permission/3,
put_compliance_items/2,
put_compliance_items/3,
put_inventory/2,
put_inventory/3,
put_parameter/2,
put_parameter/3,
put_resource_policy/2,
put_resource_policy/3,
register_default_patch_baseline/2,
register_default_patch_baseline/3,
register_patch_baseline_for_patch_group/2,
register_patch_baseline_for_patch_group/3,
register_target_with_maintenance_window/2,
register_target_with_maintenance_window/3,
register_task_with_maintenance_window/2,
register_task_with_maintenance_window/3,
remove_tags_from_resource/2,
remove_tags_from_resource/3,
reset_service_setting/2,
reset_service_setting/3,
resume_session/2,
resume_session/3,
send_automation_signal/2,
send_automation_signal/3,
send_command/2,
send_command/3,
start_associations_once/2,
start_associations_once/3,
start_automation_execution/2,
start_automation_execution/3,
start_change_request_execution/2,
start_change_request_execution/3,
start_session/2,
start_session/3,
stop_automation_execution/2,
stop_automation_execution/3,
terminate_session/2,
terminate_session/3,
unlabel_parameter_version/2,
unlabel_parameter_version/3,
update_association/2,
update_association/3,
update_association_status/2,
update_association_status/3,
update_document/2,
update_document/3,
update_document_default_version/2,
update_document_default_version/3,
update_document_metadata/2,
update_document_metadata/3,
update_maintenance_window/2,
update_maintenance_window/3,
update_maintenance_window_target/2,
update_maintenance_window_target/3,
update_maintenance_window_task/2,
update_maintenance_window_task/3,
update_managed_instance_role/2,
update_managed_instance_role/3,
update_ops_item/2,
update_ops_item/3,
update_ops_metadata/2,
update_ops_metadata/3,
update_patch_baseline/2,
update_patch_baseline/3,
update_resource_data_sync/2,
update_resource_data_sync/3,
update_service_setting/2,
update_service_setting/3]).
-include_lib("hackney/include/hackney_lib.hrl").
%%====================================================================
%% API
%%====================================================================
%% @doc Adds or overwrites one or more tags for the specified resource.
%%
%% Tags are metadata that you can assign to your automations, documents,
%% managed nodes, maintenance windows, Parameter Store parameters, and patch
%% baselines. Tags enable you to categorize your resources in different ways,
%% for example, by purpose, owner, or environment. Each tag consists of a key
%% and an optional value, both of which you define. For example, you could
%% define a set of tags for your account's managed nodes that helps you
%% track each node's owner and stack level. For example:
%%
%% - `Key=Owner,Value=DbAdmin'
%%
%%
- `Key=Owner,Value=SysAdmin'
%%
%%
- `Key=Owner,Value=Dev'
%%
%%
- `Key=Stack,Value=Production'
%%
%%
- `Key=Stack,Value=Pre-Production'
%%
%%
- `Key=Stack,Value=Test'
%%
%%
Most resources can have a maximum of 50 tags. Automations can
%% have a maximum of 5 tags.
%%
%% We recommend that you devise a set of tag keys that meets your needs for
%% each resource type. Using a consistent set of tag keys makes it easier for
%% you to manage your resources. You can search and filter the resources
%% based on the tags you add. Tags don't have any semantic meaning to and
%% are interpreted strictly as a string of characters.
%%
%% For more information about using tags with Amazon Elastic Compute Cloud
%% (Amazon EC2) instances, see Tagging your Amazon EC2 resources:
%% https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html in the
%% Amazon EC2 User Guide.
add_tags_to_resource(Client, Input)
when is_map(Client), is_map(Input) ->
add_tags_to_resource(Client, Input, []).
add_tags_to_resource(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AddTagsToResource">>, Input, Options).
%% @doc Associates a related item to a Systems Manager OpsCenter OpsItem.
%%
%% For example, you can associate an Incident Manager incident or analysis
%% with an OpsItem. Incident Manager and OpsCenter are capabilities of Amazon
%% Web Services Systems Manager.
associate_ops_item_related_item(Client, Input)
when is_map(Client), is_map(Input) ->
associate_ops_item_related_item(Client, Input, []).
associate_ops_item_related_item(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AssociateOpsItemRelatedItem">>, Input, Options).
%% @doc Attempts to cancel the command specified by the Command ID.
%%
%% There is no guarantee that the command will be terminated and the
%% underlying process stopped.
cancel_command(Client, Input)
when is_map(Client), is_map(Input) ->
cancel_command(Client, Input, []).
cancel_command(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CancelCommand">>, Input, Options).
%% @doc Stops a maintenance window execution that is already in progress and
%% cancels any tasks in the window that haven't already starting running.
%%
%% Tasks already in progress will continue to completion.
cancel_maintenance_window_execution(Client, Input)
when is_map(Client), is_map(Input) ->
cancel_maintenance_window_execution(Client, Input, []).
cancel_maintenance_window_execution(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CancelMaintenanceWindowExecution">>, Input, Options).
%% @doc Generates an activation code and activation ID you can use to
%% register your on-premises servers, edge devices, or virtual machine (VM)
%% with Amazon Web Services Systems Manager.
%%
%% Registering these machines with Systems Manager makes it possible to
%% manage them using Systems Manager capabilities. You use the activation
%% code and ID when installing SSM Agent on machines in your hybrid
%% environment. For more information about requirements for managing
%% on-premises machines using Systems Manager, see Setting up Amazon Web
%% Services Systems Manager for hybrid environments:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and
%% on-premises servers and VMs that are configured for Systems Manager are
%% all called managed nodes.
create_activation(Client, Input)
when is_map(Client), is_map(Input) ->
create_activation(Client, Input, []).
create_activation(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateActivation">>, Input, Options).
%% @doc A State Manager association defines the state that you want to
%% maintain on your managed nodes.
%%
%% For example, an association can specify that anti-virus software must be
%% installed and running on your managed nodes, or that certain ports must be
%% closed. For static targets, the association specifies a schedule for when
%% the configuration is reapplied. For dynamic targets, such as an Amazon Web
%% Services resource group or an Amazon Web Services autoscaling group, State
%% Manager, a capability of Amazon Web Services Systems Manager applies the
%% configuration when new managed nodes are added to the group. The
%% association also specifies actions to take when applying the
%% configuration. For example, an association for anti-virus software might
%% run once a day. If the software isn't installed, then State Manager
%% installs it. If the software is installed, but the service isn't
%% running, then the association might instruct State Manager to start the
%% service.
create_association(Client, Input)
when is_map(Client), is_map(Input) ->
create_association(Client, Input, []).
create_association(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateAssociation">>, Input, Options).
%% @doc Associates the specified Amazon Web Services Systems Manager document
%% (SSM document) with the specified managed nodes or targets.
%%
%% When you associate a document with one or more managed nodes using IDs or
%% tags, Amazon Web Services Systems Manager Agent (SSM Agent) running on the
%% managed node processes the document and configures the node as specified.
%%
%% If you associate a document with a managed node that already has an
%% associated document, the system returns the AssociationAlreadyExists
%% exception.
create_association_batch(Client, Input)
when is_map(Client), is_map(Input) ->
create_association_batch(Client, Input, []).
create_association_batch(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateAssociationBatch">>, Input, Options).
%% @doc Creates a Amazon Web Services Systems Manager (SSM document).
%%
%% An SSM document defines the actions that Systems Manager performs on your
%% managed nodes. For more information about SSM documents, including
%% information about supported schemas, features, and syntax, see Amazon Web
%% Services Systems Manager Documents:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html
%% in the Amazon Web Services Systems Manager User Guide.
create_document(Client, Input)
when is_map(Client), is_map(Input) ->
create_document(Client, Input, []).
create_document(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateDocument">>, Input, Options).
%% @doc Creates a new maintenance window.
%%
%% The value you specify for `Duration' determines the specific end time
%% for the maintenance window based on the time it begins. No maintenance
%% window tasks are permitted to start after the resulting endtime minus the
%% number of hours you specify for `Cutoff'. For example, if the
%% maintenance window starts at 3 PM, the duration is three hours, and the
%% value you specify for `Cutoff' is one hour, no maintenance window
%% tasks can start after 5 PM.
create_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
create_maintenance_window(Client, Input, []).
create_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateMaintenanceWindow">>, Input, Options).
%% @doc Creates a new OpsItem.
%%
%% You must have permission in Identity and Access Management (IAM) to create
%% a new OpsItem. For more information, see Set up OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% Operations engineers and IT professionals use Amazon Web Services Systems
%% Manager OpsCenter to view, investigate, and remediate operational issues
%% impacting the performance and health of their Amazon Web Services
%% resources. For more information, see Amazon Web Services Systems Manager
%% OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html
%% in the Amazon Web Services Systems Manager User Guide.
create_ops_item(Client, Input)
when is_map(Client), is_map(Input) ->
create_ops_item(Client, Input, []).
create_ops_item(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateOpsItem">>, Input, Options).
%% @doc If you create a new application in Application Manager, Amazon Web
%% Services Systems Manager calls this API operation to specify information
%% about the new application, including the application type.
create_ops_metadata(Client, Input)
when is_map(Client), is_map(Input) ->
create_ops_metadata(Client, Input, []).
create_ops_metadata(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateOpsMetadata">>, Input, Options).
%% @doc Creates a patch baseline.
%%
%% For information about valid key-value pairs in `PatchFilters' for each
%% supported operating system type, see `PatchFilter'.
create_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
create_patch_baseline(Client, Input, []).
create_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreatePatchBaseline">>, Input, Options).
%% @doc A resource data sync helps you view data from multiple sources in a
%% single location.
%%
%% Amazon Web Services Systems Manager offers two types of resource data
%% sync: `SyncToDestination' and `SyncFromSource'.
%%
%% You can configure Systems Manager Inventory to use the
%% `SyncToDestination' type to synchronize Inventory data from multiple
%% Amazon Web Services Regions to a single Amazon Simple Storage Service
%% (Amazon S3) bucket. For more information, see Configuring resource data
%% sync for Inventory:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% You can configure Systems Manager Explorer to use the `SyncFromSource'
%% type to synchronize operational work items (OpsItems) and operational data
%% (OpsData) from multiple Amazon Web Services Regions to a single Amazon S3
%% bucket. This type can synchronize OpsItems and OpsData from multiple
%% Amazon Web Services accounts and Amazon Web Services Regions or
%% `EntireOrganization' by using Organizations. For more information, see
%% Setting up Systems Manager Explorer to display data from multiple accounts
%% and Regions:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% A resource data sync is an asynchronous operation that returns
%% immediately. After a successful initial sync is completed, the system
%% continuously syncs data. To check the status of a sync, use the
%% `ListResourceDataSync'.
%%
%% By default, data isn't encrypted in Amazon S3. We strongly recommend
%% that you enable encryption in Amazon S3 to ensure secure data storage. We
%% also recommend that you secure access to the Amazon S3 bucket by creating
%% a restrictive bucket policy.
create_resource_data_sync(Client, Input)
when is_map(Client), is_map(Input) ->
create_resource_data_sync(Client, Input, []).
create_resource_data_sync(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateResourceDataSync">>, Input, Options).
%% @doc Deletes an activation.
%%
%% You aren't required to delete an activation. If you delete an
%% activation, you can no longer use it to register additional managed nodes.
%% Deleting an activation doesn't de-register managed nodes. You must
%% manually de-register managed nodes.
delete_activation(Client, Input)
when is_map(Client), is_map(Input) ->
delete_activation(Client, Input, []).
delete_activation(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteActivation">>, Input, Options).
%% @doc Disassociates the specified Amazon Web Services Systems Manager
%% document (SSM document) from the specified managed node.
%%
%% If you created the association by using the `Targets' parameter, then
%% you must delete the association by using the association ID.
%%
%% When you disassociate a document from a managed node, it doesn't
%% change the configuration of the node. To change the configuration state of
%% a managed node after you disassociate a document, you must create a new
%% document with the desired configuration and associate it with the node.
delete_association(Client, Input)
when is_map(Client), is_map(Input) ->
delete_association(Client, Input, []).
delete_association(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteAssociation">>, Input, Options).
%% @doc Deletes the Amazon Web Services Systems Manager document (SSM
%% document) and all managed node associations to the document.
%%
%% Before you delete the document, we recommend that you use
%% `DeleteAssociation' to disassociate all managed nodes that are
%% associated with the document.
delete_document(Client, Input)
when is_map(Client), is_map(Input) ->
delete_document(Client, Input, []).
delete_document(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteDocument">>, Input, Options).
%% @doc Delete a custom inventory type or the data associated with a custom
%% Inventory type.
%%
%% Deleting a custom inventory type is also referred to as deleting a custom
%% inventory schema.
delete_inventory(Client, Input)
when is_map(Client), is_map(Input) ->
delete_inventory(Client, Input, []).
delete_inventory(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteInventory">>, Input, Options).
%% @doc Deletes a maintenance window.
delete_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
delete_maintenance_window(Client, Input, []).
delete_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteMaintenanceWindow">>, Input, Options).
%% @doc Delete an OpsItem.
%%
%% You must have permission in Identity and Access Management (IAM) to delete
%% an OpsItem.
%%
%% Note the following important information about this operation.
%%
%% Deleting an OpsItem is irreversible. You can't restore a deleted
%% OpsItem.
%%
%% This operation uses an eventual consistency model, which means the system
%% can take a few minutes to complete this operation. If you delete an
%% OpsItem and immediately call, for example, `GetOpsItem', the deleted
%% OpsItem might still appear in the response.
%%
%% This operation is idempotent. The system doesn't throw an exception if
%% you repeatedly call this operation for the same OpsItem. If the first call
%% is successful, all additional calls return the same successful response as
%% the first call.
%%
%% This operation doesn't support cross-account calls. A delegated
%% administrator or management account can't delete OpsItems in other
%% accounts, even if OpsCenter has been set up for cross-account
%% administration. For more information about cross-account administration,
%% see Setting up OpsCenter to centrally manage OpsItems across accounts:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setting-up-cross-account.html
%% in the Systems Manager User Guide.
delete_ops_item(Client, Input)
when is_map(Client), is_map(Input) ->
delete_ops_item(Client, Input, []).
delete_ops_item(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteOpsItem">>, Input, Options).
%% @doc Delete OpsMetadata related to an application.
delete_ops_metadata(Client, Input)
when is_map(Client), is_map(Input) ->
delete_ops_metadata(Client, Input, []).
delete_ops_metadata(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteOpsMetadata">>, Input, Options).
%% @doc Delete a parameter from the system.
%%
%% After deleting a parameter, wait for at least 30 seconds to create a
%% parameter with the same name.
delete_parameter(Client, Input)
when is_map(Client), is_map(Input) ->
delete_parameter(Client, Input, []).
delete_parameter(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteParameter">>, Input, Options).
%% @doc Delete a list of parameters.
%%
%% After deleting a parameter, wait for at least 30 seconds to create a
%% parameter with the same name.
delete_parameters(Client, Input)
when is_map(Client), is_map(Input) ->
delete_parameters(Client, Input, []).
delete_parameters(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteParameters">>, Input, Options).
%% @doc Deletes a patch baseline.
delete_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
delete_patch_baseline(Client, Input, []).
delete_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeletePatchBaseline">>, Input, Options).
%% @doc Deletes a resource data sync configuration.
%%
%% After the configuration is deleted, changes to data on managed nodes are
%% no longer synced to or from the target. Deleting a sync configuration
%% doesn't delete data.
delete_resource_data_sync(Client, Input)
when is_map(Client), is_map(Input) ->
delete_resource_data_sync(Client, Input, []).
delete_resource_data_sync(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteResourceDataSync">>, Input, Options).
%% @doc Deletes a Systems Manager resource policy.
%%
%% A resource policy helps you to define the IAM entity (for example, an
%% Amazon Web Services account) that can manage your Systems Manager
%% resources. The following resources support Systems Manager resource
%% policies.
%%
%% - `OpsItemGroup' - The resource policy for `OpsItemGroup'
%% enables Amazon Web Services accounts to view and interact with OpsCenter
%% operational work items (OpsItems).
%%
%%
- `Parameter' - The resource policy is used to share a
%% parameter with other accounts using Resource Access Manager (RAM). For
%% more information about cross-account sharing of parameters, see Working
%% with shared parameters:
%% systems-manager/latest/userguide/parameter-store-shared-parameters.html in
%% the Amazon Web Services Systems Manager User Guide.
%%
%%
delete_resource_policy(Client, Input)
when is_map(Client), is_map(Input) ->
delete_resource_policy(Client, Input, []).
delete_resource_policy(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteResourcePolicy">>, Input, Options).
%% @doc Removes the server or virtual machine from the list of registered
%% servers.
%%
%% You can reregister the node again at any time. If you don't plan to
%% use Run Command on the server, we suggest uninstalling SSM Agent first.
deregister_managed_instance(Client, Input)
when is_map(Client), is_map(Input) ->
deregister_managed_instance(Client, Input, []).
deregister_managed_instance(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeregisterManagedInstance">>, Input, Options).
%% @doc Removes a patch group from a patch baseline.
deregister_patch_baseline_for_patch_group(Client, Input)
when is_map(Client), is_map(Input) ->
deregister_patch_baseline_for_patch_group(Client, Input, []).
deregister_patch_baseline_for_patch_group(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeregisterPatchBaselineForPatchGroup">>, Input, Options).
%% @doc Removes a target from a maintenance window.
deregister_target_from_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
deregister_target_from_maintenance_window(Client, Input, []).
deregister_target_from_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeregisterTargetFromMaintenanceWindow">>, Input, Options).
%% @doc Removes a task from a maintenance window.
deregister_task_from_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
deregister_task_from_maintenance_window(Client, Input, []).
deregister_task_from_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeregisterTaskFromMaintenanceWindow">>, Input, Options).
%% @doc Describes details about the activation, such as the date and time the
%% activation was created, its expiration date, the Identity and Access
%% Management (IAM) role assigned to the managed nodes in the activation, and
%% the number of nodes registered by using this activation.
describe_activations(Client, Input)
when is_map(Client), is_map(Input) ->
describe_activations(Client, Input, []).
describe_activations(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeActivations">>, Input, Options).
%% @doc Describes the association for the specified target or managed node.
%%
%% If you created the association by using the `Targets' parameter, then
%% you must retrieve the association by using the association ID.
describe_association(Client, Input)
when is_map(Client), is_map(Input) ->
describe_association(Client, Input, []).
describe_association(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeAssociation">>, Input, Options).
%% @doc Views information about a specific execution of a specific
%% association.
describe_association_execution_targets(Client, Input)
when is_map(Client), is_map(Input) ->
describe_association_execution_targets(Client, Input, []).
describe_association_execution_targets(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeAssociationExecutionTargets">>, Input, Options).
%% @doc Views all executions for a specific association ID.
describe_association_executions(Client, Input)
when is_map(Client), is_map(Input) ->
describe_association_executions(Client, Input, []).
describe_association_executions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeAssociationExecutions">>, Input, Options).
%% @doc Provides details about all active and terminated Automation
%% executions.
describe_automation_executions(Client, Input)
when is_map(Client), is_map(Input) ->
describe_automation_executions(Client, Input, []).
describe_automation_executions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeAutomationExecutions">>, Input, Options).
%% @doc Information about all active and terminated step executions in an
%% Automation workflow.
describe_automation_step_executions(Client, Input)
when is_map(Client), is_map(Input) ->
describe_automation_step_executions(Client, Input, []).
describe_automation_step_executions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeAutomationStepExecutions">>, Input, Options).
%% @doc Lists all patches eligible to be included in a patch baseline.
%%
%% Currently, `DescribeAvailablePatches' supports only the Amazon Linux
%% 1, Amazon Linux 2, and Windows Server operating systems.
describe_available_patches(Client, Input)
when is_map(Client), is_map(Input) ->
describe_available_patches(Client, Input, []).
describe_available_patches(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeAvailablePatches">>, Input, Options).
%% @doc Describes the specified Amazon Web Services Systems Manager document
%% (SSM document).
describe_document(Client, Input)
when is_map(Client), is_map(Input) ->
describe_document(Client, Input, []).
describe_document(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeDocument">>, Input, Options).
%% @doc Describes the permissions for a Amazon Web Services Systems Manager
%% document (SSM document).
%%
%% If you created the document, you are the owner. If a document is shared,
%% it can either be shared privately (by specifying a user's Amazon Web
%% Services account ID) or publicly (All).
describe_document_permission(Client, Input)
when is_map(Client), is_map(Input) ->
describe_document_permission(Client, Input, []).
describe_document_permission(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeDocumentPermission">>, Input, Options).
%% @doc All associations for the managed node(s).
describe_effective_instance_associations(Client, Input)
when is_map(Client), is_map(Input) ->
describe_effective_instance_associations(Client, Input, []).
describe_effective_instance_associations(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeEffectiveInstanceAssociations">>, Input, Options).
%% @doc Retrieves the current effective patches (the patch and the approval
%% state) for the specified patch baseline.
%%
%% Applies to patch baselines for Windows only.
describe_effective_patches_for_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
describe_effective_patches_for_patch_baseline(Client, Input, []).
describe_effective_patches_for_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeEffectivePatchesForPatchBaseline">>, Input, Options).
%% @doc The status of the associations for the managed node(s).
describe_instance_associations_status(Client, Input)
when is_map(Client), is_map(Input) ->
describe_instance_associations_status(Client, Input, []).
describe_instance_associations_status(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeInstanceAssociationsStatus">>, Input, Options).
%% @doc Provides information about one or more of your managed nodes,
%% including the operating system platform, SSM Agent version, association
%% status, and IP address.
%%
%% This operation does not return information for nodes that are either
%% Stopped or Terminated.
%%
%% If you specify one or more node IDs, the operation returns information for
%% those managed nodes. If you don't specify node IDs, it returns
%% information for all your managed nodes. If you specify a node ID that
%% isn't valid or a node that you don't own, you receive an error.
%%
%% The `IamRole' field returned for this API operation is the Identity
%% and Access Management (IAM) role assigned to on-premises managed nodes.
%% This operation does not return the IAM role for EC2 instances.
describe_instance_information(Client, Input)
when is_map(Client), is_map(Input) ->
describe_instance_information(Client, Input, []).
describe_instance_information(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeInstanceInformation">>, Input, Options).
%% @doc Retrieves the high-level patch state of one or more managed nodes.
describe_instance_patch_states(Client, Input)
when is_map(Client), is_map(Input) ->
describe_instance_patch_states(Client, Input, []).
describe_instance_patch_states(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeInstancePatchStates">>, Input, Options).
%% @doc Retrieves the high-level patch state for the managed nodes in the
%% specified patch group.
describe_instance_patch_states_for_patch_group(Client, Input)
when is_map(Client), is_map(Input) ->
describe_instance_patch_states_for_patch_group(Client, Input, []).
describe_instance_patch_states_for_patch_group(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeInstancePatchStatesForPatchGroup">>, Input, Options).
%% @doc Retrieves information about the patches on the specified managed node
%% and their state relative to the patch baseline being used for the node.
describe_instance_patches(Client, Input)
when is_map(Client), is_map(Input) ->
describe_instance_patches(Client, Input, []).
describe_instance_patches(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeInstancePatches">>, Input, Options).
%% @doc Describes a specific delete inventory operation.
describe_inventory_deletions(Client, Input)
when is_map(Client), is_map(Input) ->
describe_inventory_deletions(Client, Input, []).
describe_inventory_deletions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeInventoryDeletions">>, Input, Options).
%% @doc Retrieves the individual task executions (one per target) for a
%% particular task run as part of a maintenance window execution.
describe_maintenance_window_execution_task_invocations(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_window_execution_task_invocations(Client, Input, []).
describe_maintenance_window_execution_task_invocations(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowExecutionTaskInvocations">>, Input, Options).
%% @doc For a given maintenance window execution, lists the tasks that were
%% run.
describe_maintenance_window_execution_tasks(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_window_execution_tasks(Client, Input, []).
describe_maintenance_window_execution_tasks(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowExecutionTasks">>, Input, Options).
%% @doc Lists the executions of a maintenance window.
%%
%% This includes information about when the maintenance window was scheduled
%% to be active, and information about tasks registered and run with the
%% maintenance window.
describe_maintenance_window_executions(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_window_executions(Client, Input, []).
describe_maintenance_window_executions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowExecutions">>, Input, Options).
%% @doc Retrieves information about upcoming executions of a maintenance
%% window.
describe_maintenance_window_schedule(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_window_schedule(Client, Input, []).
describe_maintenance_window_schedule(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowSchedule">>, Input, Options).
%% @doc Lists the targets registered with the maintenance window.
describe_maintenance_window_targets(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_window_targets(Client, Input, []).
describe_maintenance_window_targets(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowTargets">>, Input, Options).
%% @doc Lists the tasks in a maintenance window.
%%
%% For maintenance window tasks without a specified target, you can't
%% supply values for `--max-errors' and `--max-concurrency'. Instead,
%% the system inserts a placeholder value of `1', which may be reported
%% in the response to this command. These values don't affect the running
%% of your task and can be ignored.
describe_maintenance_window_tasks(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_window_tasks(Client, Input, []).
describe_maintenance_window_tasks(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowTasks">>, Input, Options).
%% @doc Retrieves the maintenance windows in an Amazon Web Services account.
describe_maintenance_windows(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_windows(Client, Input, []).
describe_maintenance_windows(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindows">>, Input, Options).
%% @doc Retrieves information about the maintenance window targets or tasks
%% that a managed node is associated with.
describe_maintenance_windows_for_target(Client, Input)
when is_map(Client), is_map(Input) ->
describe_maintenance_windows_for_target(Client, Input, []).
describe_maintenance_windows_for_target(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeMaintenanceWindowsForTarget">>, Input, Options).
%% @doc Query a set of OpsItems.
%%
%% You must have permission in Identity and Access Management (IAM) to query
%% a list of OpsItems. For more information, see Set up OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% Operations engineers and IT professionals use Amazon Web Services Systems
%% Manager OpsCenter to view, investigate, and remediate operational issues
%% impacting the performance and health of their Amazon Web Services
%% resources. For more information, see OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html
%% in the Amazon Web Services Systems Manager User Guide.
describe_ops_items(Client, Input)
when is_map(Client), is_map(Input) ->
describe_ops_items(Client, Input, []).
describe_ops_items(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeOpsItems">>, Input, Options).
%% @doc Lists the parameters in your Amazon Web Services account or the
%% parameters shared with you when you enable the Shared:
%% https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html#systemsmanager-DescribeParameters-request-Shared
%% option.
%%
%% Request results are returned on a best-effort basis. If you specify
%% `MaxResults' in the request, the response includes information up to
%% the limit specified. The number of items returned, however, can be between
%% zero and the value of `MaxResults'. If the service reaches an internal
%% limit while processing the results, it stops the operation and returns the
%% matching values up to that point and a `NextToken'. You can specify
%% the `NextToken' in a subsequent call to get the next set of results.
%%
%% If you change the KMS key alias for the KMS key used to encrypt a
%% parameter, then you must also update the key alias the parameter uses to
%% reference KMS. Otherwise, `DescribeParameters' retrieves whatever the
%% original key alias was referencing.
describe_parameters(Client, Input)
when is_map(Client), is_map(Input) ->
describe_parameters(Client, Input, []).
describe_parameters(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeParameters">>, Input, Options).
%% @doc Lists the patch baselines in your Amazon Web Services account.
describe_patch_baselines(Client, Input)
when is_map(Client), is_map(Input) ->
describe_patch_baselines(Client, Input, []).
describe_patch_baselines(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribePatchBaselines">>, Input, Options).
%% @doc Returns high-level aggregated patch compliance state information for
%% a patch group.
describe_patch_group_state(Client, Input)
when is_map(Client), is_map(Input) ->
describe_patch_group_state(Client, Input, []).
describe_patch_group_state(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribePatchGroupState">>, Input, Options).
%% @doc Lists all patch groups that have been registered with patch
%% baselines.
describe_patch_groups(Client, Input)
when is_map(Client), is_map(Input) ->
describe_patch_groups(Client, Input, []).
describe_patch_groups(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribePatchGroups">>, Input, Options).
%% @doc Lists the properties of available patches organized by product,
%% product family, classification, severity, and other properties of
%% available patches.
%%
%% You can use the reported properties in the filters you specify in requests
%% for operations such as `CreatePatchBaseline',
%% `UpdatePatchBaseline', `DescribeAvailablePatches', and
%% `DescribePatchBaselines'.
%%
%% The following section lists the properties that can be used in filters for
%% each major operating system type:
%%
%% - AMAZON_LINUX
- Valid properties: `PRODUCT' |
%% `CLASSIFICATION' | `SEVERITY'
%%
%%
- AMAZON_LINUX_2
- Valid properties: `PRODUCT' |
%% `CLASSIFICATION' | `SEVERITY'
%%
%%
- CENTOS
- Valid properties: `PRODUCT' |
%% `CLASSIFICATION' | `SEVERITY'
%%
%%
- DEBIAN
- Valid properties: `PRODUCT' |
%% `PRIORITY'
%%
%%
- MACOS
- Valid properties: `PRODUCT' |
%% `CLASSIFICATION'
%%
%%
- ORACLE_LINUX
- Valid properties: `PRODUCT' |
%% `CLASSIFICATION' | `SEVERITY'
%%
%%
- REDHAT_ENTERPRISE_LINUX
- Valid properties:
%% `PRODUCT' | `CLASSIFICATION' | `SEVERITY'
%%
%%
- SUSE
- Valid properties: `PRODUCT' |
%% `CLASSIFICATION' | `SEVERITY'
%%
%%
- UBUNTU
- Valid properties: `PRODUCT' |
%% `PRIORITY'
%%
%%
- WINDOWS
- Valid properties: `PRODUCT' |
%% `PRODUCT_FAMILY' | `CLASSIFICATION' | `MSRC_SEVERITY'
%%
%%
describe_patch_properties(Client, Input)
when is_map(Client), is_map(Input) ->
describe_patch_properties(Client, Input, []).
describe_patch_properties(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribePatchProperties">>, Input, Options).
%% @doc Retrieves a list of all active sessions (both connected and
%% disconnected) or terminated sessions from the past 30 days.
describe_sessions(Client, Input)
when is_map(Client), is_map(Input) ->
describe_sessions(Client, Input, []).
describe_sessions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeSessions">>, Input, Options).
%% @doc Deletes the association between an OpsItem and a related item.
%%
%% For example, this API operation can delete an Incident Manager incident
%% from an OpsItem. Incident Manager is a capability of Amazon Web Services
%% Systems Manager.
disassociate_ops_item_related_item(Client, Input)
when is_map(Client), is_map(Input) ->
disassociate_ops_item_related_item(Client, Input, []).
disassociate_ops_item_related_item(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DisassociateOpsItemRelatedItem">>, Input, Options).
%% @doc Get detailed information about a particular Automation execution.
get_automation_execution(Client, Input)
when is_map(Client), is_map(Input) ->
get_automation_execution(Client, Input, []).
get_automation_execution(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetAutomationExecution">>, Input, Options).
%% @doc Gets the state of a Amazon Web Services Systems Manager change
%% calendar at the current time or a specified time.
%%
%% If you specify a time, `GetCalendarState' returns the state of the
%% calendar at that specific time, and returns the next time that the change
%% calendar state will transition. If you don't specify a time,
%% `GetCalendarState' uses the current time. Change Calendar entries have
%% two possible states: `OPEN' or `CLOSED'.
%%
%% If you specify more than one calendar in a request, the command returns
%% the status of `OPEN' only if all calendars in the request are open. If
%% one or more calendars in the request are closed, the status returned is
%% `CLOSED'.
%%
%% For more information about Change Calendar, a capability of Amazon Web
%% Services Systems Manager, see Amazon Web Services Systems Manager Change
%% Calendar:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html
%% in the Amazon Web Services Systems Manager User Guide.
get_calendar_state(Client, Input)
when is_map(Client), is_map(Input) ->
get_calendar_state(Client, Input, []).
get_calendar_state(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetCalendarState">>, Input, Options).
%% @doc Returns detailed information about command execution for an
%% invocation or plugin.
%%
%% `GetCommandInvocation' only gives the execution status of a plugin in
%% a document. To get the command execution status on a specific managed
%% node, use `ListCommandInvocations'. To get the command execution
%% status across managed nodes, use `ListCommands'.
get_command_invocation(Client, Input)
when is_map(Client), is_map(Input) ->
get_command_invocation(Client, Input, []).
get_command_invocation(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetCommandInvocation">>, Input, Options).
%% @doc Retrieves the Session Manager connection status for a managed node to
%% determine whether it is running and ready to receive Session Manager
%% connections.
get_connection_status(Client, Input)
when is_map(Client), is_map(Input) ->
get_connection_status(Client, Input, []).
get_connection_status(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetConnectionStatus">>, Input, Options).
%% @doc Retrieves the default patch baseline.
%%
%% Amazon Web Services Systems Manager supports creating multiple default
%% patch baselines. For example, you can create a default patch baseline for
%% each operating system.
%%
%% If you don't specify an operating system value, the default patch
%% baseline for Windows is returned.
get_default_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
get_default_patch_baseline(Client, Input, []).
get_default_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetDefaultPatchBaseline">>, Input, Options).
%% @doc Retrieves the current snapshot for the patch baseline the managed
%% node uses.
%%
%% This API is primarily used by the `AWS-RunPatchBaseline' Systems
%% Manager document (SSM document).
%%
%% If you run the command locally, such as with the Command Line Interface
%% (CLI), the system attempts to use your local Amazon Web Services
%% credentials and the operation fails. To avoid this, you can run the
%% command in the Amazon Web Services Systems Manager console. Use Run
%% Command, a capability of Amazon Web Services Systems Manager, with an SSM
%% document that enables you to target a managed node with a script or
%% command. For example, run the command using the `AWS-RunShellScript'
%% document or the `AWS-RunPowerShellScript' document.
get_deployable_patch_snapshot_for_instance(Client, Input)
when is_map(Client), is_map(Input) ->
get_deployable_patch_snapshot_for_instance(Client, Input, []).
get_deployable_patch_snapshot_for_instance(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetDeployablePatchSnapshotForInstance">>, Input, Options).
%% @doc Gets the contents of the specified Amazon Web Services Systems
%% Manager document (SSM document).
get_document(Client, Input)
when is_map(Client), is_map(Input) ->
get_document(Client, Input, []).
get_document(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetDocument">>, Input, Options).
%% @doc Query inventory information.
%%
%% This includes managed node status, such as `Stopped' or
%% `Terminated'.
get_inventory(Client, Input)
when is_map(Client), is_map(Input) ->
get_inventory(Client, Input, []).
get_inventory(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetInventory">>, Input, Options).
%% @doc Return a list of inventory type names for the account, or return a
%% list of attribute names for a specific Inventory item type.
get_inventory_schema(Client, Input)
when is_map(Client), is_map(Input) ->
get_inventory_schema(Client, Input, []).
get_inventory_schema(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetInventorySchema">>, Input, Options).
%% @doc Retrieves a maintenance window.
get_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
get_maintenance_window(Client, Input, []).
get_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetMaintenanceWindow">>, Input, Options).
%% @doc Retrieves details about a specific a maintenance window execution.
get_maintenance_window_execution(Client, Input)
when is_map(Client), is_map(Input) ->
get_maintenance_window_execution(Client, Input, []).
get_maintenance_window_execution(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetMaintenanceWindowExecution">>, Input, Options).
%% @doc Retrieves the details about a specific task run as part of a
%% maintenance window execution.
get_maintenance_window_execution_task(Client, Input)
when is_map(Client), is_map(Input) ->
get_maintenance_window_execution_task(Client, Input, []).
get_maintenance_window_execution_task(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetMaintenanceWindowExecutionTask">>, Input, Options).
%% @doc Retrieves information about a specific task running on a specific
%% target.
get_maintenance_window_execution_task_invocation(Client, Input)
when is_map(Client), is_map(Input) ->
get_maintenance_window_execution_task_invocation(Client, Input, []).
get_maintenance_window_execution_task_invocation(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetMaintenanceWindowExecutionTaskInvocation">>, Input, Options).
%% @doc Retrieves the details of a maintenance window task.
%%
%% For maintenance window tasks without a specified target, you can't
%% supply values for `--max-errors' and `--max-concurrency'. Instead,
%% the system inserts a placeholder value of `1', which may be reported
%% in the response to this command. These values don't affect the running
%% of your task and can be ignored.
%%
%% To retrieve a list of tasks in a maintenance window, instead use the
%% `DescribeMaintenanceWindowTasks' command.
get_maintenance_window_task(Client, Input)
when is_map(Client), is_map(Input) ->
get_maintenance_window_task(Client, Input, []).
get_maintenance_window_task(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetMaintenanceWindowTask">>, Input, Options).
%% @doc Get information about an OpsItem by using the ID.
%%
%% You must have permission in Identity and Access Management (IAM) to view
%% information about an OpsItem. For more information, see Set up OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% Operations engineers and IT professionals use Amazon Web Services Systems
%% Manager OpsCenter to view, investigate, and remediate operational issues
%% impacting the performance and health of their Amazon Web Services
%% resources. For more information, see OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html
%% in the Amazon Web Services Systems Manager User Guide.
get_ops_item(Client, Input)
when is_map(Client), is_map(Input) ->
get_ops_item(Client, Input, []).
get_ops_item(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetOpsItem">>, Input, Options).
%% @doc View operational metadata related to an application in Application
%% Manager.
get_ops_metadata(Client, Input)
when is_map(Client), is_map(Input) ->
get_ops_metadata(Client, Input, []).
get_ops_metadata(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetOpsMetadata">>, Input, Options).
%% @doc View a summary of operations metadata (OpsData) based on specified
%% filters and aggregators.
%%
%% OpsData can include information about Amazon Web Services Systems Manager
%% OpsCenter operational workitems (OpsItems) as well as information about
%% any Amazon Web Services resource or service configured to report OpsData
%% to Amazon Web Services Systems Manager Explorer.
get_ops_summary(Client, Input)
when is_map(Client), is_map(Input) ->
get_ops_summary(Client, Input, []).
get_ops_summary(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetOpsSummary">>, Input, Options).
%% @doc Get information about a single parameter by specifying the parameter
%% name.
%%
%% To get information about more than one parameter at a time, use the
%% `GetParameters' operation.
get_parameter(Client, Input)
when is_map(Client), is_map(Input) ->
get_parameter(Client, Input, []).
get_parameter(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetParameter">>, Input, Options).
%% @doc Retrieves the history of all changes to a parameter.
%%
%% If you change the KMS key alias for the KMS key used to encrypt a
%% parameter, then you must also update the key alias the parameter uses to
%% reference KMS. Otherwise, `GetParameterHistory' retrieves whatever the
%% original key alias was referencing.
get_parameter_history(Client, Input)
when is_map(Client), is_map(Input) ->
get_parameter_history(Client, Input, []).
get_parameter_history(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetParameterHistory">>, Input, Options).
%% @doc Get information about one or more parameters by specifying multiple
%% parameter names.
%%
%% To get information about a single parameter, you can use the
%% `GetParameter' operation instead.
get_parameters(Client, Input)
when is_map(Client), is_map(Input) ->
get_parameters(Client, Input, []).
get_parameters(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetParameters">>, Input, Options).
%% @doc Retrieve information about one or more parameters in a specific
%% hierarchy.
%%
%% Request results are returned on a best-effort basis. If you specify
%% `MaxResults' in the request, the response includes information up to
%% the limit specified. The number of items returned, however, can be between
%% zero and the value of `MaxResults'. If the service reaches an internal
%% limit while processing the results, it stops the operation and returns the
%% matching values up to that point and a `NextToken'. You can specify
%% the `NextToken' in a subsequent call to get the next set of results.
get_parameters_by_path(Client, Input)
when is_map(Client), is_map(Input) ->
get_parameters_by_path(Client, Input, []).
get_parameters_by_path(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetParametersByPath">>, Input, Options).
%% @doc Retrieves information about a patch baseline.
get_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
get_patch_baseline(Client, Input, []).
get_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetPatchBaseline">>, Input, Options).
%% @doc Retrieves the patch baseline that should be used for the specified
%% patch group.
get_patch_baseline_for_patch_group(Client, Input)
when is_map(Client), is_map(Input) ->
get_patch_baseline_for_patch_group(Client, Input, []).
get_patch_baseline_for_patch_group(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetPatchBaselineForPatchGroup">>, Input, Options).
%% @doc Returns an array of the `Policy' object.
get_resource_policies(Client, Input)
when is_map(Client), is_map(Input) ->
get_resource_policies(Client, Input, []).
get_resource_policies(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetResourcePolicies">>, Input, Options).
%% @doc `ServiceSetting' is an account-level setting for an Amazon Web
%% Services service.
%%
%% This setting defines how a user interacts with or uses a service or a
%% feature of a service. For example, if an Amazon Web Services service
%% charges money to the account based on feature or service usage, then the
%% Amazon Web Services service team might create a default setting of
%% `false'. This means the user can't use this feature unless they
%% change the setting to `true' and intentionally opt in for a paid
%% feature.
%%
%% Services map a `SettingId' object to a setting value. Amazon Web
%% Services services teams define the default value for a `SettingId'.
%% You can't create a new `SettingId', but you can overwrite the
%% default value if you have the `ssm:UpdateServiceSetting' permission
%% for the setting. Use the `UpdateServiceSetting' API operation to
%% change the default setting. Or use the `ResetServiceSetting' to change
%% the value back to the original value defined by the Amazon Web Services
%% service team.
%%
%% Query the current service setting for the Amazon Web Services account.
get_service_setting(Client, Input)
when is_map(Client), is_map(Input) ->
get_service_setting(Client, Input, []).
get_service_setting(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"GetServiceSetting">>, Input, Options).
%% @doc A parameter label is a user-defined alias to help you manage
%% different versions of a parameter.
%%
%% When you modify a parameter, Amazon Web Services Systems Manager
%% automatically saves a new version and increments the version number by
%% one. A label can help you remember the purpose of a parameter when there
%% are multiple versions.
%%
%% Parameter labels have the following requirements and restrictions.
%%
%% - A version of a parameter can have a maximum of 10 labels.
%%
%%
- You can't attach the same label to different versions of
%% the same parameter. For example, if version 1 has the label Production,
%% then you can't attach Production to version 2.
%%
%%
- You can move a label from one version of a parameter to
%% another.
%%
%%
- You can't create a label when you create a new parameter.
%% You must attach a label to a specific version of a parameter.
%%
%%
- If you no longer want to use a parameter label, then you can
%% either delete it or move it to a different version of a parameter.
%%
%%
- A label can have a maximum of 100 characters.
%%
%%
- Labels can contain letters (case sensitive), numbers, periods
%% (.), hyphens (-), or underscores (_).
%%
%%
- Labels can't begin with a number, "`aws'" or
%% "`ssm'" (not case sensitive). If a label fails to meet these
%% requirements, then the label isn't associated with a parameter and the
%% system displays it in the list of InvalidLabels.
%%
%%
label_parameter_version(Client, Input)
when is_map(Client), is_map(Input) ->
label_parameter_version(Client, Input, []).
label_parameter_version(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"LabelParameterVersion">>, Input, Options).
%% @doc Retrieves all versions of an association for a specific association
%% ID.
list_association_versions(Client, Input)
when is_map(Client), is_map(Input) ->
list_association_versions(Client, Input, []).
list_association_versions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListAssociationVersions">>, Input, Options).
%% @doc Returns all State Manager associations in the current Amazon Web
%% Services account and Amazon Web Services Region.
%%
%% You can limit the results to a specific State Manager association document
%% or managed node by specifying a filter. State Manager is a capability of
%% Amazon Web Services Systems Manager.
list_associations(Client, Input)
when is_map(Client), is_map(Input) ->
list_associations(Client, Input, []).
list_associations(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListAssociations">>, Input, Options).
%% @doc An invocation is copy of a command sent to a specific managed node.
%%
%% A command can apply to one or more managed nodes. A command invocation
%% applies to one managed node. For example, if a user runs `SendCommand'
%% against three managed nodes, then a command invocation is created for each
%% requested managed node ID. `ListCommandInvocations' provide status
%% about command execution.
list_command_invocations(Client, Input)
when is_map(Client), is_map(Input) ->
list_command_invocations(Client, Input, []).
list_command_invocations(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListCommandInvocations">>, Input, Options).
%% @doc Lists the commands requested by users of the Amazon Web Services
%% account.
list_commands(Client, Input)
when is_map(Client), is_map(Input) ->
list_commands(Client, Input, []).
list_commands(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListCommands">>, Input, Options).
%% @doc For a specified resource ID, this API operation returns a list of
%% compliance statuses for different resource types.
%%
%% Currently, you can only specify one resource ID per call. List results
%% depend on the criteria specified in the filter.
list_compliance_items(Client, Input)
when is_map(Client), is_map(Input) ->
list_compliance_items(Client, Input, []).
list_compliance_items(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListComplianceItems">>, Input, Options).
%% @doc Returns a summary count of compliant and non-compliant resources for
%% a compliance type.
%%
%% For example, this call can return State Manager associations, patches, or
%% custom compliance types according to the filter criteria that you specify.
list_compliance_summaries(Client, Input)
when is_map(Client), is_map(Input) ->
list_compliance_summaries(Client, Input, []).
list_compliance_summaries(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListComplianceSummaries">>, Input, Options).
%% @doc Information about approval reviews for a version of a change template
%% in Change Manager.
list_document_metadata_history(Client, Input)
when is_map(Client), is_map(Input) ->
list_document_metadata_history(Client, Input, []).
list_document_metadata_history(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListDocumentMetadataHistory">>, Input, Options).
%% @doc List all versions for a document.
list_document_versions(Client, Input)
when is_map(Client), is_map(Input) ->
list_document_versions(Client, Input, []).
list_document_versions(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListDocumentVersions">>, Input, Options).
%% @doc Returns all Systems Manager (SSM) documents in the current Amazon Web
%% Services account and Amazon Web Services Region.
%%
%% You can limit the results of this request by using a filter.
list_documents(Client, Input)
when is_map(Client), is_map(Input) ->
list_documents(Client, Input, []).
list_documents(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListDocuments">>, Input, Options).
%% @doc A list of inventory items returned by the request.
list_inventory_entries(Client, Input)
when is_map(Client), is_map(Input) ->
list_inventory_entries(Client, Input, []).
list_inventory_entries(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListInventoryEntries">>, Input, Options).
%% @doc Returns a list of all OpsItem events in the current Amazon Web
%% Services Region and Amazon Web Services account.
%%
%% You can limit the results to events associated with specific OpsItems by
%% specifying a filter.
list_ops_item_events(Client, Input)
when is_map(Client), is_map(Input) ->
list_ops_item_events(Client, Input, []).
list_ops_item_events(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListOpsItemEvents">>, Input, Options).
%% @doc Lists all related-item resources associated with a Systems Manager
%% OpsCenter OpsItem.
%%
%% OpsCenter is a capability of Amazon Web Services Systems Manager.
list_ops_item_related_items(Client, Input)
when is_map(Client), is_map(Input) ->
list_ops_item_related_items(Client, Input, []).
list_ops_item_related_items(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListOpsItemRelatedItems">>, Input, Options).
%% @doc Amazon Web Services Systems Manager calls this API operation when
%% displaying all Application Manager OpsMetadata objects or blobs.
list_ops_metadata(Client, Input)
when is_map(Client), is_map(Input) ->
list_ops_metadata(Client, Input, []).
list_ops_metadata(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListOpsMetadata">>, Input, Options).
%% @doc Returns a resource-level summary count.
%%
%% The summary includes information about compliant and non-compliant
%% statuses and detailed compliance-item severity counts, according to the
%% filter criteria you specify.
list_resource_compliance_summaries(Client, Input)
when is_map(Client), is_map(Input) ->
list_resource_compliance_summaries(Client, Input, []).
list_resource_compliance_summaries(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListResourceComplianceSummaries">>, Input, Options).
%% @doc Lists your resource data sync configurations.
%%
%% Includes information about the last time a sync attempted to start, the
%% last sync status, and the last time a sync successfully completed.
%%
%% The number of sync configurations might be too large to return using a
%% single call to `ListResourceDataSync'. You can limit the number of
%% sync configurations returned by using the `MaxResults' parameter. To
%% determine whether there are more sync configurations to list, check the
%% value of `NextToken' in the output. If there are more sync
%% configurations to list, you can request them by specifying the
%% `NextToken' returned in the call to the parameter of a subsequent
%% call.
list_resource_data_sync(Client, Input)
when is_map(Client), is_map(Input) ->
list_resource_data_sync(Client, Input, []).
list_resource_data_sync(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListResourceDataSync">>, Input, Options).
%% @doc Returns a list of the tags assigned to the specified resource.
%%
%% For information about the ID format for each supported resource type, see
%% `AddTagsToResource'.
list_tags_for_resource(Client, Input)
when is_map(Client), is_map(Input) ->
list_tags_for_resource(Client, Input, []).
list_tags_for_resource(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListTagsForResource">>, Input, Options).
%% @doc Shares a Amazon Web Services Systems Manager document (SSM
%% document)publicly or privately.
%%
%% If you share a document privately, you must specify the Amazon Web
%% Services user IDs for those people who can use the document. If you share
%% a document publicly, you must specify All as the account ID.
modify_document_permission(Client, Input)
when is_map(Client), is_map(Input) ->
modify_document_permission(Client, Input, []).
modify_document_permission(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ModifyDocumentPermission">>, Input, Options).
%% @doc Registers a compliance type and other compliance details on a
%% designated resource.
%%
%% This operation lets you register custom compliance details with a
%% resource. This call overwrites existing compliance information on the
%% resource, so you must provide a full list of compliance items each time
%% that you send the request.
%%
%% ComplianceType can be one of the following:
%%
%% - ExecutionId: The execution ID when the patch, association, or
%% custom compliance item was applied.
%%
%%
- ExecutionType: Specify patch, association, or
%% Custom:`string'.
%%
%%
- ExecutionTime. The time the patch, association, or custom
%% compliance item was applied to the managed node.
%%
%%
- Id: The patch, association, or custom compliance ID.
%%
%%
- Title: A title.
%%
%%
- Status: The status of the compliance item. For example,
%% `approved' for patches, or `Failed' for associations.
%%
%%
- Severity: A patch severity. For example, `Critical'.
%%
%%
- DocumentName: An SSM document name. For example,
%% `AWS-RunPatchBaseline'.
%%
%%
- DocumentVersion: An SSM document version number. For example,
%% 4.
%%
%%
- Classification: A patch classification. For example, `security
%% updates'.
%%
%%
- PatchBaselineId: A patch baseline ID.
%%
%%
- PatchSeverity: A patch severity. For example, `Critical'.
%%
%%
- PatchState: A patch state. For example,
%% `InstancesWithFailedPatches'.
%%
%%
- PatchGroup: The name of a patch group.
%%
%%
- InstalledTime: The time the association, patch, or custom
%% compliance item was applied to the resource. Specify the time by using the
%% following format: yyyy-MM-dd'T'HH:mm:ss'Z'
%%
%%
put_compliance_items(Client, Input)
when is_map(Client), is_map(Input) ->
put_compliance_items(Client, Input, []).
put_compliance_items(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"PutComplianceItems">>, Input, Options).
%% @doc Bulk update custom inventory items on one or more managed nodes.
%%
%% The request adds an inventory item, if it doesn't already exist, or
%% updates an inventory item, if it does exist.
put_inventory(Client, Input)
when is_map(Client), is_map(Input) ->
put_inventory(Client, Input, []).
put_inventory(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"PutInventory">>, Input, Options).
%% @doc Add a parameter to the system.
put_parameter(Client, Input)
when is_map(Client), is_map(Input) ->
put_parameter(Client, Input, []).
put_parameter(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"PutParameter">>, Input, Options).
%% @doc Creates or updates a Systems Manager resource policy.
%%
%% A resource policy helps you to define the IAM entity (for example, an
%% Amazon Web Services account) that can manage your Systems Manager
%% resources. The following resources support Systems Manager resource
%% policies.
%%
%% - `OpsItemGroup' - The resource policy for `OpsItemGroup'
%% enables Amazon Web Services accounts to view and interact with OpsCenter
%% operational work items (OpsItems).
%%
%%
- `Parameter' - The resource policy is used to share a
%% parameter with other accounts using Resource Access Manager (RAM).
%%
%% To share a parameter, it must be in the advanced parameter tier. For
%% information about parameter tiers, see Managing parameter tiers:
%% https://docs.aws.amazon.com/parameter-store- advanced-parameters.html. For
%% information about changing an existing standard parameter to an advanced
%% parameter, see Changing a standard parameter to an advanced parameter:
%% https://docs.aws.amazon.com/parameter-store-advanced-parameters.html#parameter-
%% store-advanced-parameters-enabling.
%%
%% To share a `SecureString' parameter, it must be encrypted with a
%% customer managed key, and you must share the key separately through Key
%% Management Service. Amazon Web Services managed keys cannot be shared.
%% Parameters encrypted with the default Amazon Web Services managed key can
%% be updated to use a customer managed key instead. For KMS key definitions,
%% see KMS concepts:
%% https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt
%% in the Key Management Service Developer Guide.
%%
%% While you can share a parameter using the Systems Manager
%% `PutResourcePolicy' operation, we recommend using Resource Access
%% Manager (RAM) instead. This is because using `PutResourcePolicy'
%% requires the extra step of promoting the parameter to a standard RAM
%% Resource Share using the RAM PromoteResourceShareCreatedFromPolicy:
%% https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html
%% API operation. Otherwise, the parameter won't be returned by the
%% Systems Manager DescribeParameters:
%% https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html
%% API operation using the `--shared' option.
%%
%% For more information, see Sharing a parameter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html#share
%% in the Amazon Web Services Systems Manager User Guide
%%
%%
put_resource_policy(Client, Input)
when is_map(Client), is_map(Input) ->
put_resource_policy(Client, Input, []).
put_resource_policy(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"PutResourcePolicy">>, Input, Options).
%% @doc Defines the default patch baseline for the relevant operating system.
%%
%% To reset the Amazon Web Services-predefined patch baseline as the default,
%% specify the full patch baseline Amazon Resource Name (ARN) as the baseline
%% ID value. For example, for CentOS, specify
%% `arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed'
%% instead of `pb-0574b43a65ea646ed'.
register_default_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
register_default_patch_baseline(Client, Input, []).
register_default_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"RegisterDefaultPatchBaseline">>, Input, Options).
%% @doc Registers a patch baseline for a patch group.
register_patch_baseline_for_patch_group(Client, Input)
when is_map(Client), is_map(Input) ->
register_patch_baseline_for_patch_group(Client, Input, []).
register_patch_baseline_for_patch_group(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"RegisterPatchBaselineForPatchGroup">>, Input, Options).
%% @doc Registers a target with a maintenance window.
register_target_with_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
register_target_with_maintenance_window(Client, Input, []).
register_target_with_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"RegisterTargetWithMaintenanceWindow">>, Input, Options).
%% @doc Adds a new task to a maintenance window.
register_task_with_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
register_task_with_maintenance_window(Client, Input, []).
register_task_with_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"RegisterTaskWithMaintenanceWindow">>, Input, Options).
%% @doc Removes tag keys from the specified resource.
remove_tags_from_resource(Client, Input)
when is_map(Client), is_map(Input) ->
remove_tags_from_resource(Client, Input, []).
remove_tags_from_resource(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"RemoveTagsFromResource">>, Input, Options).
%% @doc `ServiceSetting' is an account-level setting for an Amazon Web
%% Services service.
%%
%% This setting defines how a user interacts with or uses a service or a
%% feature of a service. For example, if an Amazon Web Services service
%% charges money to the account based on feature or service usage, then the
%% Amazon Web Services service team might create a default setting of
%% "false". This means the user can't use this feature unless
%% they change the setting to "true" and intentionally opt in for a
%% paid feature.
%%
%% Services map a `SettingId' object to a setting value. Amazon Web
%% Services services teams define the default value for a `SettingId'.
%% You can't create a new `SettingId', but you can overwrite the
%% default value if you have the `ssm:UpdateServiceSetting' permission
%% for the setting. Use the `GetServiceSetting' API operation to view the
%% current value. Use the `UpdateServiceSetting' API operation to change
%% the default setting.
%%
%% Reset the service setting for the account to the default value as
%% provisioned by the Amazon Web Services service team.
reset_service_setting(Client, Input)
when is_map(Client), is_map(Input) ->
reset_service_setting(Client, Input, []).
reset_service_setting(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ResetServiceSetting">>, Input, Options).
%% @doc Reconnects a session to a managed node after it has been
%% disconnected.
%%
%% Connections can be resumed for disconnected sessions, but not terminated
%% sessions.
%%
%% This command is primarily for use by client machines to automatically
%% reconnect during intermittent network issues. It isn't intended for
%% any other use.
resume_session(Client, Input)
when is_map(Client), is_map(Input) ->
resume_session(Client, Input, []).
resume_session(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ResumeSession">>, Input, Options).
%% @doc Sends a signal to an Automation execution to change the current
%% behavior or status of the execution.
send_automation_signal(Client, Input)
when is_map(Client), is_map(Input) ->
send_automation_signal(Client, Input, []).
send_automation_signal(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"SendAutomationSignal">>, Input, Options).
%% @doc Runs commands on one or more managed nodes.
send_command(Client, Input)
when is_map(Client), is_map(Input) ->
send_command(Client, Input, []).
send_command(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"SendCommand">>, Input, Options).
%% @doc Runs an association immediately and only one time.
%%
%% This operation can be helpful when troubleshooting associations.
start_associations_once(Client, Input)
when is_map(Client), is_map(Input) ->
start_associations_once(Client, Input, []).
start_associations_once(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StartAssociationsOnce">>, Input, Options).
%% @doc Initiates execution of an Automation runbook.
start_automation_execution(Client, Input)
when is_map(Client), is_map(Input) ->
start_automation_execution(Client, Input, []).
start_automation_execution(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StartAutomationExecution">>, Input, Options).
%% @doc Creates a change request for Change Manager.
%%
%% The Automation runbooks specified in the change request run only after all
%% required approvals for the change request have been received.
start_change_request_execution(Client, Input)
when is_map(Client), is_map(Input) ->
start_change_request_execution(Client, Input, []).
start_change_request_execution(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StartChangeRequestExecution">>, Input, Options).
%% @doc Initiates a connection to a target (for example, a managed node) for
%% a Session Manager session.
%%
%% Returns a URL and token that can be used to open a WebSocket connection
%% for sending input and receiving outputs.
%%
%% Amazon Web Services CLI usage: `start-session' is an interactive
%% command that requires the Session Manager plugin to be installed on the
%% client machine making the call. For information, see Install the Session
%% Manager plugin for the Amazon Web Services CLI:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% Amazon Web Services Tools for PowerShell usage: Start-SSMSession isn't
%% currently supported by Amazon Web Services Tools for PowerShell on Windows
%% local machines.
start_session(Client, Input)
when is_map(Client), is_map(Input) ->
start_session(Client, Input, []).
start_session(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StartSession">>, Input, Options).
%% @doc Stop an Automation that is currently running.
stop_automation_execution(Client, Input)
when is_map(Client), is_map(Input) ->
stop_automation_execution(Client, Input, []).
stop_automation_execution(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StopAutomationExecution">>, Input, Options).
%% @doc Permanently ends a session and closes the data connection between the
%% Session Manager client and SSM Agent on the managed node.
%%
%% A terminated session can't be resumed.
terminate_session(Client, Input)
when is_map(Client), is_map(Input) ->
terminate_session(Client, Input, []).
terminate_session(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"TerminateSession">>, Input, Options).
%% @doc Remove a label or labels from a parameter.
unlabel_parameter_version(Client, Input)
when is_map(Client), is_map(Input) ->
unlabel_parameter_version(Client, Input, []).
unlabel_parameter_version(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UnlabelParameterVersion">>, Input, Options).
%% @doc Updates an association.
%%
%% You can update the association name and version, the document version,
%% schedule, parameters, and Amazon Simple Storage Service (Amazon S3)
%% output. When you call `UpdateAssociation', the system removes all
%% optional parameters from the request and overwrites the association with
%% null values for those parameters. This is by design. You must specify all
%% optional parameters in the call, even if you are not changing the
%% parameters. This includes the `Name' parameter. Before calling this
%% API action, we recommend that you call the `DescribeAssociation' API
%% operation and make a note of all optional parameters required for your
%% `UpdateAssociation' call.
%%
%% In order to call this API operation, a user, group, or role must be
%% granted permission to call the `DescribeAssociation' API operation. If
%% you don't have permission to call `DescribeAssociation', then you
%% receive the following error: `An error occurred (AccessDeniedException)
%% when calling the UpdateAssociation operation: User: <user_arn>
%% isn't authorized to perform: ssm:DescribeAssociation on resource:
%% <resource_arn>'
%%
%% When you update an association, the association immediately runs against
%% the specified targets. You can add the `ApplyOnlyAtCronInterval'
%% parameter to run the association during the next schedule run.
update_association(Client, Input)
when is_map(Client), is_map(Input) ->
update_association(Client, Input, []).
update_association(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateAssociation">>, Input, Options).
%% @doc Updates the status of the Amazon Web Services Systems Manager
%% document (SSM document) associated with the specified managed node.
%%
%% `UpdateAssociationStatus' is primarily used by the Amazon Web Services
%% Systems Manager Agent (SSM Agent) to report status updates about your
%% associations and is only used for associations created with the
%% `InstanceId' legacy parameter.
update_association_status(Client, Input)
when is_map(Client), is_map(Input) ->
update_association_status(Client, Input, []).
update_association_status(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateAssociationStatus">>, Input, Options).
%% @doc Updates one or more values for an SSM document.
update_document(Client, Input)
when is_map(Client), is_map(Input) ->
update_document(Client, Input, []).
update_document(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateDocument">>, Input, Options).
%% @doc Set the default version of a document.
%%
%% If you change a document version for a State Manager association, Systems
%% Manager immediately runs the association unless you previously specifed
%% the `apply-only-at-cron-interval' parameter.
update_document_default_version(Client, Input)
when is_map(Client), is_map(Input) ->
update_document_default_version(Client, Input, []).
update_document_default_version(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateDocumentDefaultVersion">>, Input, Options).
%% @doc Updates information related to approval reviews for a specific
%% version of a change template in Change Manager.
update_document_metadata(Client, Input)
when is_map(Client), is_map(Input) ->
update_document_metadata(Client, Input, []).
update_document_metadata(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateDocumentMetadata">>, Input, Options).
%% @doc Updates an existing maintenance window.
%%
%% Only specified parameters are modified.
%%
%% The value you specify for `Duration' determines the specific end time
%% for the maintenance window based on the time it begins. No maintenance
%% window tasks are permitted to start after the resulting endtime minus the
%% number of hours you specify for `Cutoff'. For example, if the
%% maintenance window starts at 3 PM, the duration is three hours, and the
%% value you specify for `Cutoff' is one hour, no maintenance window
%% tasks can start after 5 PM.
update_maintenance_window(Client, Input)
when is_map(Client), is_map(Input) ->
update_maintenance_window(Client, Input, []).
update_maintenance_window(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateMaintenanceWindow">>, Input, Options).
%% @doc Modifies the target of an existing maintenance window.
%%
%% You can change the following:
%%
%% - Name
%%
%%
- Description
%%
%%
- Owner
%%
%%
- IDs for an ID target
%%
%%
- Tags for a Tag target
%%
%%
- From any supported tag type to another. The three supported tag
%% types are ID target, Tag target, and resource group. For more information,
%% see `Target'.
%%
%%
If a parameter is null, then the corresponding field isn't
%% modified.
update_maintenance_window_target(Client, Input)
when is_map(Client), is_map(Input) ->
update_maintenance_window_target(Client, Input, []).
update_maintenance_window_target(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateMaintenanceWindowTarget">>, Input, Options).
%% @doc Modifies a task assigned to a maintenance window.
%%
%% You can't change the task type, but you can change the following
%% values:
%%
%% - `TaskARN'. For example, you can change a `RUN_COMMAND'
%% task from `AWS-RunPowerShellScript' to `AWS-RunShellScript'.
%%
%%
- `ServiceRoleArn'
%%
%%
- `TaskInvocationParameters'
%%
%%
- `Priority'
%%
%%
- `MaxConcurrency'
%%
%%
- `MaxErrors'
%%
%%
One or more targets must be specified for maintenance window
%% Run Command-type tasks. Depending on the task, targets are optional for
%% other maintenance window task types (Automation, Lambda, and Step
%% Functions). For more information about running tasks that don't
%% specify targets, see Registering maintenance window tasks without targets:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% If the value for a parameter in `UpdateMaintenanceWindowTask' is null,
%% then the corresponding field isn't modified. If you set `Replace'
%% to true, then all fields required by the
%% `RegisterTaskWithMaintenanceWindow' operation are required for this
%% request. Optional fields that aren't specified are set to null.
%%
%% When you update a maintenance window task that has options specified in
%% `TaskInvocationParameters', you must provide again all the
%% `TaskInvocationParameters' values that you want to retain. The values
%% you don't specify again are removed. For example, suppose that when
%% you registered a Run Command task, you specified
%% `TaskInvocationParameters' values for `Comment',
%% `NotificationConfig', and `OutputS3BucketName'. If you update the
%% maintenance window task and specify only a different
%% `OutputS3BucketName' value, the values for `Comment' and
%% `NotificationConfig' are removed.
update_maintenance_window_task(Client, Input)
when is_map(Client), is_map(Input) ->
update_maintenance_window_task(Client, Input, []).
update_maintenance_window_task(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateMaintenanceWindowTask">>, Input, Options).
%% @doc Changes the Identity and Access Management (IAM) role that is
%% assigned to the on-premises server, edge device, or virtual machines (VM).
%%
%% IAM roles are first assigned to these hybrid nodes during the activation
%% process. For more information, see `CreateActivation'.
update_managed_instance_role(Client, Input)
when is_map(Client), is_map(Input) ->
update_managed_instance_role(Client, Input, []).
update_managed_instance_role(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateManagedInstanceRole">>, Input, Options).
%% @doc Edit or change an OpsItem.
%%
%% You must have permission in Identity and Access Management (IAM) to update
%% an OpsItem. For more information, see Set up OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html
%% in the Amazon Web Services Systems Manager User Guide.
%%
%% Operations engineers and IT professionals use Amazon Web Services Systems
%% Manager OpsCenter to view, investigate, and remediate operational issues
%% impacting the performance and health of their Amazon Web Services
%% resources. For more information, see OpsCenter:
%% https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html
%% in the Amazon Web Services Systems Manager User Guide.
update_ops_item(Client, Input)
when is_map(Client), is_map(Input) ->
update_ops_item(Client, Input, []).
update_ops_item(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateOpsItem">>, Input, Options).
%% @doc Amazon Web Services Systems Manager calls this API operation when you
%% edit OpsMetadata in Application Manager.
update_ops_metadata(Client, Input)
when is_map(Client), is_map(Input) ->
update_ops_metadata(Client, Input, []).
update_ops_metadata(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateOpsMetadata">>, Input, Options).
%% @doc Modifies an existing patch baseline.
%%
%% Fields not specified in the request are left unchanged.
%%
%% For information about valid key-value pairs in `PatchFilters' for each
%% supported operating system type, see `PatchFilter'.
update_patch_baseline(Client, Input)
when is_map(Client), is_map(Input) ->
update_patch_baseline(Client, Input, []).
update_patch_baseline(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdatePatchBaseline">>, Input, Options).
%% @doc Update a resource data sync.
%%
%% After you create a resource data sync for a Region, you can't change
%% the account options for that sync. For example, if you create a sync in
%% the us-east-2 (Ohio) Region and you choose the `Include only the current
%% account' option, you can't edit that sync later and choose the
%% `Include all accounts from my Organizations configuration' option.
%% Instead, you must delete the first resource data sync, and create a new
%% one.
%%
%% This API operation only supports a resource data sync that was created
%% with a SyncFromSource `SyncType'.
update_resource_data_sync(Client, Input)
when is_map(Client), is_map(Input) ->
update_resource_data_sync(Client, Input, []).
update_resource_data_sync(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateResourceDataSync">>, Input, Options).
%% @doc `ServiceSetting' is an account-level setting for an Amazon Web
%% Services service.
%%
%% This setting defines how a user interacts with or uses a service or a
%% feature of a service. For example, if an Amazon Web Services service
%% charges money to the account based on feature or service usage, then the
%% Amazon Web Services service team might create a default setting of
%% "false". This means the user can't use this feature unless
%% they change the setting to "true" and intentionally opt in for a
%% paid feature.
%%
%% Services map a `SettingId' object to a setting value. Amazon Web
%% Services services teams define the default value for a `SettingId'.
%% You can't create a new `SettingId', but you can overwrite the
%% default value if you have the `ssm:UpdateServiceSetting' permission
%% for the setting. Use the `GetServiceSetting' API operation to view the
%% current value. Or, use the `ResetServiceSetting' to change the value
%% back to the original value defined by the Amazon Web Services service
%% team.
%%
%% Update the service setting for the account.
update_service_setting(Client, Input)
when is_map(Client), is_map(Input) ->
update_service_setting(Client, Input, []).
update_service_setting(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateServiceSetting">>, Input, Options).
%%====================================================================
%% Internal functions
%%====================================================================
-spec request(aws_client:aws_client(), binary(), map(), list()) ->
{ok, Result, {integer(), list(), hackney:client()}} |
{error, Error, {integer(), list(), hackney:client()}} |
{error, term()} when
Result :: map() | undefined,
Error :: map().
request(Client, Action, Input, Options) ->
RequestFun = fun() -> do_request(Client, Action, Input, Options) end,
aws_request:request(RequestFun, Options).
do_request(Client, Action, Input0, Options) ->
Client1 = Client#{service => <<"ssm">>},
Host = build_host(<<"ssm">>, Client1),
URL = build_url(Host, Client1),
Headers = [
{<<"Host">>, Host},
{<<"Content-Type">>, <<"application/x-amz-json-1.1">>},
{<<"X-Amz-Target">>, <<"AmazonSSM.", Action/binary>>}
],
Input = Input0,
Payload = jsx:encode(Input),
SignedHeaders = aws_request:sign_request(Client1, <<"POST">>, URL, Headers, Payload),
Response = hackney:request(post, URL, SignedHeaders, Payload, Options),
handle_response(Response).
handle_response({ok, 200, ResponseHeaders, Client}) ->
case hackney:body(Client) of
{ok, <<>>} ->
{ok, undefined, {200, ResponseHeaders, Client}};
{ok, Body} ->
Result = jsx:decode(Body),
{ok, Result, {200, ResponseHeaders, Client}}
end;
handle_response({ok, StatusCode, ResponseHeaders, Client}) ->
{ok, Body} = hackney:body(Client),
Error = jsx:decode(Body),
{error, Error, {StatusCode, ResponseHeaders, Client}};
handle_response({error, Reason}) ->
{error, Reason}.
build_host(_EndpointPrefix, #{region := <<"local">>, endpoint := Endpoint}) ->
Endpoint;
build_host(_EndpointPrefix, #{region := <<"local">>}) ->
<<"localhost">>;
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
build_url(Host, Client) ->
Proto = aws_client:proto(Client),
Port = aws_client:port(Client),
aws_util:binary_join([Proto, <<"://">>, Host, <<":">>, Port, <<"/">>], <<"">>).