AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting
system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs),
and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely
manage the configuration of your managed instances. A managed instance is any Amazon EC2 instance or
on-premises machine in your hybrid environment that has been configured for Systems Manager.

Details about the activation, including: the date and time the activation was created, the expiration date, the
IAM role assigned to the instances in the activation, and the number of instances activated by this registration.

Overrides the default endpoint for this client ("https://ssm.us-east-1.amazonaws.com"). Callers can use this
method to control which AWS region they want to work with.

Callers can pass in just the endpoint (ex: "ssm.us-east-1.amazonaws.com") or a full URL, including the protocol
(ex: "https://ssm.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from
this client's ClientConfiguration will be used, which by default is HTTPS.

This method is not threadsafe. An endpoint should be configured when the client is created and before any
service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
transit or retrying.

Parameters:

endpoint - The endpoint (ex: "ssm.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
"https://ssm.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate
with.

setRegion

An alternative to setEndpoint(String), sets the regional endpoint for this
client's service calls. Callers can use this method to control which AWS region they want to work with.

By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
ClientConfiguration supplied at construction.

This method is not threadsafe. A region should be configured when the client is created and before any service
requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
or retrying.

addTagsToResource

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your
documents, managed instances, 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 instances that helps you track each instance's owner and stack level. For example:
Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

Each resource can have a maximum of 50 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 Amazon EC2 and are interpreted strictly as a string
of characters.

createActivation

Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using
Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed
instance. For more information about activations, see Setting
Up Systems Manager in Hybrid Environments.

createResourceDataSync

Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation
that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the
Amazon S3 bucket. To check the status of the sync, use the ListResourceDataSync.

By default, data is not 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. To view an example of a restrictive Amazon S3 bucket policy for Resource Data Sync,
see Configuring Resource Data Sync for Inventory.

Parameters:

createResourceDataSyncRequest -

Returns:

Result of the CreateResourceDataSync operation returned by the service.

deleteActivation

Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no
longer use it to register additional managed instances. Deleting an activation does not de-register managed
instances. You must manually de-register managed instances.

Parameters:

deleteActivationRequest -

Returns:

Result of the DeleteActivation operation returned by the service.

Throws:

InvalidActivationIdException - The activation ID is not valid. Verify the you entered the correct ActivationId or ActivationCode and try
again.

InvalidActivationException - The activation is not valid. The activation might have been deleted, or the ActivationId and the
ActivationCode do not match.

deleteAssociation

Disassociates the specified Systems Manager document from the specified instance.

When you disassociate a document from an instance, it does not change the configuration of the instance. To
change the configuration state of an instance after you disassociate a document, you must create a new document
with the desired configuration and associate it with the instance.

deleteResourceDataSync

Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to inventory data on
managed instances are no longer synced with the target Amazon S3 bucket. Deleting a sync configuration does not
delete data in the target Amazon S3 bucket.

Parameters:

deleteResourceDataSyncRequest -

Returns:

Result of the DeleteResourceDataSync operation returned by the service.

deregisterManagedInstance

Removes the server or virtual machine from the list of registered servers. You can reregister the instance again
at any time. If you don't plan to use Run Command on the server, we suggest uninstalling the SSM Agent first.

Parameters:

deregisterManagedInstanceRequest -

Returns:

Result of the DeregisterManagedInstance operation returned by the service.

describeActivations

Details about the activation, including: the date and time the activation was created, the expiration date, the
IAM role assigned to the instances in the activation, and the number of instances activated by this registration.

describeAssociation

Describes the association for the specified target or instance. If you created the association by using the
Targets parameter, then you must retrieve the association by using the association ID. If you
created the association by specifying an instance ID and a Systems Manager document, then you retrieve the
association by specifying the document name and the instance ID.

InvalidAssociationVersionException - The version you specified is not valid. Use ListAssociationVersions to view all versions of an
association according to the association ID. Or, use the $LATEST parameter to view the
latest version of the association.

describeDocumentPermission

Describes the permissions for a Systems Manager 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 AWS account ID) or publicly
(All).

Parameters:

describeDocumentPermissionRequest -

Returns:

Result of the DescribeDocumentPermission operation returned by the service.

UnsupportedOperatingSystemException - The operating systems you specified is not supported, or the operation is not supported for the operating
system. Valid operating systems include: Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.

describeInstanceInformation

Describes one or more of your instances. You can use this to get information about instances like the operating
system platform, the SSM Agent version (Linux), status etc. If you specify one or more instance IDs, it returns
information for those instances. If you do not specify instance IDs, it returns information for all your
instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an
error.

Parameters:

describeInstanceInformationRequest -

Returns:

Result of the DescribeInstanceInformation operation returned by the service.

describeMaintenanceWindowExecutions

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.

Parameters:

describeMaintenanceWindowExecutionsRequest -

Returns:

Result of the DescribeMaintenanceWindowExecutions operation returned by the service.

describeParameters

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.

UnsupportedOperatingSystemException - The operating systems you specified is not supported, or the operation is not supported for the operating
system. Valid operating systems include: Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.

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.

listCommandInvocations

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A
command invocation applies to one instance. For example, if a user executes SendCommand against three instances,
then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about
command execution.

Parameters:

listCommandInvocationsRequest -

Returns:

Result of the ListCommandInvocations operation returned by the service.

listComplianceItems

For a specified resource ID, this API action 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.

Parameters:

listComplianceItemsRequest -

Returns:

Result of the ListComplianceItems operation returned by the service.

Throws:

InvalidResourceTypeException - The resource type is not valid. For example, if you are attempting to tag an instance, the instance must
be a registered, managed instance.

listComplianceSummaries

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.

Parameters:

listComplianceSummariesRequest -

Returns:

Result of the ListComplianceSummaries operation returned by the service.

listResourceComplianceSummaries

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.

Parameters:

listResourceComplianceSummariesRequest -

Returns:

Result of the ListResourceComplianceSummaries operation returned by the service.

listResourceDataSync

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.

modifyDocumentPermission

Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the
AWS user account IDs for those people who can use the document. If you share a document publicly, you must
specify All as the account ID.

Parameters:

modifyDocumentPermissionRequest -

Returns:

Result of the ModifyDocumentPermission operation returned by the service.

DocumentPermissionLimitException - The document cannot be shared with more AWS user accounts. You can share a document with a maximum of 20
accounts. You can publicly share up to five documents. If you need to increase this limit, contact AWS
Support.

putComplianceItems

Registers a compliance type and other compliance details on a designated resource. This action 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 instance.

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.

UnsupportedInventorySchemaVersionException - Inventory item type schema version has to match supported versions in the service. Check output of
GetInventorySchema to see the available schema version for each type.

UnsupportedInventoryItemContextException - The Context attribute that you specified for the InventoryItem is not allowed
for this inventory type. You can only use the Context attribute with inventory types like
AWS:ComplianceItem.

HierarchyTypeMismatchException - Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change
a parameter from a String type to a SecureString type. You must create a new, unique parameter.

InvalidAutomationExecutionParametersException - The supplied parameters for invoking the specified Automation document are incorrect. For example, they
may not match the set of parameters permitted for the specified Automation document.

InvalidTargetException - The target is not valid or does not exist. It might not be configured for EC2 Systems Manager or you
might not have permission to perform the operation.

InvalidAssociationVersionException - The version you specified is not valid. Use ListAssociationVersions to view all versions of an
association according to the association ID. Or, use the $LATEST parameter to view the
latest version of the association.

updateMaintenanceWindowTask

Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the
following values:

Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

Service role ARN.

Task parameters.

Task priority.

Task MaxConcurrency and MaxErrors.

Log location.

If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all
fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields
that aren't specified are set to null.

Parameters:

updateMaintenanceWindowTaskRequest -

Returns:

Result of the UpdateMaintenanceWindowTask operation returned by the service.

Throws:

DoesNotExistException - Error returned when the ID specified for a resource, such as a Maintenance Window or Patch baseline,
doesn't exist.

shutdown

void shutdown()

Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
has been shutdown, it should not be used to make any more requests.

getCachedResponseMetadata

Returns additional metadata for a previously executed successful request, typically used for debugging issues
where a service isn't acting as expected. This data isn't considered part of the result data returned by an
operation, so it's available through this separate, diagnostic interface.

Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
information for an executed request, you should use this method to retrieve it as soon as possible after
executing a request.

Parameters:

request - The originally executed request.

Returns:

The response metadata for the specified request, or null if none is available.