{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2014-11-06",
    "endpointPrefix":"ssm",
    "jsonVersion":"1.1",
    "protocol":"json",
    "serviceAbbreviation":"Amazon SSM",
    "serviceFullName":"Amazon Simple Systems Manager (SSM)",
    "serviceId":"SSM",
    "signatureVersion":"v4",
    "targetPrefix":"AmazonSSM",
    "uid":"ssm-2014-11-06"
  },
  "operations":{
    "AddTagsToResource":{
      "name":"AddTagsToResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AddTagsToResourceRequest"},
      "output":{"shape":"AddTagsToResourceResult"},
      "errors":[
        {"shape":"InvalidResourceType"},
        {"shape":"InvalidResourceId"},
        {"shape":"InternalServerError"},
        {"shape":"TooManyTagsError"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p>Adds or overwrites one or more tags for the specified resource. <i>Tags</i> 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:</p> <ul> <li> <p> <code>Key=Owner,Value=DbAdmin</code> </p> </li> <li> <p> <code>Key=Owner,Value=SysAdmin</code> </p> </li> <li> <p> <code>Key=Owner,Value=Dev</code> </p> </li> <li> <p> <code>Key=Stack,Value=Production</code> </p> </li> <li> <p> <code>Key=Stack,Value=Pre-Production</code> </p> </li> <li> <p> <code>Key=Stack,Value=Test</code> </p> </li> </ul> <p>Most resources can have a maximum of 50 tags. Automations can have a maximum of 5 tags.</p> <p>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.</p> <p>For more information about using tags with Amazon Elastic Compute Cloud (Amazon EC2) instances, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html\">Tagging your Amazon EC2 resources</a> in the <i>Amazon EC2 User Guide</i>.</p>"
    },
    "AssociateOpsItemRelatedItem":{
      "name":"AssociateOpsItemRelatedItem",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AssociateOpsItemRelatedItemRequest"},
      "output":{"shape":"AssociateOpsItemRelatedItemResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemNotFoundException"},
        {"shape":"OpsItemLimitExceededException"},
        {"shape":"OpsItemInvalidParameterException"},
        {"shape":"OpsItemRelatedItemAlreadyExistsException"},
        {"shape":"OpsItemConflictException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "CancelCommand":{
      "name":"CancelCommand",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CancelCommandRequest"},
      "output":{"shape":"CancelCommandResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidCommandId"},
        {"shape":"InvalidInstanceId"},
        {"shape":"DuplicateInstanceId"}
      ],
      "documentation":"<p>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.</p>"
    },
    "CancelMaintenanceWindowExecution":{
      "name":"CancelMaintenanceWindowExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CancelMaintenanceWindowExecutionRequest"},
      "output":{"shape":"CancelMaintenanceWindowExecutionResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"DoesNotExistException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "CreateActivation":{
      "name":"CreateActivation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateActivationRequest"},
      "output":{"shape":"CreateActivationResult"},
      "errors":[
        {"shape":"InvalidParameters"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html\">Setting up Amazon Web Services Systems Manager for hybrid environments</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p> <note> <p>Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are configured for Systems Manager are all called <i>managed nodes</i>.</p> </note>"
    },
    "CreateAssociation":{
      "name":"CreateAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAssociationRequest"},
      "output":{"shape":"CreateAssociationResult"},
      "errors":[
        {"shape":"AssociationAlreadyExists"},
        {"shape":"AssociationLimitExceeded"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidInstanceId"},
        {"shape":"UnsupportedPlatformType"},
        {"shape":"InvalidOutputLocation"},
        {"shape":"InvalidParameters"},
        {"shape":"InvalidTarget"},
        {"shape":"InvalidSchedule"},
        {"shape":"InvalidTargetMaps"},
        {"shape":"InvalidTag"}
      ],
      "documentation":"<p>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. </p>"
    },
    "CreateAssociationBatch":{
      "name":"CreateAssociationBatch",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAssociationBatchRequest"},
      "output":{"shape":"CreateAssociationBatchResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidParameters"},
        {"shape":"DuplicateInstanceId"},
        {"shape":"AssociationLimitExceeded"},
        {"shape":"UnsupportedPlatformType"},
        {"shape":"InvalidOutputLocation"},
        {"shape":"InvalidTarget"},
        {"shape":"InvalidSchedule"},
        {"shape":"InvalidTargetMaps"}
      ],
      "documentation":"<p>Associates the specified Amazon Web Services Systems Manager document (SSM document) with the specified managed nodes or targets.</p> <p>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.</p> <p>If you associate a document with a managed node that already has an associated document, the system returns the AssociationAlreadyExists exception.</p>"
    },
    "CreateDocument":{
      "name":"CreateDocument",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateDocumentRequest"},
      "output":{"shape":"CreateDocumentResult"},
      "errors":[
        {"shape":"DocumentAlreadyExists"},
        {"shape":"MaxDocumentSizeExceeded"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocumentContent"},
        {"shape":"DocumentLimitExceeded"},
        {"shape":"InvalidDocumentSchemaVersion"}
      ],
      "documentation":"<p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html\">Amazon Web Services Systems Manager Documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
    },
    "CreateMaintenanceWindow":{
      "name":"CreateMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateMaintenanceWindowRequest"},
      "output":{"shape":"CreateMaintenanceWindowResult"},
      "errors":[
        {"shape":"IdempotentParameterMismatch"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Creates a new maintenance window.</p> <note> <p>The value you specify for <code>Duration</code> 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 <code>Cutoff</code>. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for <code>Cutoff</code> is one hour, no maintenance window tasks can start after 5 PM.</p> </note>"
    },
    "CreateOpsItem":{
      "name":"CreateOpsItem",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateOpsItemRequest"},
      "output":{"shape":"CreateOpsItemResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemAlreadyExistsException"},
        {"shape":"OpsItemLimitExceededException"},
        {"shape":"OpsItemInvalidParameterException"},
        {"shape":"OpsItemAccessDeniedException"}
      ],
      "documentation":"<p>Creates a new OpsItem. You must have permission in Identity and Access Management (IAM) to create a new OpsItem. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html\">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html\">Amazon Web Services Systems Manager OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
    },
    "CreateOpsMetadata":{
      "name":"CreateOpsMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateOpsMetadataRequest"},
      "output":{"shape":"CreateOpsMetadataResult"},
      "errors":[
        {"shape":"OpsMetadataAlreadyExistsException"},
        {"shape":"OpsMetadataTooManyUpdatesException"},
        {"shape":"OpsMetadataInvalidArgumentException"},
        {"shape":"OpsMetadataLimitExceededException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "CreatePatchBaseline":{
      "name":"CreatePatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreatePatchBaselineRequest"},
      "output":{"shape":"CreatePatchBaselineResult"},
      "errors":[
        {"shape":"IdempotentParameterMismatch"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Creates a patch baseline.</p> <note> <p>For information about valid key-value pairs in <code>PatchFilters</code> for each supported operating system type, see <a>PatchFilter</a>.</p> </note>"
    },
    "CreateResourceDataSync":{
      "name":"CreateResourceDataSync",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateResourceDataSyncRequest"},
      "output":{"shape":"CreateResourceDataSyncResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ResourceDataSyncCountExceededException"},
        {"shape":"ResourceDataSyncAlreadyExistsException"},
        {"shape":"ResourceDataSyncInvalidConfigurationException"}
      ],
      "documentation":"<p>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: <code>SyncToDestination</code> and <code>SyncFromSource</code>.</p> <p>You can configure Systems Manager Inventory to use the <code>SyncToDestination</code> 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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html\">Configuring resource data sync for Inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>You can configure Systems Manager Explorer to use the <code>SyncFromSource</code> 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 <code>EntireOrganization</code> by using Organizations. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html\">Setting up Systems Manager Explorer to display data from multiple accounts and Regions</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>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 <a>ListResourceDataSync</a>.</p> <note> <p>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. </p> </note>"
    },
    "DeleteActivation":{
      "name":"DeleteActivation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteActivationRequest"},
      "output":{"shape":"DeleteActivationResult"},
      "errors":[
        {"shape":"InvalidActivationId"},
        {"shape":"InvalidActivation"},
        {"shape":"InternalServerError"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p>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.</p>"
    },
    "DeleteAssociation":{
      "name":"DeleteAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAssociationRequest"},
      "output":{"shape":"DeleteAssociationResult"},
      "errors":[
        {"shape":"AssociationDoesNotExist"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidInstanceId"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p>Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified managed node. If you created the association by using the <code>Targets</code> parameter, then you must delete the association by using the association ID.</p> <p>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.</p>"
    },
    "DeleteDocument":{
      "name":"DeleteDocument",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteDocumentRequest"},
      "output":{"shape":"DeleteDocumentResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentOperation"},
        {"shape":"AssociatedInstances"}
      ],
      "documentation":"<p>Deletes the Amazon Web Services Systems Manager document (SSM document) and all managed node associations to the document.</p> <p>Before you delete the document, we recommend that you use <a>DeleteAssociation</a> to disassociate all managed nodes that are associated with the document.</p>"
    },
    "DeleteInventory":{
      "name":"DeleteInventory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteInventoryRequest"},
      "output":{"shape":"DeleteInventoryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidOptionException"},
        {"shape":"InvalidDeleteInventoryParametersException"},
        {"shape":"InvalidInventoryRequestException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "DeleteMaintenanceWindow":{
      "name":"DeleteMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteMaintenanceWindowRequest"},
      "output":{"shape":"DeleteMaintenanceWindowResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Deletes a maintenance window.</p>"
    },
    "DeleteOpsItem":{
      "name":"DeleteOpsItem",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteOpsItemRequest"},
      "output":{"shape":"DeleteOpsItemResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemInvalidParameterException"}
      ],
      "documentation":"<p>Delete an OpsItem. You must have permission in Identity and Access Management (IAM) to delete an OpsItem. </p> <important> <p>Note the following important information about this operation.</p> <ul> <li> <p>Deleting an OpsItem is irreversible. You can't restore a deleted OpsItem.</p> </li> <li> <p>This operation uses an <i>eventual consistency model</i>, which means the system can take a few minutes to complete this operation. If you delete an OpsItem and immediately call, for example, <a>GetOpsItem</a>, the deleted OpsItem might still appear in the response. </p> </li> <li> <p>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.</p> </li> <li> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setting-up-cross-account.html\">Setting up OpsCenter to centrally manage OpsItems across accounts</a> in the <i>Systems Manager User Guide</i>.</p> </li> </ul> </important>"
    },
    "DeleteOpsMetadata":{
      "name":"DeleteOpsMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteOpsMetadataRequest"},
      "output":{"shape":"DeleteOpsMetadataResult"},
      "errors":[
        {"shape":"OpsMetadataNotFoundException"},
        {"shape":"OpsMetadataInvalidArgumentException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Delete OpsMetadata related to an application.</p>"
    },
    "DeleteParameter":{
      "name":"DeleteParameter",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteParameterRequest"},
      "output":{"shape":"DeleteParameterResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ParameterNotFound"}
      ],
      "documentation":"<p>Delete a parameter from the system. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.</p>"
    },
    "DeleteParameters":{
      "name":"DeleteParameters",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteParametersRequest"},
      "output":{"shape":"DeleteParametersResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Delete a list of parameters. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.</p>"
    },
    "DeletePatchBaseline":{
      "name":"DeletePatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeletePatchBaselineRequest"},
      "output":{"shape":"DeletePatchBaselineResult"},
      "errors":[
        {"shape":"ResourceInUseException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Deletes a patch baseline.</p>"
    },
    "DeleteResourceDataSync":{
      "name":"DeleteResourceDataSync",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteResourceDataSyncRequest"},
      "output":{"shape":"DeleteResourceDataSyncResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ResourceDataSyncNotFoundException"},
        {"shape":"ResourceDataSyncInvalidConfigurationException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "DeleteResourcePolicy":{
      "name":"DeleteResourcePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteResourcePolicyRequest"},
      "output":{"shape":"DeleteResourcePolicyResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ResourcePolicyInvalidParameterException"},
        {"shape":"ResourcePolicyConflictException"}
      ],
      "documentation":"<p>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. Currently, <code>OpsItemGroup</code> is the only resource that supports Systems Manager resource policies. The resource policy for <code>OpsItemGroup</code> enables Amazon Web Services accounts to view and interact with OpsCenter operational work items (OpsItems).</p>"
    },
    "DeregisterManagedInstance":{
      "name":"DeregisterManagedInstance",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeregisterManagedInstanceRequest"},
      "output":{"shape":"DeregisterManagedInstanceResult"},
      "errors":[
        {"shape":"InvalidInstanceId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "DeregisterPatchBaselineForPatchGroup":{
      "name":"DeregisterPatchBaselineForPatchGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeregisterPatchBaselineForPatchGroupRequest"},
      "output":{"shape":"DeregisterPatchBaselineForPatchGroupResult"},
      "errors":[
        {"shape":"InvalidResourceId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Removes a patch group from a patch baseline.</p>"
    },
    "DeregisterTargetFromMaintenanceWindow":{
      "name":"DeregisterTargetFromMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeregisterTargetFromMaintenanceWindowRequest"},
      "output":{"shape":"DeregisterTargetFromMaintenanceWindowResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"},
        {"shape":"TargetInUseException"}
      ],
      "documentation":"<p>Removes a target from a maintenance window.</p>"
    },
    "DeregisterTaskFromMaintenanceWindow":{
      "name":"DeregisterTaskFromMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeregisterTaskFromMaintenanceWindowRequest"},
      "output":{"shape":"DeregisterTaskFromMaintenanceWindowResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Removes a task from a maintenance window.</p>"
    },
    "DescribeActivations":{
      "name":"DescribeActivations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeActivationsRequest"},
      "output":{"shape":"DescribeActivationsResult"},
      "errors":[
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "DescribeAssociation":{
      "name":"DescribeAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssociationRequest"},
      "output":{"shape":"DescribeAssociationResult"},
      "errors":[
        {"shape":"AssociationDoesNotExist"},
        {"shape":"InvalidAssociationVersion"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidInstanceId"}
      ],
      "documentation":"<p>Describes the association for the specified target or managed node. If you created the association by using the <code>Targets</code> parameter, then you must retrieve the association by using the association ID.</p>"
    },
    "DescribeAssociationExecutionTargets":{
      "name":"DescribeAssociationExecutionTargets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssociationExecutionTargetsRequest"},
      "output":{"shape":"DescribeAssociationExecutionTargetsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"AssociationDoesNotExist"},
        {"shape":"InvalidNextToken"},
        {"shape":"AssociationExecutionDoesNotExist"}
      ],
      "documentation":"<p>Views information about a specific execution of a specific association.</p>"
    },
    "DescribeAssociationExecutions":{
      "name":"DescribeAssociationExecutions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssociationExecutionsRequest"},
      "output":{"shape":"DescribeAssociationExecutionsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"AssociationDoesNotExist"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Views all executions for a specific association ID. </p>"
    },
    "DescribeAutomationExecutions":{
      "name":"DescribeAutomationExecutions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAutomationExecutionsRequest"},
      "output":{"shape":"DescribeAutomationExecutionsResult"},
      "errors":[
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidFilterValue"},
        {"shape":"InvalidNextToken"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Provides details about all active and terminated Automation executions.</p>"
    },
    "DescribeAutomationStepExecutions":{
      "name":"DescribeAutomationStepExecutions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAutomationStepExecutionsRequest"},
      "output":{"shape":"DescribeAutomationStepExecutionsResult"},
      "errors":[
        {"shape":"AutomationExecutionNotFoundException"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidFilterValue"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Information about all active and terminated step executions in an Automation workflow.</p>"
    },
    "DescribeAvailablePatches":{
      "name":"DescribeAvailablePatches",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAvailablePatchesRequest"},
      "output":{"shape":"DescribeAvailablePatchesResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists all patches eligible to be included in a patch baseline.</p>"
    },
    "DescribeDocument":{
      "name":"DescribeDocument",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeDocumentRequest"},
      "output":{"shape":"DescribeDocumentResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"}
      ],
      "documentation":"<p>Describes the specified Amazon Web Services Systems Manager document (SSM document).</p>"
    },
    "DescribeDocumentPermission":{
      "name":"DescribeDocumentPermission",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeDocumentPermissionRequest"},
      "output":{"shape":"DescribeDocumentPermissionResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidPermissionType"},
        {"shape":"InvalidDocumentOperation"}
      ],
      "documentation":"<p>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 (<i>All</i>). </p>"
    },
    "DescribeEffectiveInstanceAssociations":{
      "name":"DescribeEffectiveInstanceAssociations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeEffectiveInstanceAssociationsRequest"},
      "output":{"shape":"DescribeEffectiveInstanceAssociationsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>All associations for the managed node(s).</p>"
    },
    "DescribeEffectivePatchesForPatchBaseline":{
      "name":"DescribeEffectivePatchesForPatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeEffectivePatchesForPatchBaselineRequest"},
      "output":{"shape":"DescribeEffectivePatchesForPatchBaselineResult"},
      "errors":[
        {"shape":"InvalidResourceId"},
        {"shape":"DoesNotExistException"},
        {"shape":"UnsupportedOperatingSystem"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline. Applies to patch baselines for Windows only.</p>"
    },
    "DescribeInstanceAssociationsStatus":{
      "name":"DescribeInstanceAssociationsStatus",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeInstanceAssociationsStatusRequest"},
      "output":{"shape":"DescribeInstanceAssociationsStatusResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>The status of the associations for the managed node(s).</p>"
    },
    "DescribeInstanceInformation":{
      "name":"DescribeInstanceInformation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeInstanceInformationRequest"},
      "output":{"shape":"DescribeInstanceInformationResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidInstanceInformationFilterValue"},
        {"shape":"InvalidFilterKey"}
      ],
      "documentation":"<p>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.</p> <p>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.</p> <note> <p>The <code>IamRole</code> 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.</p> </note>"
    },
    "DescribeInstancePatchStates":{
      "name":"DescribeInstancePatchStates",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeInstancePatchStatesRequest"},
      "output":{"shape":"DescribeInstancePatchStatesResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Retrieves the high-level patch state of one or more managed nodes.</p>"
    },
    "DescribeInstancePatchStatesForPatchGroup":{
      "name":"DescribeInstancePatchStatesForPatchGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeInstancePatchStatesForPatchGroupRequest"},
      "output":{"shape":"DescribeInstancePatchStatesForPatchGroupResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Retrieves the high-level patch state for the managed nodes in the specified patch group.</p>"
    },
    "DescribeInstancePatches":{
      "name":"DescribeInstancePatches",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeInstancePatchesRequest"},
      "output":{"shape":"DescribeInstancePatchesResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Retrieves information about the patches on the specified managed node and their state relative to the patch baseline being used for the node.</p>"
    },
    "DescribeInventoryDeletions":{
      "name":"DescribeInventoryDeletions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeInventoryDeletionsRequest"},
      "output":{"shape":"DescribeInventoryDeletionsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDeletionIdException"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Describes a specific delete inventory operation.</p>"
    },
    "DescribeMaintenanceWindowExecutionTaskInvocations":{
      "name":"DescribeMaintenanceWindowExecutionTaskInvocations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowExecutionTaskInvocationsRequest"},
      "output":{"shape":"DescribeMaintenanceWindowExecutionTaskInvocationsResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution.</p>"
    },
    "DescribeMaintenanceWindowExecutionTasks":{
      "name":"DescribeMaintenanceWindowExecutionTasks",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowExecutionTasksRequest"},
      "output":{"shape":"DescribeMaintenanceWindowExecutionTasksResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>For a given maintenance window execution, lists the tasks that were run.</p>"
    },
    "DescribeMaintenanceWindowExecutions":{
      "name":"DescribeMaintenanceWindowExecutions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowExecutionsRequest"},
      "output":{"shape":"DescribeMaintenanceWindowExecutionsResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "DescribeMaintenanceWindowSchedule":{
      "name":"DescribeMaintenanceWindowSchedule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowScheduleRequest"},
      "output":{"shape":"DescribeMaintenanceWindowScheduleResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"DoesNotExistException"}
      ],
      "documentation":"<p>Retrieves information about upcoming executions of a maintenance window.</p>"
    },
    "DescribeMaintenanceWindowTargets":{
      "name":"DescribeMaintenanceWindowTargets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowTargetsRequest"},
      "output":{"shape":"DescribeMaintenanceWindowTargetsResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists the targets registered with the maintenance window.</p>"
    },
    "DescribeMaintenanceWindowTasks":{
      "name":"DescribeMaintenanceWindowTasks",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowTasksRequest"},
      "output":{"shape":"DescribeMaintenanceWindowTasksResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists the tasks in a maintenance window.</p> <note> <p>For maintenance window tasks without a specified target, you can't supply values for <code>--max-errors</code> and <code>--max-concurrency</code>. Instead, the system inserts a placeholder value of <code>1</code>, which may be reported in the response to this command. These values don't affect the running of your task and can be ignored.</p> </note>"
    },
    "DescribeMaintenanceWindows":{
      "name":"DescribeMaintenanceWindows",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowsRequest"},
      "output":{"shape":"DescribeMaintenanceWindowsResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the maintenance windows in an Amazon Web Services account.</p>"
    },
    "DescribeMaintenanceWindowsForTarget":{
      "name":"DescribeMaintenanceWindowsForTarget",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowsForTargetRequest"},
      "output":{"shape":"DescribeMaintenanceWindowsForTargetResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves information about the maintenance window targets or tasks that a managed node is associated with.</p>"
    },
    "DescribeOpsItems":{
      "name":"DescribeOpsItems",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeOpsItemsRequest"},
      "output":{"shape":"DescribeOpsItemsResponse"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html\">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html\">OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
    },
    "DescribeParameters":{
      "name":"DescribeParameters",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeParametersRequest"},
      "output":{"shape":"DescribeParametersResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidFilterOption"},
        {"shape":"InvalidFilterValue"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Get information about a parameter.</p> <p>Request results are returned on a best-effort basis. If you specify <code>MaxResults</code> 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 <code>MaxResults</code>. 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 <code>NextToken</code>. You can specify the <code>NextToken</code> in a subsequent call to get the next set of results.</p> <important> <p>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, <code>DescribeParameters</code> retrieves whatever the original key alias was referencing.</p> </important>"
    },
    "DescribePatchBaselines":{
      "name":"DescribePatchBaselines",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribePatchBaselinesRequest"},
      "output":{"shape":"DescribePatchBaselinesResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists the patch baselines in your Amazon Web Services account.</p>"
    },
    "DescribePatchGroupState":{
      "name":"DescribePatchGroupState",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribePatchGroupStateRequest"},
      "output":{"shape":"DescribePatchGroupStateResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Returns high-level aggregated patch compliance state information for a patch group.</p>"
    },
    "DescribePatchGroups":{
      "name":"DescribePatchGroups",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribePatchGroupsRequest"},
      "output":{"shape":"DescribePatchGroupsResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists all patch groups that have been registered with patch baselines.</p>"
    },
    "DescribePatchProperties":{
      "name":"DescribePatchProperties",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribePatchPropertiesRequest"},
      "output":{"shape":"DescribePatchPropertiesResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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 <a>CreatePatchBaseline</a>, <a>UpdatePatchBaseline</a>, <a>DescribeAvailablePatches</a>, and <a>DescribePatchBaselines</a>.</p> <p>The following section lists the properties that can be used in filters for each major operating system type:</p> <dl> <dt>AMAZON_LINUX</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code> </p> </dd> <dt>AMAZON_LINUX_2</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code> </p> </dd> <dt>CENTOS</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code> </p> </dd> <dt>DEBIAN</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>PRIORITY</code> </p> </dd> <dt>MACOS</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> </p> </dd> <dt>ORACLE_LINUX</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code> </p> </dd> <dt>REDHAT_ENTERPRISE_LINUX</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code> </p> </dd> <dt>SUSE</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>CLASSIFICATION</code> | <code>SEVERITY</code> </p> </dd> <dt>UBUNTU</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>PRIORITY</code> </p> </dd> <dt>WINDOWS</dt> <dd> <p>Valid properties: <code>PRODUCT</code> | <code>PRODUCT_FAMILY</code> | <code>CLASSIFICATION</code> | <code>MSRC_SEVERITY</code> </p> </dd> </dl>"
    },
    "DescribeSessions":{
      "name":"DescribeSessions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeSessionsRequest"},
      "output":{"shape":"DescribeSessionsResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Retrieves a list of all active sessions (both connected and disconnected) or terminated sessions from the past 30 days.</p>"
    },
    "DisassociateOpsItemRelatedItem":{
      "name":"DisassociateOpsItemRelatedItem",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DisassociateOpsItemRelatedItemRequest"},
      "output":{"shape":"DisassociateOpsItemRelatedItemResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemRelatedItemAssociationNotFoundException"},
        {"shape":"OpsItemNotFoundException"},
        {"shape":"OpsItemInvalidParameterException"},
        {"shape":"OpsItemConflictException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "GetAutomationExecution":{
      "name":"GetAutomationExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetAutomationExecutionRequest"},
      "output":{"shape":"GetAutomationExecutionResult"},
      "errors":[
        {"shape":"AutomationExecutionNotFoundException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Get detailed information about a particular Automation execution.</p>"
    },
    "GetCalendarState":{
      "name":"GetCalendarState",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetCalendarStateRequest"},
      "output":{"shape":"GetCalendarStateResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentType"},
        {"shape":"UnsupportedCalendarException"}
      ],
      "documentation":"<p>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, <code>GetCalendarState</code> 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, <code>GetCalendarState</code> uses the current time. Change Calendar entries have two possible states: <code>OPEN</code> or <code>CLOSED</code>.</p> <p>If you specify more than one calendar in a request, the command returns the status of <code>OPEN</code> only if all calendars in the request are open. If one or more calendars in the request are closed, the status returned is <code>CLOSED</code>.</p> <p>For more information about Change Calendar, a capability of Amazon Web Services Systems Manager, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html\">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
    },
    "GetCommandInvocation":{
      "name":"GetCommandInvocation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetCommandInvocationRequest"},
      "output":{"shape":"GetCommandInvocationResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidCommandId"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidPluginName"},
        {"shape":"InvocationDoesNotExist"}
      ],
      "documentation":"<p>Returns detailed information about command execution for an invocation or plugin.</p> <p> <code>GetCommandInvocation</code> only gives the execution status of a plugin in a document. To get the command execution status on a specific managed node, use <a>ListCommandInvocations</a>. To get the command execution status across managed nodes, use <a>ListCommands</a>.</p>"
    },
    "GetConnectionStatus":{
      "name":"GetConnectionStatus",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetConnectionStatusRequest"},
      "output":{"shape":"GetConnectionStatusResponse"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the Session Manager connection status for a managed node to determine whether it is running and ready to receive Session Manager connections.</p>"
    },
    "GetDefaultPatchBaseline":{
      "name":"GetDefaultPatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetDefaultPatchBaselineRequest"},
      "output":{"shape":"GetDefaultPatchBaselineResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p> <p>If you don't specify an operating system value, the default patch baseline for Windows is returned.</p>"
    },
    "GetDeployablePatchSnapshotForInstance":{
      "name":"GetDeployablePatchSnapshotForInstance",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetDeployablePatchSnapshotForInstanceRequest"},
      "output":{"shape":"GetDeployablePatchSnapshotForInstanceResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"UnsupportedOperatingSystem"},
        {"shape":"UnsupportedFeatureRequiredException"}
      ],
      "documentation":"<p>Retrieves the current snapshot for the patch baseline the managed node uses. This API is primarily used by the <code>AWS-RunPatchBaseline</code> Systems Manager document (SSM document).</p> <note> <p>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 <code>AWS-RunShellScript</code> document or the <code>AWS-RunPowerShellScript</code> document.</p> </note>"
    },
    "GetDocument":{
      "name":"GetDocument",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetDocumentRequest"},
      "output":{"shape":"GetDocumentResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"}
      ],
      "documentation":"<p>Gets the contents of the specified Amazon Web Services Systems Manager document (SSM document).</p>"
    },
    "GetInventory":{
      "name":"GetInventory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetInventoryRequest"},
      "output":{"shape":"GetInventoryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidInventoryGroupException"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidAggregatorException"},
        {"shape":"InvalidResultAttributeException"}
      ],
      "documentation":"<p>Query inventory information. This includes managed node status, such as <code>Stopped</code> or <code>Terminated</code>.</p>"
    },
    "GetInventorySchema":{
      "name":"GetInventorySchema",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetInventorySchemaRequest"},
      "output":{"shape":"GetInventorySchemaResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type.</p>"
    },
    "GetMaintenanceWindow":{
      "name":"GetMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMaintenanceWindowRequest"},
      "output":{"shape":"GetMaintenanceWindowResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves a maintenance window.</p>"
    },
    "GetMaintenanceWindowExecution":{
      "name":"GetMaintenanceWindowExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMaintenanceWindowExecutionRequest"},
      "output":{"shape":"GetMaintenanceWindowExecutionResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves details about a specific a maintenance window execution.</p>"
    },
    "GetMaintenanceWindowExecutionTask":{
      "name":"GetMaintenanceWindowExecutionTask",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMaintenanceWindowExecutionTaskRequest"},
      "output":{"shape":"GetMaintenanceWindowExecutionTaskResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the details about a specific task run as part of a maintenance window execution.</p>"
    },
    "GetMaintenanceWindowExecutionTaskInvocation":{
      "name":"GetMaintenanceWindowExecutionTaskInvocation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMaintenanceWindowExecutionTaskInvocationRequest"},
      "output":{"shape":"GetMaintenanceWindowExecutionTaskInvocationResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves information about a specific task running on a specific target.</p>"
    },
    "GetMaintenanceWindowTask":{
      "name":"GetMaintenanceWindowTask",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMaintenanceWindowTaskRequest"},
      "output":{"shape":"GetMaintenanceWindowTaskResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the details of a maintenance window task.</p> <note> <p>For maintenance window tasks without a specified target, you can't supply values for <code>--max-errors</code> and <code>--max-concurrency</code>. Instead, the system inserts a placeholder value of <code>1</code>, which may be reported in the response to this command. These values don't affect the running of your task and can be ignored.</p> </note> <p>To retrieve a list of tasks in a maintenance window, instead use the <a>DescribeMaintenanceWindowTasks</a> command.</p>"
    },
    "GetOpsItem":{
      "name":"GetOpsItem",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetOpsItemRequest"},
      "output":{"shape":"GetOpsItemResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemNotFoundException"},
        {"shape":"OpsItemAccessDeniedException"}
      ],
      "documentation":"<p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html\">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html\">OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
    },
    "GetOpsMetadata":{
      "name":"GetOpsMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetOpsMetadataRequest"},
      "output":{"shape":"GetOpsMetadataResult"},
      "errors":[
        {"shape":"OpsMetadataNotFoundException"},
        {"shape":"OpsMetadataInvalidArgumentException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>View operational metadata related to an application in Application Manager.</p>"
    },
    "GetOpsSummary":{
      "name":"GetOpsSummary",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetOpsSummaryRequest"},
      "output":{"shape":"GetOpsSummaryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ResourceDataSyncNotFoundException"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidAggregatorException"}
      ],
      "documentation":"<p>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. </p>"
    },
    "GetParameter":{
      "name":"GetParameter",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetParameterRequest"},
      "output":{"shape":"GetParameterResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidKeyId"},
        {"shape":"ParameterNotFound"},
        {"shape":"ParameterVersionNotFound"}
      ],
      "documentation":"<p>Get information about a single parameter by specifying the parameter name.</p> <note> <p>To get information about more than one parameter at a time, use the <a>GetParameters</a> operation.</p> </note>"
    },
    "GetParameterHistory":{
      "name":"GetParameterHistory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetParameterHistoryRequest"},
      "output":{"shape":"GetParameterHistoryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ParameterNotFound"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidKeyId"}
      ],
      "documentation":"<p>Retrieves the history of all changes to a parameter.</p> <important> <p>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, <code>GetParameterHistory</code> retrieves whatever the original key alias was referencing.</p> </important>"
    },
    "GetParameters":{
      "name":"GetParameters",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetParametersRequest"},
      "output":{"shape":"GetParametersResult"},
      "errors":[
        {"shape":"InvalidKeyId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Get information about one or more parameters by specifying multiple parameter names.</p> <note> <p>To get information about a single parameter, you can use the <a>GetParameter</a> operation instead.</p> </note>"
    },
    "GetParametersByPath":{
      "name":"GetParametersByPath",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetParametersByPathRequest"},
      "output":{"shape":"GetParametersByPathResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidFilterOption"},
        {"shape":"InvalidFilterValue"},
        {"shape":"InvalidKeyId"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Retrieve information about one or more parameters in a specific hierarchy. </p> <p>Request results are returned on a best-effort basis. If you specify <code>MaxResults</code> 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 <code>MaxResults</code>. 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 <code>NextToken</code>. You can specify the <code>NextToken</code> in a subsequent call to get the next set of results.</p>"
    },
    "GetPatchBaseline":{
      "name":"GetPatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetPatchBaselineRequest"},
      "output":{"shape":"GetPatchBaselineResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InvalidResourceId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves information about a patch baseline.</p>"
    },
    "GetPatchBaselineForPatchGroup":{
      "name":"GetPatchBaselineForPatchGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetPatchBaselineForPatchGroupRequest"},
      "output":{"shape":"GetPatchBaselineForPatchGroupResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the patch baseline that should be used for the specified patch group.</p>"
    },
    "GetResourcePolicies":{
      "name":"GetResourcePolicies",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetResourcePoliciesRequest"},
      "output":{"shape":"GetResourcePoliciesResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ResourcePolicyInvalidParameterException"}
      ],
      "documentation":"<p>Returns an array of the <code>Policy</code> object.</p>"
    },
    "GetServiceSetting":{
      "name":"GetServiceSetting",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetServiceSettingRequest"},
      "output":{"shape":"GetServiceSettingResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ServiceSettingNotFound"}
      ],
      "documentation":"<p> <code>ServiceSetting</code> 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 <code>false</code>. This means the user can't use this feature unless they change the setting to <code>true</code> and intentionally opt in for a paid feature.</p> <p>Services map a <code>SettingId</code> object to a setting value. Amazon Web Services services teams define the default value for a <code>SettingId</code>. You can't create a new <code>SettingId</code>, but you can overwrite the default value if you have the <code>ssm:UpdateServiceSetting</code> permission for the setting. Use the <a>UpdateServiceSetting</a> API operation to change the default setting. Or use the <a>ResetServiceSetting</a> to change the value back to the original value defined by the Amazon Web Services service team.</p> <p>Query the current service setting for the Amazon Web Services account. </p>"
    },
    "LabelParameterVersion":{
      "name":"LabelParameterVersion",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"LabelParameterVersionRequest"},
      "output":{"shape":"LabelParameterVersionResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"TooManyUpdates"},
        {"shape":"ParameterNotFound"},
        {"shape":"ParameterVersionNotFound"},
        {"shape":"ParameterVersionLabelLimitExceeded"}
      ],
      "documentation":"<p>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. </p> <p>Parameter labels have the following requirements and restrictions.</p> <ul> <li> <p>A version of a parameter can have a maximum of 10 labels.</p> </li> <li> <p>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.</p> </li> <li> <p>You can move a label from one version of a parameter to another.</p> </li> <li> <p>You can't create a label when you create a new parameter. You must attach a label to a specific version of a parameter.</p> </li> <li> <p>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.</p> </li> <li> <p>A label can have a maximum of 100 characters.</p> </li> <li> <p>Labels can contain letters (case sensitive), numbers, periods (.), hyphens (-), or underscores (_).</p> </li> <li> <p>Labels can't begin with a number, \"<code>aws</code>\" or \"<code>ssm</code>\" (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.</p> </li> </ul>"
    },
    "ListAssociationVersions":{
      "name":"ListAssociationVersions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssociationVersionsRequest"},
      "output":{"shape":"ListAssociationVersionsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"},
        {"shape":"AssociationDoesNotExist"}
      ],
      "documentation":"<p>Retrieves all versions of an association for a specific association ID.</p>"
    },
    "ListAssociations":{
      "name":"ListAssociations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssociationsRequest"},
      "output":{"shape":"ListAssociationsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>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.</p>"
    },
    "ListCommandInvocations":{
      "name":"ListCommandInvocations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListCommandInvocationsRequest"},
      "output":{"shape":"ListCommandInvocationsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidCommandId"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>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 <code>SendCommand</code> against three managed nodes, then a command invocation is created for each requested managed node ID. <code>ListCommandInvocations</code> provide status about command execution.</p>"
    },
    "ListCommands":{
      "name":"ListCommands",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListCommandsRequest"},
      "output":{"shape":"ListCommandsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidCommandId"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidFilterKey"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Lists the commands requested by users of the Amazon Web Services account.</p>"
    },
    "ListComplianceItems":{
      "name":"ListComplianceItems",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListComplianceItemsRequest"},
      "output":{"shape":"ListComplianceItemsResult"},
      "errors":[
        {"shape":"InvalidResourceType"},
        {"shape":"InvalidResourceId"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>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.</p>"
    },
    "ListComplianceSummaries":{
      "name":"ListComplianceSummaries",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListComplianceSummariesRequest"},
      "output":{"shape":"ListComplianceSummariesResult"},
      "errors":[
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "ListDocumentMetadataHistory":{
      "name":"ListDocumentMetadataHistory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListDocumentMetadataHistoryRequest"},
      "output":{"shape":"ListDocumentMetadataHistoryResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Information about approval reviews for a version of a change template in Change Manager.</p>"
    },
    "ListDocumentVersions":{
      "name":"ListDocumentVersions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListDocumentVersionsRequest"},
      "output":{"shape":"ListDocumentVersionsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidDocument"}
      ],
      "documentation":"<p>List all versions for a document.</p>"
    },
    "ListDocuments":{
      "name":"ListDocuments",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListDocumentsRequest"},
      "output":{"shape":"ListDocumentsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidFilterKey"}
      ],
      "documentation":"<p>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.</p>"
    },
    "ListInventoryEntries":{
      "name":"ListInventoryEntries",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListInventoryEntriesRequest"},
      "output":{"shape":"ListInventoryEntriesResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>A list of inventory items returned by the request.</p>"
    },
    "ListOpsItemEvents":{
      "name":"ListOpsItemEvents",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListOpsItemEventsRequest"},
      "output":{"shape":"ListOpsItemEventsResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemNotFoundException"},
        {"shape":"OpsItemLimitExceededException"},
        {"shape":"OpsItemInvalidParameterException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "ListOpsItemRelatedItems":{
      "name":"ListOpsItemRelatedItems",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListOpsItemRelatedItemsRequest"},
      "output":{"shape":"ListOpsItemRelatedItemsResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemInvalidParameterException"}
      ],
      "documentation":"<p>Lists all related-item resources associated with a Systems Manager OpsCenter OpsItem. OpsCenter is a capability of Amazon Web Services Systems Manager.</p>"
    },
    "ListOpsMetadata":{
      "name":"ListOpsMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListOpsMetadataRequest"},
      "output":{"shape":"ListOpsMetadataResult"},
      "errors":[
        {"shape":"OpsMetadataInvalidArgumentException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Amazon Web Services Systems Manager calls this API operation when displaying all Application Manager OpsMetadata objects or blobs.</p>"
    },
    "ListResourceComplianceSummaries":{
      "name":"ListResourceComplianceSummaries",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListResourceComplianceSummariesRequest"},
      "output":{"shape":"ListResourceComplianceSummariesResult"},
      "errors":[
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "ListResourceDataSync":{
      "name":"ListResourceDataSync",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListResourceDataSyncRequest"},
      "output":{"shape":"ListResourceDataSyncResult"},
      "errors":[
        {"shape":"ResourceDataSyncInvalidConfigurationException"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>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.</p> <p>The number of sync configurations might be too large to return using a single call to <code>ListResourceDataSync</code>. You can limit the number of sync configurations returned by using the <code>MaxResults</code> parameter. To determine whether there are more sync configurations to list, check the value of <code>NextToken</code> in the output. If there are more sync configurations to list, you can request them by specifying the <code>NextToken</code> returned in the call to the parameter of a subsequent call. </p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResult"},
      "errors":[
        {"shape":"InvalidResourceType"},
        {"shape":"InvalidResourceId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Returns a list of the tags assigned to the specified resource.</p> <p>For information about the ID format for each supported resource type, see <a>AddTagsToResource</a>.</p>"
    },
    "ModifyDocumentPermission":{
      "name":"ModifyDocumentPermission",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ModifyDocumentPermissionRequest"},
      "output":{"shape":"ModifyDocumentPermissionResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidPermissionType"},
        {"shape":"DocumentPermissionLimit"},
        {"shape":"DocumentLimitExceeded"}
      ],
      "documentation":"<p>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 <i>All</i> as the account ID.</p>"
    },
    "PutComplianceItems":{
      "name":"PutComplianceItems",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutComplianceItemsRequest"},
      "output":{"shape":"PutComplianceItemsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidItemContentException"},
        {"shape":"TotalSizeLimitExceededException"},
        {"shape":"ItemSizeLimitExceededException"},
        {"shape":"ComplianceTypeCountLimitExceededException"},
        {"shape":"InvalidResourceType"},
        {"shape":"InvalidResourceId"}
      ],
      "documentation":"<p>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.</p> <p>ComplianceType can be one of the following:</p> <ul> <li> <p>ExecutionId: The execution ID when the patch, association, or custom compliance item was applied.</p> </li> <li> <p>ExecutionType: Specify patch, association, or Custom:<code>string</code>.</p> </li> <li> <p>ExecutionTime. The time the patch, association, or custom compliance item was applied to the managed node.</p> </li> <li> <p>Id: The patch, association, or custom compliance ID.</p> </li> <li> <p>Title: A title.</p> </li> <li> <p>Status: The status of the compliance item. For example, <code>approved</code> for patches, or <code>Failed</code> for associations.</p> </li> <li> <p>Severity: A patch severity. For example, <code>Critical</code>.</p> </li> <li> <p>DocumentName: An SSM document name. For example, <code>AWS-RunPatchBaseline</code>.</p> </li> <li> <p>DocumentVersion: An SSM document version number. For example, 4.</p> </li> <li> <p>Classification: A patch classification. For example, <code>security updates</code>.</p> </li> <li> <p>PatchBaselineId: A patch baseline ID.</p> </li> <li> <p>PatchSeverity: A patch severity. For example, <code>Critical</code>.</p> </li> <li> <p>PatchState: A patch state. For example, <code>InstancesWithFailedPatches</code>.</p> </li> <li> <p>PatchGroup: The name of a patch group.</p> </li> <li> <p>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'</p> </li> </ul>"
    },
    "PutInventory":{
      "name":"PutInventory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutInventoryRequest"},
      "output":{"shape":"PutInventoryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidItemContentException"},
        {"shape":"TotalSizeLimitExceededException"},
        {"shape":"ItemSizeLimitExceededException"},
        {"shape":"ItemContentMismatchException"},
        {"shape":"CustomSchemaCountLimitExceededException"},
        {"shape":"UnsupportedInventorySchemaVersionException"},
        {"shape":"UnsupportedInventoryItemContextException"},
        {"shape":"InvalidInventoryItemContextException"},
        {"shape":"SubTypeCountLimitExceededException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "PutParameter":{
      "name":"PutParameter",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutParameterRequest"},
      "output":{"shape":"PutParameterResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidKeyId"},
        {"shape":"ParameterLimitExceeded"},
        {"shape":"TooManyUpdates"},
        {"shape":"ParameterAlreadyExists"},
        {"shape":"HierarchyLevelLimitExceededException"},
        {"shape":"HierarchyTypeMismatchException"},
        {"shape":"InvalidAllowedPatternException"},
        {"shape":"ParameterMaxVersionLimitExceeded"},
        {"shape":"ParameterPatternMismatchException"},
        {"shape":"UnsupportedParameterType"},
        {"shape":"PoliciesLimitExceededException"},
        {"shape":"InvalidPolicyTypeException"},
        {"shape":"InvalidPolicyAttributeException"},
        {"shape":"IncompatiblePolicyException"}
      ],
      "documentation":"<p>Add a parameter to the system.</p>"
    },
    "PutResourcePolicy":{
      "name":"PutResourcePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutResourcePolicyRequest"},
      "output":{"shape":"PutResourcePolicyResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ResourcePolicyInvalidParameterException"},
        {"shape":"ResourcePolicyLimitExceededException"},
        {"shape":"ResourcePolicyConflictException"}
      ],
      "documentation":"<p>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. Currently, <code>OpsItemGroup</code> is the only resource that supports Systems Manager resource policies. The resource policy for <code>OpsItemGroup</code> enables Amazon Web Services accounts to view and interact with OpsCenter operational work items (OpsItems).</p>"
    },
    "RegisterDefaultPatchBaseline":{
      "name":"RegisterDefaultPatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RegisterDefaultPatchBaselineRequest"},
      "output":{"shape":"RegisterDefaultPatchBaselineResult"},
      "errors":[
        {"shape":"InvalidResourceId"},
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Defines the default patch baseline for the relevant operating system.</p> <p>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 <code>arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed</code> instead of <code>pb-0574b43a65ea646ed</code>.</p>"
    },
    "RegisterPatchBaselineForPatchGroup":{
      "name":"RegisterPatchBaselineForPatchGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RegisterPatchBaselineForPatchGroupRequest"},
      "output":{"shape":"RegisterPatchBaselineForPatchGroupResult"},
      "errors":[
        {"shape":"AlreadyExistsException"},
        {"shape":"DoesNotExistException"},
        {"shape":"InvalidResourceId"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Registers a patch baseline for a patch group.</p>"
    },
    "RegisterTargetWithMaintenanceWindow":{
      "name":"RegisterTargetWithMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RegisterTargetWithMaintenanceWindowRequest"},
      "output":{"shape":"RegisterTargetWithMaintenanceWindowResult"},
      "errors":[
        {"shape":"IdempotentParameterMismatch"},
        {"shape":"DoesNotExistException"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Registers a target with a maintenance window.</p>"
    },
    "RegisterTaskWithMaintenanceWindow":{
      "name":"RegisterTaskWithMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RegisterTaskWithMaintenanceWindowRequest"},
      "output":{"shape":"RegisterTaskWithMaintenanceWindowResult"},
      "errors":[
        {"shape":"IdempotentParameterMismatch"},
        {"shape":"DoesNotExistException"},
        {"shape":"ResourceLimitExceededException"},
        {"shape":"FeatureNotAvailableException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Adds a new task to a maintenance window.</p>"
    },
    "RemoveTagsFromResource":{
      "name":"RemoveTagsFromResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RemoveTagsFromResourceRequest"},
      "output":{"shape":"RemoveTagsFromResourceResult"},
      "errors":[
        {"shape":"InvalidResourceType"},
        {"shape":"InvalidResourceId"},
        {"shape":"InternalServerError"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p>Removes tag keys from the specified resource.</p>"
    },
    "ResetServiceSetting":{
      "name":"ResetServiceSetting",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ResetServiceSettingRequest"},
      "output":{"shape":"ResetServiceSettingResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ServiceSettingNotFound"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p> <code>ServiceSetting</code> 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.</p> <p>Services map a <code>SettingId</code> object to a setting value. Amazon Web Services services teams define the default value for a <code>SettingId</code>. You can't create a new <code>SettingId</code>, but you can overwrite the default value if you have the <code>ssm:UpdateServiceSetting</code> permission for the setting. Use the <a>GetServiceSetting</a> API operation to view the current value. Use the <a>UpdateServiceSetting</a> API operation to change the default setting. </p> <p>Reset the service setting for the account to the default value as provisioned by the Amazon Web Services service team. </p>"
    },
    "ResumeSession":{
      "name":"ResumeSession",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ResumeSessionRequest"},
      "output":{"shape":"ResumeSessionResponse"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Reconnects a session to a managed node after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions.</p> <note> <p>This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It isn't intended for any other use.</p> </note>"
    },
    "SendAutomationSignal":{
      "name":"SendAutomationSignal",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SendAutomationSignalRequest"},
      "output":{"shape":"SendAutomationSignalResult"},
      "errors":[
        {"shape":"AutomationExecutionNotFoundException"},
        {"shape":"AutomationStepNotFoundException"},
        {"shape":"InvalidAutomationSignalException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Sends a signal to an Automation execution to change the current behavior or status of the execution. </p>"
    },
    "SendCommand":{
      "name":"SendCommand",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SendCommandRequest"},
      "output":{"shape":"SendCommandResult"},
      "errors":[
        {"shape":"DuplicateInstanceId"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidOutputFolder"},
        {"shape":"InvalidParameters"},
        {"shape":"UnsupportedPlatformType"},
        {"shape":"MaxDocumentSizeExceeded"},
        {"shape":"InvalidRole"},
        {"shape":"InvalidNotificationConfig"}
      ],
      "documentation":"<p>Runs commands on one or more managed nodes.</p>"
    },
    "StartAssociationsOnce":{
      "name":"StartAssociationsOnce",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartAssociationsOnceRequest"},
      "output":{"shape":"StartAssociationsOnceResult"},
      "errors":[
        {"shape":"InvalidAssociation"},
        {"shape":"AssociationDoesNotExist"}
      ],
      "documentation":"<p>Runs an association immediately and only one time. This operation can be helpful when troubleshooting associations.</p>"
    },
    "StartAutomationExecution":{
      "name":"StartAutomationExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartAutomationExecutionRequest"},
      "output":{"shape":"StartAutomationExecutionResult"},
      "errors":[
        {"shape":"AutomationDefinitionNotFoundException"},
        {"shape":"InvalidAutomationExecutionParametersException"},
        {"shape":"AutomationExecutionLimitExceededException"},
        {"shape":"AutomationDefinitionVersionNotFoundException"},
        {"shape":"IdempotentParameterMismatch"},
        {"shape":"InvalidTarget"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Initiates execution of an Automation runbook.</p>"
    },
    "StartChangeRequestExecution":{
      "name":"StartChangeRequestExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartChangeRequestExecutionRequest"},
      "output":{"shape":"StartChangeRequestExecutionResult"},
      "errors":[
        {"shape":"AutomationDefinitionNotFoundException"},
        {"shape":"InvalidAutomationExecutionParametersException"},
        {"shape":"AutomationExecutionLimitExceededException"},
        {"shape":"AutomationDefinitionVersionNotFoundException"},
        {"shape":"IdempotentParameterMismatch"},
        {"shape":"InternalServerError"},
        {"shape":"AutomationDefinitionNotApprovedException"}
      ],
      "documentation":"<p>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.</p>"
    },
    "StartSession":{
      "name":"StartSession",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartSessionRequest"},
      "output":{"shape":"StartSessionResponse"},
      "errors":[
        {"shape":"InvalidDocument"},
        {"shape":"TargetNotConnected"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p> <note> <p>Amazon Web Services CLI usage: <code>start-session</code> is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html\">Install the Session Manager plugin for the Amazon Web Services CLI</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>Amazon Web Services Tools for PowerShell usage: Start-SSMSession isn't currently supported by Amazon Web Services Tools for PowerShell on Windows local machines.</p> </note>"
    },
    "StopAutomationExecution":{
      "name":"StopAutomationExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StopAutomationExecutionRequest"},
      "output":{"shape":"StopAutomationExecutionResult"},
      "errors":[
        {"shape":"AutomationExecutionNotFoundException"},
        {"shape":"InvalidAutomationStatusUpdateException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Stop an Automation that is currently running.</p>"
    },
    "TerminateSession":{
      "name":"TerminateSession",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"TerminateSessionRequest"},
      "output":{"shape":"TerminateSessionResponse"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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.</p>"
    },
    "UnlabelParameterVersion":{
      "name":"UnlabelParameterVersion",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UnlabelParameterVersionRequest"},
      "output":{"shape":"UnlabelParameterVersionResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"TooManyUpdates"},
        {"shape":"ParameterNotFound"},
        {"shape":"ParameterVersionNotFound"}
      ],
      "documentation":"<p>Remove a label or labels from a parameter.</p>"
    },
    "UpdateAssociation":{
      "name":"UpdateAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateAssociationRequest"},
      "output":{"shape":"UpdateAssociationResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidSchedule"},
        {"shape":"InvalidParameters"},
        {"shape":"InvalidOutputLocation"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"AssociationDoesNotExist"},
        {"shape":"InvalidUpdate"},
        {"shape":"TooManyUpdates"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidTarget"},
        {"shape":"InvalidAssociationVersion"},
        {"shape":"AssociationVersionLimitExceeded"},
        {"shape":"InvalidTargetMaps"}
      ],
      "documentation":"<p>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 <code>UpdateAssociation</code>, 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 <code>Name</code> parameter. Before calling this API action, we recommend that you call the <a>DescribeAssociation</a> API operation and make a note of all optional parameters required for your <code>UpdateAssociation</code> call.</p> <p>In order to call this API operation, a user, group, or role must be granted permission to call the <a>DescribeAssociation</a> API operation. If you don't have permission to call <code>DescribeAssociation</code>, then you receive the following error: <code>An error occurred (AccessDeniedException) when calling the UpdateAssociation operation: User: &lt;user_arn&gt; isn't authorized to perform: ssm:DescribeAssociation on resource: &lt;resource_arn&gt;</code> </p> <important> <p>When you update an association, the association immediately runs against the specified targets. You can add the <code>ApplyOnlyAtCronInterval</code> parameter to run the association during the next schedule run.</p> </important>"
    },
    "UpdateAssociationStatus":{
      "name":"UpdateAssociationStatus",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateAssociationStatusRequest"},
      "output":{"shape":"UpdateAssociationStatusResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidDocument"},
        {"shape":"AssociationDoesNotExist"},
        {"shape":"StatusUnchanged"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p>Updates the status of the Amazon Web Services Systems Manager document (SSM document) associated with the specified managed node.</p> <p> <code>UpdateAssociationStatus</code> 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 <code>InstanceId</code> legacy parameter.</p>"
    },
    "UpdateDocument":{
      "name":"UpdateDocument",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateDocumentRequest"},
      "output":{"shape":"UpdateDocumentResult"},
      "errors":[
        {"shape":"MaxDocumentSizeExceeded"},
        {"shape":"DocumentVersionLimitExceeded"},
        {"shape":"InternalServerError"},
        {"shape":"DuplicateDocumentContent"},
        {"shape":"DuplicateDocumentVersionName"},
        {"shape":"InvalidDocumentContent"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidDocumentSchemaVersion"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentOperation"}
      ],
      "documentation":"<p>Updates one or more values for an SSM document.</p>"
    },
    "UpdateDocumentDefaultVersion":{
      "name":"UpdateDocumentDefaultVersion",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateDocumentDefaultVersionRequest"},
      "output":{"shape":"UpdateDocumentDefaultVersionResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidDocumentSchemaVersion"}
      ],
      "documentation":"<p>Set the default version of a document. </p> <note> <p>If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the <code>apply-only-at-cron-interval</code> parameter.</p> </note>"
    },
    "UpdateDocumentMetadata":{
      "name":"UpdateDocumentMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateDocumentMetadataRequest"},
      "output":{"shape":"UpdateDocumentMetadataResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidDocumentOperation"},
        {"shape":"InvalidDocumentVersion"}
      ],
      "documentation":"<p>Updates information related to approval reviews for a specific version of a change template in Change Manager.</p>"
    },
    "UpdateMaintenanceWindow":{
      "name":"UpdateMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateMaintenanceWindowRequest"},
      "output":{"shape":"UpdateMaintenanceWindowResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Updates an existing maintenance window. Only specified parameters are modified.</p> <note> <p>The value you specify for <code>Duration</code> 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 <code>Cutoff</code>. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for <code>Cutoff</code> is one hour, no maintenance window tasks can start after 5 PM.</p> </note>"
    },
    "UpdateMaintenanceWindowTarget":{
      "name":"UpdateMaintenanceWindowTarget",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateMaintenanceWindowTargetRequest"},
      "output":{"shape":"UpdateMaintenanceWindowTargetResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Modifies the target of an existing maintenance window. You can change the following:</p> <ul> <li> <p>Name</p> </li> <li> <p>Description</p> </li> <li> <p>Owner</p> </li> <li> <p>IDs for an ID target</p> </li> <li> <p>Tags for a Tag target</p> </li> <li> <p>From any supported tag type to another. The three supported tag types are ID target, Tag target, and resource group. For more information, see <a>Target</a>.</p> </li> </ul> <note> <p>If a parameter is null, then the corresponding field isn't modified.</p> </note>"
    },
    "UpdateMaintenanceWindowTask":{
      "name":"UpdateMaintenanceWindowTask",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateMaintenanceWindowTaskRequest"},
      "output":{"shape":"UpdateMaintenanceWindowTaskResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Modifies a task assigned to a maintenance window. You can't change the task type, but you can change the following values:</p> <ul> <li> <p> <code>TaskARN</code>. For example, you can change a <code>RUN_COMMAND</code> task from <code>AWS-RunPowerShellScript</code> to <code>AWS-RunShellScript</code>.</p> </li> <li> <p> <code>ServiceRoleArn</code> </p> </li> <li> <p> <code>TaskInvocationParameters</code> </p> </li> <li> <p> <code>Priority</code> </p> </li> <li> <p> <code>MaxConcurrency</code> </p> </li> <li> <p> <code>MaxErrors</code> </p> </li> </ul> <note> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">Registering maintenance window tasks without targets</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </note> <p>If the value for a parameter in <code>UpdateMaintenanceWindowTask</code> is null, then the corresponding field isn't modified. If you set <code>Replace</code> to true, then all fields required by the <a>RegisterTaskWithMaintenanceWindow</a> operation are required for this request. Optional fields that aren't specified are set to null.</p> <important> <p>When you update a maintenance window task that has options specified in <code>TaskInvocationParameters</code>, you must provide again all the <code>TaskInvocationParameters</code> 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 <code>TaskInvocationParameters</code> values for <code>Comment</code>, <code>NotificationConfig</code>, and <code>OutputS3BucketName</code>. If you update the maintenance window task and specify only a different <code>OutputS3BucketName</code> value, the values for <code>Comment</code> and <code>NotificationConfig</code> are removed.</p> </important>"
    },
    "UpdateManagedInstanceRole":{
      "name":"UpdateManagedInstanceRole",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateManagedInstanceRoleRequest"},
      "output":{"shape":"UpdateManagedInstanceRoleResult"},
      "errors":[
        {"shape":"InvalidInstanceId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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 <a>CreateActivation</a>.</p>"
    },
    "UpdateOpsItem":{
      "name":"UpdateOpsItem",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateOpsItemRequest"},
      "output":{"shape":"UpdateOpsItemResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"OpsItemNotFoundException"},
        {"shape":"OpsItemAlreadyExistsException"},
        {"shape":"OpsItemLimitExceededException"},
        {"shape":"OpsItemInvalidParameterException"},
        {"shape":"OpsItemAccessDeniedException"},
        {"shape":"OpsItemConflictException"}
      ],
      "documentation":"<p>Edit or change an OpsItem. You must have permission in Identity and Access Management (IAM) to update an OpsItem. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html\">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html\">OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
    },
    "UpdateOpsMetadata":{
      "name":"UpdateOpsMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateOpsMetadataRequest"},
      "output":{"shape":"UpdateOpsMetadataResult"},
      "errors":[
        {"shape":"OpsMetadataNotFoundException"},
        {"shape":"OpsMetadataInvalidArgumentException"},
        {"shape":"OpsMetadataKeyLimitExceededException"},
        {"shape":"OpsMetadataTooManyUpdatesException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Amazon Web Services Systems Manager calls this API operation when you edit OpsMetadata in Application Manager.</p>"
    },
    "UpdatePatchBaseline":{
      "name":"UpdatePatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdatePatchBaselineRequest"},
      "output":{"shape":"UpdatePatchBaselineResult"},
      "errors":[
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Modifies an existing patch baseline. Fields not specified in the request are left unchanged.</p> <note> <p>For information about valid key-value pairs in <code>PatchFilters</code> for each supported operating system type, see <a>PatchFilter</a>.</p> </note>"
    },
    "UpdateResourceDataSync":{
      "name":"UpdateResourceDataSync",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateResourceDataSyncRequest"},
      "output":{"shape":"UpdateResourceDataSyncResult"},
      "errors":[
        {"shape":"ResourceDataSyncNotFoundException"},
        {"shape":"ResourceDataSyncInvalidConfigurationException"},
        {"shape":"ResourceDataSyncConflictException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>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 <code>Include only the current account</code> option, you can't edit that sync later and choose the <code>Include all accounts from my Organizations configuration</code> option. Instead, you must delete the first resource data sync, and create a new one.</p> <note> <p>This API operation only supports a resource data sync that was created with a SyncFromSource <code>SyncType</code>.</p> </note>"
    },
    "UpdateServiceSetting":{
      "name":"UpdateServiceSetting",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateServiceSettingRequest"},
      "output":{"shape":"UpdateServiceSettingResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ServiceSettingNotFound"},
        {"shape":"TooManyUpdates"}
      ],
      "documentation":"<p> <code>ServiceSetting</code> 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.</p> <p>Services map a <code>SettingId</code> object to a setting value. Amazon Web Services services teams define the default value for a <code>SettingId</code>. You can't create a new <code>SettingId</code>, but you can overwrite the default value if you have the <code>ssm:UpdateServiceSetting</code> permission for the setting. Use the <a>GetServiceSetting</a> API operation to view the current value. Or, use the <a>ResetServiceSetting</a> to change the value back to the original value defined by the Amazon Web Services service team.</p> <p>Update the service setting for the account. </p>"
    }
  },
  "shapes":{
    "Account":{"type":"string"},
    "AccountId":{
      "type":"string",
      "pattern":"(?i)all|[0-9]{12}"
    },
    "AccountIdList":{
      "type":"list",
      "member":{"shape":"AccountId"},
      "max":20
    },
    "AccountSharingInfo":{
      "type":"structure",
      "members":{
        "AccountId":{
          "shape":"AccountId",
          "documentation":"<p>The Amazon Web Services account ID where the current document is shared.</p>"
        },
        "SharedDocumentVersion":{
          "shape":"SharedDocumentVersion",
          "documentation":"<p>The version of the current document shared with the account.</p>"
        }
      },
      "documentation":"<p>Information includes the Amazon Web Services account ID where the current document is shared and the version shared with that account.</p>"
    },
    "AccountSharingInfoList":{
      "type":"list",
      "member":{"shape":"AccountSharingInfo"},
      "documentation":"<p>A list of Amazon Web Services accounts where the current document is shared and the version shared with each account.</p>"
    },
    "Accounts":{
      "type":"list",
      "member":{"shape":"Account"},
      "max":50,
      "min":1
    },
    "Activation":{
      "type":"structure",
      "members":{
        "ActivationId":{
          "shape":"ActivationId",
          "documentation":"<p>The ID created by Systems Manager when you submitted the activation.</p>"
        },
        "Description":{
          "shape":"ActivationDescription",
          "documentation":"<p>A user defined description of the activation.</p>"
        },
        "DefaultInstanceName":{
          "shape":"DefaultInstanceName",
          "documentation":"<p>A name for the managed node when it is created.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The Identity and Access Management (IAM) role to assign to the managed node.</p>"
        },
        "RegistrationLimit":{
          "shape":"RegistrationLimit",
          "documentation":"<p>The maximum number of managed nodes that can be registered using this activation.</p>"
        },
        "RegistrationsCount":{
          "shape":"RegistrationsCount",
          "documentation":"<p>The number of managed nodes already registered with this activation.</p>"
        },
        "ExpirationDate":{
          "shape":"ExpirationDate",
          "documentation":"<p>The date when this activation can no longer be used to register managed nodes.</p>"
        },
        "Expired":{
          "shape":"Boolean",
          "documentation":"<p>Whether or not the activation is expired.</p>"
        },
        "CreatedDate":{
          "shape":"CreatedDate",
          "documentation":"<p>The date the activation was created.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Tags assigned to the activation.</p>"
        }
      },
      "documentation":"<p>An activation registers one or more on-premises servers or virtual machines (VMs) with Amazon Web Services so that you can configure those servers or VMs using Run Command. A server or VM that has been registered with Amazon Web Services Systems Manager is called a managed node.</p>"
    },
    "ActivationCode":{
      "type":"string",
      "max":250,
      "min":20
    },
    "ActivationDescription":{
      "type":"string",
      "max":256,
      "min":0
    },
    "ActivationId":{
      "type":"string",
      "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "ActivationList":{
      "type":"list",
      "member":{"shape":"Activation"}
    },
    "AddTagsToResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceType",
        "ResourceId",
        "Tags"
      ],
      "members":{
        "ResourceType":{
          "shape":"ResourceTypeForTagging",
          "documentation":"<p>Specifies the type of resource you are tagging.</p> <note> <p>The <code>ManagedInstance</code> type for this API operation is for on-premises managed nodes. You must specify the name of the managed node in the following format: <code>mi-<i>ID_number</i> </code>. For example, <code>mi-1a2b3c4d5e6f</code>.</p> </note>"
        },
        "ResourceId":{
          "shape":"ResourceId",
          "documentation":"<p>The resource ID you want to tag.</p> <p>Use the ID of the resource. Here are some examples:</p> <p> <code>MaintenanceWindow</code>: <code>mw-012345abcde</code> </p> <p> <code>PatchBaseline</code>: <code>pb-012345abcde</code> </p> <p> <code>Automation</code>: <code>example-c160-4567-8519-012345abcde</code> </p> <p> <code>OpsMetadata</code> object: <code>ResourceID</code> for tagging is created from the Amazon Resource Name (ARN) for the object. Specifically, <code>ResourceID</code> is created from the strings that come after the word <code>opsmetadata</code> in the ARN. For example, an OpsMetadata object with an ARN of <code>arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager</code> has a <code>ResourceID</code> of either <code>aws/ssm/MyGroup/appmanager</code> or <code>/aws/ssm/MyGroup/appmanager</code>.</p> <p>For the <code>Document</code> and <code>Parameter</code> values, use the name of the resource. If you're tagging a shared document, you must use the full ARN of the document.</p> <p> <code>ManagedInstance</code>: <code>mi-012345abcde</code> </p> <note> <p>The <code>ManagedInstance</code> type for this API operation is only for on-premises managed nodes. You must specify the name of the managed node in the following format: <code>mi-<i>ID_number</i> </code>. For example, <code>mi-1a2b3c4d5e6f</code>.</p> </note>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>One or more tags. The value parameter is required.</p> <important> <p>Don't enter personally identifiable information in this field.</p> </important>"
        }
      }
    },
    "AddTagsToResourceResult":{
      "type":"structure",
      "members":{
      }
    },
    "AgentErrorCode":{
      "type":"string",
      "max":10
    },
    "AggregatorSchemaOnly":{"type":"boolean"},
    "Alarm":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"AlarmName",
          "documentation":"<p>The name of your CloudWatch alarm.</p>"
        }
      },
      "documentation":"<p>A CloudWatch alarm you apply to an automation or command.</p>"
    },
    "AlarmConfiguration":{
      "type":"structure",
      "required":["Alarms"],
      "members":{
        "IgnorePollAlarmFailure":{
          "shape":"Boolean",
          "documentation":"<p>When this value is <i>true</i>, your automation or command continues to run in cases where we can’t retrieve alarm status information from CloudWatch. In cases where we successfully retrieve an alarm status of OK or INSUFFICIENT_DATA, the automation or command continues to run, regardless of this value. Default is <i>false</i>.</p>"
        },
        "Alarms":{
          "shape":"AlarmList",
          "documentation":"<p>The name of the CloudWatch alarm specified in the configuration.</p>"
        }
      },
      "documentation":"<p>The details for the CloudWatch alarm you want to apply to an automation or command.</p>"
    },
    "AlarmList":{
      "type":"list",
      "member":{"shape":"Alarm"},
      "max":1,
      "min":1
    },
    "AlarmName":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "AlarmStateInformation":{
      "type":"structure",
      "required":[
        "Name",
        "State"
      ],
      "members":{
        "Name":{
          "shape":"AlarmName",
          "documentation":"<p>The name of your CloudWatch alarm.</p>"
        },
        "State":{
          "shape":"ExternalAlarmState",
          "documentation":"<p>The state of your CloudWatch alarm.</p>"
        }
      },
      "documentation":"<p>The details about the state of your CloudWatch alarm.</p>"
    },
    "AlarmStateInformationList":{
      "type":"list",
      "member":{"shape":"AlarmStateInformation"},
      "max":1,
      "min":1
    },
    "AllowedPattern":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "AlreadyExistsException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Error returned if an attempt is made to register a patch group with a patch baseline that is already registered with a different patch baseline.</p>",
      "exception":true
    },
    "ApplyOnlyAtCronInterval":{"type":"boolean"},
    "ApproveAfterDays":{
      "type":"integer",
      "max":360,
      "min":0
    },
    "AssociateOpsItemRelatedItemRequest":{
      "type":"structure",
      "required":[
        "OpsItemId",
        "AssociationType",
        "ResourceType",
        "ResourceUri"
      ],
      "members":{
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem to which you want to associate a resource as a related item.</p>"
        },
        "AssociationType":{
          "shape":"OpsItemRelatedItemAssociationType",
          "documentation":"<p>The type of association that you want to create between an OpsItem and a resource. OpsCenter supports <code>IsParentOf</code> and <code>RelatesTo</code> association types.</p>"
        },
        "ResourceType":{
          "shape":"OpsItemRelatedItemAssociationResourceType",
          "documentation":"<p>The type of resource that you want to associate with an OpsItem. OpsCenter supports the following types:</p> <p> <code>AWS::SSMIncidents::IncidentRecord</code>: an Incident Manager incident. </p> <p> <code>AWS::SSM::Document</code>: a Systems Manager (SSM) document.</p>"
        },
        "ResourceUri":{
          "shape":"OpsItemRelatedItemAssociationResourceUri",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Amazon Web Services resource that you want to associate with the OpsItem.</p>"
        }
      }
    },
    "AssociateOpsItemRelatedItemResponse":{
      "type":"structure",
      "members":{
        "AssociationId":{
          "shape":"OpsItemRelatedItemAssociationId",
          "documentation":"<p>The association ID.</p>"
        }
      }
    },
    "AssociatedInstances":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>You must disassociate a document from all managed nodes before you can delete it.</p>",
      "exception":true
    },
    "Association":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p>"
        },
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The ID created by the system when you create an association. An association is a binding between a document and a set of targets with a schedule.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>The association version.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document used in the association. If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the <code>apply-only-at-cron-interval</code> parameter.</p> <important> <p>State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the <code>default</code> version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to <code>default</code>.</p> </important>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The managed nodes targeted by the request to create an association. You can target all managed nodes in an Amazon Web Services account by specifying the <code>InstanceIds</code> key with a value of <code>*</code>.</p>"
        },
        "LastExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date on which the association was last run.</p>"
        },
        "Overview":{
          "shape":"AssociationOverview",
          "documentation":"<p>Information about the association.</p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>A cron expression that specifies a schedule when the association runs. The schedule runs in Coordinated Universal Time (UTC).</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>The association name.</p>"
        },
        "ScheduleOffset":{
          "shape":"ScheduleOffset",
          "documentation":"<p>Number of days to wait after the scheduled day to run an association.</p>",
          "box":true
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>",
          "box":true
        }
      },
      "documentation":"<p>Describes an association of a Amazon Web Services Systems Manager document (SSM document) and a managed node.</p>"
    },
    "AssociationAlreadyExists":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The specified association already exists.</p>",
      "exception":true
    },
    "AssociationComplianceSeverity":{
      "type":"string",
      "enum":[
        "CRITICAL",
        "HIGH",
        "MEDIUM",
        "LOW",
        "UNSPECIFIED"
      ]
    },
    "AssociationDescription":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>The association version.</p>"
        },
        "Date":{
          "shape":"DateTime",
          "documentation":"<p>The date when the association was made.</p>"
        },
        "LastUpdateAssociationDate":{
          "shape":"DateTime",
          "documentation":"<p>The date when the association was last updated.</p>"
        },
        "Status":{
          "shape":"AssociationStatus",
          "documentation":"<p>The association status.</p>"
        },
        "Overview":{
          "shape":"AssociationOverview",
          "documentation":"<p>Information about the association.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "AutomationTargetParameterName":{
          "shape":"AutomationTargetParameterName",
          "documentation":"<p>Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>A description of the parameters for a document. </p>"
        },
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The managed nodes targeted by the request. </p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>A cron expression that specifies a schedule when the association runs.</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>An S3 bucket where you want to store the output details of the request.</p>"
        },
        "LastExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date on which the association was last run.</p>"
        },
        "LastSuccessfulExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The last date on which the association was successfully run.</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>The association name.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p> <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p> <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>"
        },
        "ComplianceSeverity":{
          "shape":"AssociationComplianceSeverity",
          "documentation":"<p>The severity level that is assigned to the association.</p>"
        },
        "SyncCompliance":{
          "shape":"AssociationSyncCompliance",
          "documentation":"<p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>"
        },
        "ApplyOnlyAtCronInterval":{
          "shape":"ApplyOnlyAtCronInterval",
          "documentation":"<p>By default, when you create a new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>"
        },
        "CalendarNames":{
          "shape":"CalendarNameOrARNList",
          "documentation":"<p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that change calendar is open. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar\">Amazon Web Services Systems Manager Change Calendar</a>.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the association.</p>"
        },
        "ScheduleOffset":{
          "shape":"ScheduleOffset",
          "documentation":"<p>Number of days to wait after the scheduled day to run an association.</p>",
          "box":true
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>",
          "box":true
        },
        "AlarmConfiguration":{"shape":"AlarmConfiguration"},
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarm that was invoked during the association.</p>"
        }
      },
      "documentation":"<p>Describes the parameters for a document.</p>"
    },
    "AssociationDescriptionList":{
      "type":"list",
      "member":{"shape":"AssociationDescription"}
    },
    "AssociationDoesNotExist":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified association doesn't exist.</p>",
      "exception":true
    },
    "AssociationExecution":{
      "type":"structure",
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>The association version.</p>"
        },
        "ExecutionId":{
          "shape":"AssociationExecutionId",
          "documentation":"<p>The execution ID for the association.</p>"
        },
        "Status":{
          "shape":"StatusName",
          "documentation":"<p>The status of the association execution.</p>"
        },
        "DetailedStatus":{
          "shape":"StatusName",
          "documentation":"<p>Detailed status information about the execution.</p>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution started.</p>"
        },
        "LastExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date of the last execution.</p>"
        },
        "ResourceCountByStatus":{
          "shape":"ResourceCountByStatus",
          "documentation":"<p>An aggregate status of the resources in the execution based on the status type.</p>"
        },
        "AlarmConfiguration":{"shape":"AlarmConfiguration"},
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarms that were invoked by the association.</p>"
        }
      },
      "documentation":"<p>Includes information about the specified association.</p>"
    },
    "AssociationExecutionDoesNotExist":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified execution ID doesn't exist. Verify the ID number and try again.</p>",
      "exception":true
    },
    "AssociationExecutionFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Value",
        "Type"
      ],
      "members":{
        "Key":{
          "shape":"AssociationExecutionFilterKey",
          "documentation":"<p>The key value used in the request.</p>"
        },
        "Value":{
          "shape":"AssociationExecutionFilterValue",
          "documentation":"<p>The value specified for the key.</p>"
        },
        "Type":{
          "shape":"AssociationFilterOperatorType",
          "documentation":"<p>The filter type specified in the request.</p>"
        }
      },
      "documentation":"<p>Filters used in the request.</p>"
    },
    "AssociationExecutionFilterKey":{
      "type":"string",
      "enum":[
        "ExecutionId",
        "Status",
        "CreatedTime"
      ]
    },
    "AssociationExecutionFilterList":{
      "type":"list",
      "member":{"shape":"AssociationExecutionFilter"},
      "min":1
    },
    "AssociationExecutionFilterValue":{
      "type":"string",
      "min":1
    },
    "AssociationExecutionId":{
      "type":"string",
      "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
    },
    "AssociationExecutionTarget":{
      "type":"structure",
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>The association version.</p>"
        },
        "ExecutionId":{
          "shape":"AssociationExecutionId",
          "documentation":"<p>The execution ID.</p>"
        },
        "ResourceId":{
          "shape":"AssociationResourceId",
          "documentation":"<p>The resource ID, for example, the managed node ID where the association ran.</p>"
        },
        "ResourceType":{
          "shape":"AssociationResourceType",
          "documentation":"<p>The resource type, for example, EC2.</p>"
        },
        "Status":{
          "shape":"StatusName",
          "documentation":"<p>The association execution status.</p>"
        },
        "DetailedStatus":{
          "shape":"StatusName",
          "documentation":"<p>Detailed information about the execution status.</p>"
        },
        "LastExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date of the last execution.</p>"
        },
        "OutputSource":{
          "shape":"OutputSource",
          "documentation":"<p>The location where the association details are saved.</p>"
        }
      },
      "documentation":"<p>Includes information about the specified association execution.</p>"
    },
    "AssociationExecutionTargetsFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Value"
      ],
      "members":{
        "Key":{
          "shape":"AssociationExecutionTargetsFilterKey",
          "documentation":"<p>The key value used in the request.</p>"
        },
        "Value":{
          "shape":"AssociationExecutionTargetsFilterValue",
          "documentation":"<p>The value specified for the key.</p>"
        }
      },
      "documentation":"<p>Filters for the association execution.</p>"
    },
    "AssociationExecutionTargetsFilterKey":{
      "type":"string",
      "enum":[
        "Status",
        "ResourceId",
        "ResourceType"
      ]
    },
    "AssociationExecutionTargetsFilterList":{
      "type":"list",
      "member":{"shape":"AssociationExecutionTargetsFilter"},
      "min":1
    },
    "AssociationExecutionTargetsFilterValue":{
      "type":"string",
      "min":1
    },
    "AssociationExecutionTargetsList":{
      "type":"list",
      "member":{"shape":"AssociationExecutionTarget"}
    },
    "AssociationExecutionsList":{
      "type":"list",
      "member":{"shape":"AssociationExecution"}
    },
    "AssociationFilter":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"AssociationFilterKey",
          "documentation":"<p>The name of the filter.</p> <note> <p> <code>InstanceId</code> has been deprecated.</p> </note>"
        },
        "value":{
          "shape":"AssociationFilterValue",
          "documentation":"<p>The filter value.</p>"
        }
      },
      "documentation":"<p>Describes a filter.</p>"
    },
    "AssociationFilterKey":{
      "type":"string",
      "enum":[
        "InstanceId",
        "Name",
        "AssociationId",
        "AssociationStatusName",
        "LastExecutedBefore",
        "LastExecutedAfter",
        "AssociationName",
        "ResourceGroupName"
      ]
    },
    "AssociationFilterList":{
      "type":"list",
      "member":{"shape":"AssociationFilter"},
      "min":1
    },
    "AssociationFilterOperatorType":{
      "type":"string",
      "enum":[
        "EQUAL",
        "LESS_THAN",
        "GREATER_THAN"
      ]
    },
    "AssociationFilterValue":{
      "type":"string",
      "min":1
    },
    "AssociationId":{
      "type":"string",
      "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
    },
    "AssociationIdList":{
      "type":"list",
      "member":{"shape":"AssociationId"},
      "max":10,
      "min":1
    },
    "AssociationLimitExceeded":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>You can have at most 2,000 active associations.</p>",
      "exception":true
    },
    "AssociationList":{
      "type":"list",
      "member":{"shape":"Association"}
    },
    "AssociationName":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "AssociationOverview":{
      "type":"structure",
      "members":{
        "Status":{
          "shape":"StatusName",
          "documentation":"<p>The status of the association. Status can be: Pending, Success, or Failed.</p>"
        },
        "DetailedStatus":{
          "shape":"StatusName",
          "documentation":"<p>A detailed status of the association.</p>"
        },
        "AssociationStatusAggregatedCount":{
          "shape":"AssociationStatusAggregatedCount",
          "documentation":"<p>Returns the number of targets for the association status. For example, if you created an association with two managed nodes, and one of them was successful, this would return the count of managed nodes by status.</p>"
        }
      },
      "documentation":"<p>Information about the association.</p>"
    },
    "AssociationResourceId":{
      "type":"string",
      "max":100,
      "min":1
    },
    "AssociationResourceType":{
      "type":"string",
      "max":50,
      "min":1
    },
    "AssociationStatus":{
      "type":"structure",
      "required":[
        "Date",
        "Name",
        "Message"
      ],
      "members":{
        "Date":{
          "shape":"DateTime",
          "documentation":"<p>The date when the status changed.</p>"
        },
        "Name":{
          "shape":"AssociationStatusName",
          "documentation":"<p>The status.</p>"
        },
        "Message":{
          "shape":"StatusMessage",
          "documentation":"<p>The reason for the status.</p>"
        },
        "AdditionalInfo":{
          "shape":"StatusAdditionalInfo",
          "documentation":"<p>A user-defined string.</p>"
        }
      },
      "documentation":"<p>Describes an association status.</p>"
    },
    "AssociationStatusAggregatedCount":{
      "type":"map",
      "key":{"shape":"StatusName"},
      "value":{"shape":"InstanceCount"}
    },
    "AssociationStatusName":{
      "type":"string",
      "enum":[
        "Pending",
        "Success",
        "Failed"
      ]
    },
    "AssociationSyncCompliance":{
      "type":"string",
      "enum":[
        "AUTO",
        "MANUAL"
      ]
    },
    "AssociationVersion":{
      "type":"string",
      "pattern":"([$]LATEST)|([1-9][0-9]*)"
    },
    "AssociationVersionInfo":{
      "type":"structure",
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The ID created by the system when the association was created.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>The association version.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the association version was created.</p>"
        },
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name specified when the association was created.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was created.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>Parameters specified when the association version was created.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets specified for the association when the association version was created. </p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>The cron or rate schedule specified for the association when the association version was created.</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>The location in Amazon S3 specified for the association when the association version was created.</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>The name specified for the association version when the association version was created.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p> <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p> <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>"
        },
        "ComplianceSeverity":{
          "shape":"AssociationComplianceSeverity",
          "documentation":"<p>The severity level that is assigned to the association.</p>"
        },
        "SyncCompliance":{
          "shape":"AssociationSyncCompliance",
          "documentation":"<p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>"
        },
        "ApplyOnlyAtCronInterval":{
          "shape":"ApplyOnlyAtCronInterval",
          "documentation":"<p>By default, when you create a new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>"
        },
        "CalendarNames":{
          "shape":"CalendarNameOrARNList",
          "documentation":"<p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations for this version only run when that Change Calendar is open. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar\">Amazon Web Services Systems Manager Change Calendar</a>.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association when this association version was created.</p>"
        },
        "ScheduleOffset":{
          "shape":"ScheduleOffset",
          "documentation":"<p>Number of days to wait after the scheduled day to run an association.</p>",
          "box":true
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>",
          "box":true
        }
      },
      "documentation":"<p>Information about the association version.</p>"
    },
    "AssociationVersionLimitExceeded":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You have reached the maximum number versions allowed for an association. Each association has a limit of 1,000 versions. </p>",
      "exception":true
    },
    "AssociationVersionList":{
      "type":"list",
      "member":{"shape":"AssociationVersionInfo"},
      "min":1
    },
    "AttachmentContent":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"AttachmentName",
          "documentation":"<p>The name of an attachment.</p>"
        },
        "Size":{
          "shape":"ContentLength",
          "documentation":"<p>The size of an attachment in bytes.</p>"
        },
        "Hash":{
          "shape":"AttachmentHash",
          "documentation":"<p>The cryptographic hash value of the document content.</p>"
        },
        "HashType":{
          "shape":"AttachmentHashType",
          "documentation":"<p>The hash algorithm used to calculate the hash value.</p>"
        },
        "Url":{
          "shape":"AttachmentUrl",
          "documentation":"<p>The URL location of the attachment content.</p>"
        }
      },
      "documentation":"<p>A structure that includes attributes that describe a document attachment.</p>"
    },
    "AttachmentContentList":{
      "type":"list",
      "member":{"shape":"AttachmentContent"}
    },
    "AttachmentHash":{
      "type":"string",
      "max":256
    },
    "AttachmentHashType":{
      "type":"string",
      "enum":["Sha256"]
    },
    "AttachmentIdentifier":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "AttachmentInformation":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"AttachmentName",
          "documentation":"<p>The name of the attachment.</p>"
        }
      },
      "documentation":"<p>An attribute of an attachment, such as the attachment name.</p>"
    },
    "AttachmentInformationList":{
      "type":"list",
      "member":{"shape":"AttachmentInformation"}
    },
    "AttachmentName":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "AttachmentUrl":{"type":"string"},
    "AttachmentsSource":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"AttachmentsSourceKey",
          "documentation":"<p>The key of a key-value pair that identifies the location of an attachment to a document.</p>"
        },
        "Values":{
          "shape":"AttachmentsSourceValues",
          "documentation":"<p>The value of a key-value pair that identifies the location of an attachment to a document. The format for <b>Value</b> depends on the type of key you specify.</p> <ul> <li> <p>For the key <i>SourceUrl</i>, the value is an S3 bucket location. For example:</p> <p> <code>\"Values\": [ \"s3://doc-example-bucket/my-folder\" ]</code> </p> </li> <li> <p>For the key <i>S3FileUrl</i>, the value is a file in an S3 bucket. For example:</p> <p> <code>\"Values\": [ \"s3://doc-example-bucket/my-folder/my-file.py\" ]</code> </p> </li> <li> <p>For the key <i>AttachmentReference</i>, the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example:</p> <p> <code>\"Values\": [ \"MyOtherDocument/3/my-other-file.py\" ]</code> </p> <p>However, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example:</p> <p> <code>\"Values\": [ \"arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py\" ]</code> </p> </li> </ul>"
        },
        "Name":{
          "shape":"AttachmentIdentifier",
          "documentation":"<p>The name of the document attachment file.</p>"
        }
      },
      "documentation":"<p>Identifying information about a document attachment, including the file name and a key-value pair that identifies the location of an attachment to a document.</p>"
    },
    "AttachmentsSourceKey":{
      "type":"string",
      "enum":[
        "SourceUrl",
        "S3FileUrl",
        "AttachmentReference"
      ]
    },
    "AttachmentsSourceList":{
      "type":"list",
      "member":{"shape":"AttachmentsSource"},
      "max":20,
      "min":0
    },
    "AttachmentsSourceValue":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "AttachmentsSourceValues":{
      "type":"list",
      "member":{"shape":"AttachmentsSourceValue"},
      "max":1,
      "min":1
    },
    "AttributeName":{
      "type":"string",
      "max":64,
      "min":1
    },
    "AttributeValue":{
      "type":"string",
      "max":4096,
      "min":0
    },
    "AutomationActionName":{
      "type":"string",
      "pattern":"^aws:[a-zA-Z]{3,25}$"
    },
    "AutomationDefinitionNotApprovedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Indicates that the Change Manager change template used in the change request was rejected or is still in a pending state.</p>",
      "exception":true
    },
    "AutomationDefinitionNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An Automation runbook with the specified name couldn't be found.</p>",
      "exception":true
    },
    "AutomationDefinitionVersionNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An Automation runbook with the specified name and version couldn't be found.</p>",
      "exception":true
    },
    "AutomationExecution":{
      "type":"structure",
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The execution ID.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the Automation runbook used during the execution.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document to use during execution.</p>"
        },
        "ExecutionStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution started.</p>"
        },
        "ExecutionEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution finished.</p>"
        },
        "AutomationExecutionStatus":{
          "shape":"AutomationExecutionStatus",
          "documentation":"<p>The execution status of the Automation.</p>"
        },
        "StepExecutions":{
          "shape":"StepExecutionList",
          "documentation":"<p>A list of details about the current state of all steps that comprise an execution. An Automation runbook contains a list of steps that are run in order.</p>"
        },
        "StepExecutionsTruncated":{
          "shape":"Boolean",
          "documentation":"<p>A boolean value that indicates if the response contains the full list of the Automation step executions. If true, use the DescribeAutomationStepExecutions API operation to get the full list of step executions.</p>"
        },
        "Parameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The key-value map of execution parameters, which were supplied when calling <a>StartAutomationExecution</a>.</p>"
        },
        "Outputs":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The list of execution outputs as defined in the Automation runbook.</p>"
        },
        "FailureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why an execution has failed, if the status is set to Failed.</p>"
        },
        "Mode":{
          "shape":"ExecutionMode",
          "documentation":"<p>The automation execution mode.</p>"
        },
        "ParentAutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The AutomationExecutionId of the parent automation.</p>"
        },
        "ExecutedBy":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the user who ran the automation.</p>"
        },
        "CurrentStepName":{
          "shape":"String",
          "documentation":"<p>The name of the step that is currently running.</p>"
        },
        "CurrentAction":{
          "shape":"String",
          "documentation":"<p>The action of the step that is currently running.</p>"
        },
        "TargetParameterName":{
          "shape":"AutomationParameterKey",
          "documentation":"<p>The parameter name.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The specified targets.</p>"
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>The specified key-value mapping of document parameters to target resources.</p>"
        },
        "ResolvedTargets":{
          "shape":"ResolvedTargets",
          "documentation":"<p>A list of resolved targets in the rate control execution.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The <code>MaxConcurrency</code> value specified by the user when the execution started.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The MaxErrors value specified by the user when the execution started.</p>"
        },
        "Target":{
          "shape":"String",
          "documentation":"<p>The target of the execution.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>The combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the Automation.</p>",
          "box":true
        },
        "ProgressCounters":{
          "shape":"ProgressCounters",
          "documentation":"<p>An aggregate of step execution statuses displayed in the Amazon Web Services Systems Manager console for a multi-Region and multi-account Automation execution.</p>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm applied to your automation.</p>"
        },
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarm that was invoked by the automation.</p>"
        },
        "AutomationSubtype":{
          "shape":"AutomationSubtype",
          "documentation":"<p>The subtype of the Automation operation. Currently, the only supported value is <code>ChangeRequest</code>.</p>"
        },
        "ScheduledTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the Automation operation is scheduled to start.</p>"
        },
        "Runbooks":{
          "shape":"Runbooks",
          "documentation":"<p>Information about the Automation runbooks that are run as part of a runbook workflow.</p> <note> <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p> </note>"
        },
        "OpsItemId":{
          "shape":"String",
          "documentation":"<p>The ID of an OpsItem that is created to represent a Change Manager change request.</p>"
        },
        "AssociationId":{
          "shape":"String",
          "documentation":"<p>The ID of a State Manager association used in the Automation operation.</p>"
        },
        "ChangeRequestName":{
          "shape":"ChangeRequestName",
          "documentation":"<p>The name of the Change Manager change request.</p>"
        },
        "Variables":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>Variables defined for the automation.</p>"
        }
      },
      "documentation":"<p>Detailed information about the current state of an individual Automation execution.</p>"
    },
    "AutomationExecutionFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"AutomationExecutionFilterKey",
          "documentation":"<p>One or more keys to limit the results.</p>"
        },
        "Values":{
          "shape":"AutomationExecutionFilterValueList",
          "documentation":"<p>The values used to limit the execution information associated with the filter's key.</p>"
        }
      },
      "documentation":"<p>A filter used to match specific automation executions. This is used to limit the scope of Automation execution information returned.</p>"
    },
    "AutomationExecutionFilterKey":{
      "type":"string",
      "enum":[
        "DocumentNamePrefix",
        "ExecutionStatus",
        "ExecutionId",
        "ParentExecutionId",
        "CurrentAction",
        "StartTimeBefore",
        "StartTimeAfter",
        "AutomationType",
        "TagKey",
        "TargetResourceGroup",
        "AutomationSubtype",
        "OpsItemId"
      ]
    },
    "AutomationExecutionFilterList":{
      "type":"list",
      "member":{"shape":"AutomationExecutionFilter"},
      "max":10,
      "min":1
    },
    "AutomationExecutionFilterValue":{
      "type":"string",
      "max":150,
      "min":1
    },
    "AutomationExecutionFilterValueList":{
      "type":"list",
      "member":{"shape":"AutomationExecutionFilterValue"},
      "max":10,
      "min":1
    },
    "AutomationExecutionId":{
      "type":"string",
      "max":36,
      "min":36
    },
    "AutomationExecutionLimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The number of simultaneously running Automation executions exceeded the allowable limit.</p>",
      "exception":true
    },
    "AutomationExecutionMetadata":{
      "type":"structure",
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The execution ID.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the Automation runbook used during execution.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version used during the execution.</p>"
        },
        "AutomationExecutionStatus":{
          "shape":"AutomationExecutionStatus",
          "documentation":"<p>The status of the execution.</p>"
        },
        "ExecutionStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution started.</p>"
        },
        "ExecutionEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution finished. This isn't populated if the execution is still in progress.</p>"
        },
        "ExecutedBy":{
          "shape":"String",
          "documentation":"<p>The IAM role ARN of the user who ran the automation.</p>"
        },
        "LogFile":{
          "shape":"String",
          "documentation":"<p>An S3 bucket where execution information is stored.</p>"
        },
        "Outputs":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The list of execution outputs as defined in the Automation runbook.</p>"
        },
        "Mode":{
          "shape":"ExecutionMode",
          "documentation":"<p>The Automation execution mode.</p>"
        },
        "ParentAutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The execution ID of the parent automation.</p>"
        },
        "CurrentStepName":{
          "shape":"String",
          "documentation":"<p>The name of the step that is currently running.</p>"
        },
        "CurrentAction":{
          "shape":"String",
          "documentation":"<p>The action of the step that is currently running.</p>"
        },
        "FailureMessage":{
          "shape":"String",
          "documentation":"<p>The list of execution outputs as defined in the Automation runbook.</p>"
        },
        "TargetParameterName":{
          "shape":"AutomationParameterKey",
          "documentation":"<p>The list of execution outputs as defined in the Automation runbook.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets defined by the user when starting the automation.</p>"
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>The specified key-value mapping of document parameters to target resources.</p>"
        },
        "ResolvedTargets":{
          "shape":"ResolvedTargets",
          "documentation":"<p>A list of targets that resolved during the execution.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The <code>MaxConcurrency</code> value specified by the user when starting the automation.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The <code>MaxErrors</code> value specified by the user when starting the automation.</p>"
        },
        "Target":{
          "shape":"String",
          "documentation":"<p>The list of execution outputs as defined in the Automation runbook.</p>"
        },
        "AutomationType":{
          "shape":"AutomationType",
          "documentation":"<p>Use this filter with <a>DescribeAutomationExecutions</a>. Specify either Local or CrossAccount. CrossAccount is an Automation that runs in multiple Amazon Web Services Regions and Amazon Web Services accounts. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html\">Running Automation workflows in multiple Amazon Web Services Regions and accounts</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm applied to your automation.</p>"
        },
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarm that was invoked by the automation.</p>"
        },
        "AutomationSubtype":{
          "shape":"AutomationSubtype",
          "documentation":"<p>The subtype of the Automation operation. Currently, the only supported value is <code>ChangeRequest</code>.</p>"
        },
        "ScheduledTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the Automation operation is scheduled to start.</p>"
        },
        "Runbooks":{
          "shape":"Runbooks",
          "documentation":"<p>Information about the Automation runbooks that are run during a runbook workflow in Change Manager.</p> <note> <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p> </note>"
        },
        "OpsItemId":{
          "shape":"String",
          "documentation":"<p>The ID of an OpsItem that is created to represent a Change Manager change request.</p>"
        },
        "AssociationId":{
          "shape":"String",
          "documentation":"<p>The ID of a State Manager association used in the Automation operation.</p>"
        },
        "ChangeRequestName":{
          "shape":"ChangeRequestName",
          "documentation":"<p>The name of the Change Manager change request.</p>"
        }
      },
      "documentation":"<p>Details about a specific Automation execution.</p>"
    },
    "AutomationExecutionMetadataList":{
      "type":"list",
      "member":{"shape":"AutomationExecutionMetadata"}
    },
    "AutomationExecutionNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>There is no automation execution information for the requested automation execution ID.</p>",
      "exception":true
    },
    "AutomationExecutionStatus":{
      "type":"string",
      "enum":[
        "Pending",
        "InProgress",
        "Waiting",
        "Success",
        "TimedOut",
        "Cancelling",
        "Cancelled",
        "Failed",
        "PendingApproval",
        "Approved",
        "Rejected",
        "Scheduled",
        "RunbookInProgress",
        "PendingChangeCalendarOverride",
        "ChangeCalendarOverrideApproved",
        "ChangeCalendarOverrideRejected",
        "CompletedWithSuccess",
        "CompletedWithFailure",
        "Exited"
      ]
    },
    "AutomationParameterKey":{
      "type":"string",
      "max":50,
      "min":1
    },
    "AutomationParameterMap":{
      "type":"map",
      "key":{"shape":"AutomationParameterKey"},
      "value":{"shape":"AutomationParameterValueList"},
      "max":200,
      "min":1
    },
    "AutomationParameterValue":{
      "type":"string",
      "max":512,
      "min":1
    },
    "AutomationParameterValueList":{
      "type":"list",
      "member":{"shape":"AutomationParameterValue"},
      "max":50,
      "min":0
    },
    "AutomationStepNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified step name and execution ID don't exist. Verify the information and try again.</p>",
      "exception":true
    },
    "AutomationSubtype":{
      "type":"string",
      "enum":["ChangeRequest"]
    },
    "AutomationTargetParameterName":{
      "type":"string",
      "max":50,
      "min":1
    },
    "AutomationType":{
      "type":"string",
      "enum":[
        "CrossAccount",
        "Local"
      ]
    },
    "BaselineDescription":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "BaselineId":{
      "type":"string",
      "max":128,
      "min":20,
      "pattern":"^[a-zA-Z0-9_\\-:/]{20,128}$"
    },
    "BaselineName":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "BaselineOverride":{
      "type":"structure",
      "members":{
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>The operating system rule used by the patch baseline override.</p>"
        },
        "GlobalFilters":{"shape":"PatchFilterGroup"},
        "ApprovalRules":{"shape":"PatchRuleGroup"},
        "ApprovedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly approved patches for the baseline.</p> <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html\">About package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "ApprovedPatchesComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation.</p>"
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p> <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html\">About package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "RejectedPatchesAction":{
          "shape":"PatchAction",
          "documentation":"<p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>"
        },
        "ApprovedPatchesEnableNonSecurity":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>"
        },
        "Sources":{
          "shape":"PatchSourceList",
          "documentation":"<p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>"
        }
      },
      "documentation":"<p>Defines the basic information about a patch baseline override.</p>"
    },
    "BatchErrorMessage":{"type":"string"},
    "Boolean":{"type":"boolean"},
    "CalendarNameOrARN":{"type":"string"},
    "CalendarNameOrARNList":{
      "type":"list",
      "member":{"shape":"CalendarNameOrARN"}
    },
    "CalendarState":{
      "type":"string",
      "enum":[
        "OPEN",
        "CLOSED"
      ]
    },
    "CancelCommandRequest":{
      "type":"structure",
      "required":["CommandId"],
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>The ID of the command you want to cancel.</p>"
        },
        "InstanceIds":{
          "shape":"InstanceIdList",
          "documentation":"<p>(Optional) A list of managed node IDs on which you want to cancel the command. If not provided, the command is canceled on every node on which it was requested.</p>"
        }
      },
      "documentation":"<p/>"
    },
    "CancelCommandResult":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>Whether or not the command was successfully canceled. There is no guarantee that a request can be canceled.</p>"
    },
    "CancelMaintenanceWindowExecutionRequest":{
      "type":"structure",
      "required":["WindowExecutionId"],
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution to stop.</p>"
        }
      }
    },
    "CancelMaintenanceWindowExecutionResult":{
      "type":"structure",
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution that has been stopped.</p>"
        }
      }
    },
    "Category":{
      "type":"string",
      "max":128
    },
    "CategoryEnumList":{
      "type":"list",
      "member":{"shape":"Category"},
      "max":3,
      "min":0
    },
    "CategoryList":{
      "type":"list",
      "member":{"shape":"Category"},
      "max":3,
      "min":0
    },
    "ChangeDetailsValue":{
      "type":"string",
      "max":32768,
      "min":1
    },
    "ChangeRequestName":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "ClientToken":{
      "type":"string",
      "max":64,
      "min":1
    },
    "CloudWatchLogGroupName":{
      "type":"string",
      "max":512,
      "min":1
    },
    "CloudWatchOutputConfig":{
      "type":"structure",
      "members":{
        "CloudWatchLogGroupName":{
          "shape":"CloudWatchLogGroupName",
          "documentation":"<p>The name of the CloudWatch Logs log group where you want to send command output. If you don't specify a group name, Amazon Web Services Systems Manager automatically creates a log group for you. The log group uses the following naming format:</p> <p> <code>aws/ssm/<i>SystemsManagerDocumentName</i> </code> </p>"
        },
        "CloudWatchOutputEnabled":{
          "shape":"CloudWatchOutputEnabled",
          "documentation":"<p>Enables Systems Manager to send command output to CloudWatch Logs.</p>"
        }
      },
      "documentation":"<p>Configuration options for sending command output to Amazon CloudWatch Logs.</p>"
    },
    "CloudWatchOutputEnabled":{"type":"boolean"},
    "Command":{
      "type":"structure",
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>A unique identifier for this command.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document requested for execution.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The Systems Manager document (SSM document) version.</p>"
        },
        "Comment":{
          "shape":"Comment",
          "documentation":"<p>User-specified information about the command, such as a brief description of what the command should do.</p>"
        },
        "ExpiresAfter":{
          "shape":"DateTime",
          "documentation":"<p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts\">Understanding command timeout values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The parameter values to be inserted in the document when running the command.</p>"
        },
        "InstanceIds":{
          "shape":"InstanceIdList",
          "documentation":"<p>The managed node IDs against which this command was requested.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>An array of search criteria that targets managed nodes using a Key,Value combination that you specify. Targets is required if you don't provide one or more managed node IDs in the call.</p>"
        },
        "RequestedDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the command was requested.</p>"
        },
        "Status":{
          "shape":"CommandStatus",
          "documentation":"<p>The status of the command.</p>"
        },
        "StatusDetails":{
          "shape":"StatusDetails",
          "documentation":"<p>A detailed status of the command execution. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than Status. For more information about these statuses, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html\">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p> <ul> <li> <p>Pending: The command hasn't been sent to any managed nodes.</p> </li> <li> <p>In Progress: The command has been sent to at least one managed node but hasn't reached a final state on all managed nodes.</p> </li> <li> <p>Success: The command successfully ran on all invocations. This is a terminal state.</p> </li> <li> <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.</p> </li> <li> <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.</p> </li> <li> <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.</p> </li> <li> <p>Incomplete: The command was attempted on all managed nodes and one or more invocations doesn't have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.</p> </li> <li> <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p> </li> <li> <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any managed node. This is a terminal state.</p> </li> <li> <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p> </li> </ul>"
        },
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>"
        },
        "OutputS3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>"
        },
        "OutputS3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html\">Running commands using Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html\">Running commands using Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "TargetCount":{
          "shape":"TargetCount",
          "documentation":"<p>The number of targets for the command.</p>"
        },
        "CompletedCount":{
          "shape":"CompletedCount",
          "documentation":"<p>The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>"
        },
        "ErrorCount":{
          "shape":"ErrorCount",
          "documentation":"<p>The number of targets for which the status is Failed or Execution Timed Out.</p>"
        },
        "DeliveryTimedOutCount":{
          "shape":"DeliveryTimedOutCount",
          "documentation":"<p>The number of targets for which the status is Delivery Timed Out.</p>"
        },
        "ServiceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The Identity and Access Management (IAM) service role that Run Command, a capability of Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes. </p>"
        },
        "NotificationConfig":{
          "shape":"NotificationConfig",
          "documentation":"<p>Configurations for sending notifications about command status changes. </p>"
        },
        "CloudWatchOutputConfig":{
          "shape":"CloudWatchOutputConfig",
          "documentation":"<p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>"
        },
        "TimeoutSeconds":{
          "shape":"TimeoutSeconds",
          "documentation":"<p>The <code>TimeoutSeconds</code> value specified for a command.</p>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm applied to your command.</p>"
        },
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarm that was invoked by the command.</p>"
        }
      },
      "documentation":"<p>Describes a command request.</p>"
    },
    "CommandFilter":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"CommandFilterKey",
          "documentation":"<p>The name of the filter.</p> <note> <p>The <code>ExecutionStage</code> filter can't be used with the <code>ListCommandInvocations</code> operation, only with <code>ListCommands</code>.</p> </note>"
        },
        "value":{
          "shape":"CommandFilterValue",
          "documentation":"<p>The filter value. Valid values for each filter key are as follows:</p> <ul> <li> <p> <b>InvokedAfter</b>: Specify a timestamp to limit your results. For example, specify <code>2021-07-07T00:00:00Z</code> to see a list of command executions occurring July 7, 2021, and later.</p> </li> <li> <p> <b>InvokedBefore</b>: Specify a timestamp to limit your results. For example, specify <code>2021-07-07T00:00:00Z</code> to see a list of command executions from before July 7, 2021.</p> </li> <li> <p> <b>Status</b>: Specify a valid command status to see a list of all command executions with that status. The status choices depend on the API you call.</p> <p>The status values you can specify for <code>ListCommands</code> are:</p> <ul> <li> <p> <code>Pending</code> </p> </li> <li> <p> <code>InProgress</code> </p> </li> <li> <p> <code>Success</code> </p> </li> <li> <p> <code>Cancelled</code> </p> </li> <li> <p> <code>Failed</code> </p> </li> <li> <p> <code>TimedOut</code> (this includes both Delivery and Execution time outs) </p> </li> <li> <p> <code>AccessDenied</code> </p> </li> <li> <p> <code>DeliveryTimedOut</code> </p> </li> <li> <p> <code>ExecutionTimedOut</code> </p> </li> <li> <p> <code>Incomplete</code> </p> </li> <li> <p> <code>NoInstancesInTag</code> </p> </li> <li> <p> <code>LimitExceeded</code> </p> </li> </ul> <p>The status values you can specify for <code>ListCommandInvocations</code> are:</p> <ul> <li> <p> <code>Pending</code> </p> </li> <li> <p> <code>InProgress</code> </p> </li> <li> <p> <code>Delayed</code> </p> </li> <li> <p> <code>Success</code> </p> </li> <li> <p> <code>Cancelled</code> </p> </li> <li> <p> <code>Failed</code> </p> </li> <li> <p> <code>TimedOut</code> (this includes both Delivery and Execution time outs) </p> </li> <li> <p> <code>AccessDenied</code> </p> </li> <li> <p> <code>DeliveryTimedOut</code> </p> </li> <li> <p> <code>ExecutionTimedOut</code> </p> </li> <li> <p> <code>Undeliverable</code> </p> </li> <li> <p> <code>InvalidPlatform</code> </p> </li> <li> <p> <code>Terminated</code> </p> </li> </ul> </li> <li> <p> <b>DocumentName</b>: Specify name of the Amazon Web Services Systems Manager document (SSM document) for which you want to see command execution results. For example, specify <code>AWS-RunPatchBaseline</code> to see command executions that used this SSM document to perform security patching operations on managed nodes. </p> </li> <li> <p> <b>ExecutionStage</b>: Specify one of the following values (<code>ListCommands</code> operations only):</p> <ul> <li> <p> <code>Executing</code>: Returns a list of command executions that are currently still running.</p> </li> <li> <p> <code>Complete</code>: Returns a list of command executions that have already completed. </p> </li> </ul> </li> </ul>"
        }
      },
      "documentation":"<p>Describes a command filter.</p> <note> <p>A managed node ID can't be specified when a command status is <code>Pending</code> because the command hasn't run on the node yet.</p> </note>"
    },
    "CommandFilterKey":{
      "type":"string",
      "enum":[
        "InvokedAfter",
        "InvokedBefore",
        "Status",
        "ExecutionStage",
        "DocumentName"
      ]
    },
    "CommandFilterList":{
      "type":"list",
      "member":{"shape":"CommandFilter"},
      "max":5,
      "min":1
    },
    "CommandFilterValue":{
      "type":"string",
      "max":128,
      "min":1
    },
    "CommandId":{
      "type":"string",
      "max":36,
      "min":36
    },
    "CommandInvocation":{
      "type":"structure",
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>The command against which this invocation was requested.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID in which this invocation was requested.</p>"
        },
        "InstanceName":{
          "shape":"InstanceTagName",
          "documentation":"<p>The fully qualified host name of the managed node.</p>"
        },
        "Comment":{
          "shape":"Comment",
          "documentation":"<p>User-specified information about the command, such as a brief description of what the command should do.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The document name that was requested for execution.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The Systems Manager document (SSM document) version.</p>"
        },
        "RequestedDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The time and date the request was sent to this managed node.</p>"
        },
        "Status":{
          "shape":"CommandInvocationStatus",
          "documentation":"<p>Whether or not the invocation succeeded, failed, or is pending.</p>"
        },
        "StatusDetails":{
          "shape":"StatusDetails",
          "documentation":"<p>A detailed status of the command execution for each invocation (each managed node targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html\">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p> <ul> <li> <p>Pending: The command hasn't been sent to the managed node.</p> </li> <li> <p>In Progress: The command has been sent to the managed node but hasn't reached a terminal state.</p> </li> <li> <p>Success: The execution of the command or plugin was successfully completed. This is a terminal state.</p> </li> <li> <p>Delivery Timed Out: The command wasn't delivered to the managed node before the delivery timeout expired. Delivery timeouts don't count against the parent command's <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.</p> </li> <li> <p>Execution Timed Out: Command execution started on the managed node, but the execution wasn't complete before the execution timeout expired. Execution timeouts count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Failed: The command wasn't successful on the managed node. For a plugin, this indicates that the result code wasn't zero. For a command invocation, this indicates that the result code for one or more plugins wasn't zero. Invocation failures count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p> </li> <li> <p>Undeliverable: The command can't be delivered to the managed node. The managed node might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.</p> </li> <li> <p>Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.</p> </li> <li> <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p> </li> </ul>"
        },
        "TraceOutput":{
          "shape":"InvocationTraceOutput",
          "documentation":"<p> Gets the trace output sent by the agent. </p>"
        },
        "StandardOutputUrl":{
          "shape":"Url",
          "documentation":"<p>The URL to the plugin's StdOut file in Amazon Simple Storage Service (Amazon S3), if the S3 bucket was defined for the parent command. For an invocation, <code>StandardOutputUrl</code> is populated if there is just one plugin defined for the command, and the S3 bucket was defined for the command.</p>"
        },
        "StandardErrorUrl":{
          "shape":"Url",
          "documentation":"<p>The URL to the plugin's StdErr file in Amazon Simple Storage Service (Amazon S3), if the S3 bucket was defined for the parent command. For an invocation, <code>StandardErrorUrl</code> is populated if there is just one plugin defined for the command, and the S3 bucket was defined for the command.</p>"
        },
        "CommandPlugins":{
          "shape":"CommandPluginList",
          "documentation":"<p>Plugins processed by the command.</p>"
        },
        "ServiceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The Identity and Access Management (IAM) service role that Run Command, a capability of Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes on a per managed node basis.</p>"
        },
        "NotificationConfig":{
          "shape":"NotificationConfig",
          "documentation":"<p>Configurations for sending notifications about command status changes on a per managed node basis.</p>"
        },
        "CloudWatchOutputConfig":{
          "shape":"CloudWatchOutputConfig",
          "documentation":"<p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>"
        }
      },
      "documentation":"<p>An invocation is a 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 <code>SendCommand</code> against three managed nodes, then a command invocation is created for each requested managed node ID. A command invocation returns status and detail information about a command you ran. </p>"
    },
    "CommandInvocationList":{
      "type":"list",
      "member":{"shape":"CommandInvocation"}
    },
    "CommandInvocationStatus":{
      "type":"string",
      "enum":[
        "Pending",
        "InProgress",
        "Delayed",
        "Success",
        "Cancelled",
        "TimedOut",
        "Failed",
        "Cancelling"
      ]
    },
    "CommandList":{
      "type":"list",
      "member":{"shape":"Command"}
    },
    "CommandMaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "CommandPlugin":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"CommandPluginName",
          "documentation":"<p>The name of the plugin. Must be one of the following: <code>aws:updateAgent</code>, <code>aws:domainjoin</code>, <code>aws:applications</code>, <code>aws:runPowerShellScript</code>, <code>aws:psmodule</code>, <code>aws:cloudWatch</code>, <code>aws:runShellScript</code>, or <code>aws:updateSSMAgent</code>. </p>"
        },
        "Status":{
          "shape":"CommandPluginStatus",
          "documentation":"<p>The status of this plugin. You can run a document with multiple plugins.</p>"
        },
        "StatusDetails":{
          "shape":"StatusDetails",
          "documentation":"<p>A detailed status of the plugin execution. <code>StatusDetails</code> includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html\">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p> <ul> <li> <p>Pending: The command hasn't been sent to the managed node.</p> </li> <li> <p>In Progress: The command has been sent to the managed node but hasn't reached a terminal state.</p> </li> <li> <p>Success: The execution of the command or plugin was successfully completed. This is a terminal state.</p> </li> <li> <p>Delivery Timed Out: The command wasn't delivered to the managed node before the delivery timeout expired. Delivery timeouts don't count against the parent command's <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.</p> </li> <li> <p>Execution Timed Out: Command execution started on the managed node, but the execution wasn't complete before the execution timeout expired. Execution timeouts count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Failed: The command wasn't successful on the managed node. For a plugin, this indicates that the result code wasn't zero. For a command invocation, this indicates that the result code for one or more plugins wasn't zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.</p> </li> <li> <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p> </li> <li> <p>Undeliverable: The command can't be delivered to the managed node. The managed node might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.</p> </li> <li> <p>Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.</p> </li> </ul>"
        },
        "ResponseCode":{
          "shape":"ResponseCode",
          "documentation":"<p>A numeric response code generated after running the plugin. </p>"
        },
        "ResponseStartDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the plugin started running. </p>"
        },
        "ResponseFinishDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the plugin stopped running. Could stop prematurely if, for example, a cancel command was sent. </p>"
        },
        "Output":{
          "shape":"CommandPluginOutput",
          "documentation":"<p>Output of the plugin execution.</p>"
        },
        "StandardOutputUrl":{
          "shape":"Url",
          "documentation":"<p>The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for the command wasn't specified, then this string is empty.</p>"
        },
        "StandardErrorUrl":{
          "shape":"Url",
          "documentation":"<p>The URL for the complete text written by the plugin to stderr. If execution isn't yet complete, then this string is empty.</p>"
        },
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Amazon Web Services Systems Manager automatically determines the S3 bucket region.</p>"
        },
        "OutputS3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:</p> <p> <code>doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript</code> </p> <p> <code>doc-example-bucket</code> is the name of the S3 bucket;</p> <p> <code>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</code> is the name of the S3 prefix;</p> <p> <code>i-02573cafcfEXAMPLE</code> is the managed node ID;</p> <p> <code>awsrunShellScript</code> is the name of the plugin.</p>"
        },
        "OutputS3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:</p> <p> <code>doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript</code> </p> <p> <code>doc-example-bucket</code> is the name of the S3 bucket;</p> <p> <code>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</code> is the name of the S3 prefix;</p> <p> <code>i-02573cafcfEXAMPLE</code> is the managed node ID;</p> <p> <code>awsrunShellScript</code> is the name of the plugin.</p>"
        }
      },
      "documentation":"<p>Describes plugin details.</p>"
    },
    "CommandPluginList":{
      "type":"list",
      "member":{"shape":"CommandPlugin"}
    },
    "CommandPluginName":{
      "type":"string",
      "min":4
    },
    "CommandPluginOutput":{
      "type":"string",
      "max":2500
    },
    "CommandPluginStatus":{
      "type":"string",
      "enum":[
        "Pending",
        "InProgress",
        "Success",
        "TimedOut",
        "Cancelled",
        "Failed"
      ]
    },
    "CommandStatus":{
      "type":"string",
      "enum":[
        "Pending",
        "InProgress",
        "Success",
        "Cancelled",
        "Failed",
        "TimedOut",
        "Cancelling"
      ]
    },
    "Comment":{
      "type":"string",
      "max":100
    },
    "CompletedCount":{"type":"integer"},
    "ComplianceExecutionId":{
      "type":"string",
      "max":100
    },
    "ComplianceExecutionSummary":{
      "type":"structure",
      "required":["ExecutionTime"],
      "members":{
        "ExecutionTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.</p>"
        },
        "ExecutionId":{
          "shape":"ComplianceExecutionId",
          "documentation":"<p>An ID created by the system when <code>PutComplianceItems</code> was called. For example, <code>CommandID</code> is a valid execution ID. You can use this ID in subsequent calls.</p>"
        },
        "ExecutionType":{
          "shape":"ComplianceExecutionType",
          "documentation":"<p>The type of execution. For example, <code>Command</code> is a valid execution type.</p>"
        }
      },
      "documentation":"<p>A summary of the call execution that includes an execution ID, the type of execution (for example, <code>Command</code>), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.</p>"
    },
    "ComplianceExecutionType":{
      "type":"string",
      "max":50
    },
    "ComplianceFilterValue":{"type":"string"},
    "ComplianceItem":{
      "type":"structure",
      "members":{
        "ComplianceType":{
          "shape":"ComplianceTypeName",
          "documentation":"<p>The compliance type. For example, Association (for a State Manager association), Patch, or Custom:<code>string</code> are all valid compliance types.</p>"
        },
        "ResourceType":{
          "shape":"ComplianceResourceType",
          "documentation":"<p>The type of resource. <code>ManagedInstance</code> is currently the only supported resource type.</p>"
        },
        "ResourceId":{
          "shape":"ComplianceResourceId",
          "documentation":"<p>An ID for the resource. For a managed node, this is the node ID.</p>"
        },
        "Id":{
          "shape":"ComplianceItemId",
          "documentation":"<p>An ID for the compliance item. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article; for example: KB4010320.</p>"
        },
        "Title":{
          "shape":"ComplianceItemTitle",
          "documentation":"<p>A title for the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch; for example: Security Update for Active Directory Federation Services.</p>"
        },
        "Status":{
          "shape":"ComplianceStatus",
          "documentation":"<p>The status of the compliance item. An item is either COMPLIANT, NON_COMPLIANT, or an empty string (for Windows patches that aren't applicable).</p>"
        },
        "Severity":{
          "shape":"ComplianceSeverity",
          "documentation":"<p>The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.</p>"
        },
        "ExecutionSummary":{
          "shape":"ComplianceExecutionSummary",
          "documentation":"<p>A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.</p>"
        },
        "Details":{
          "shape":"ComplianceItemDetails",
          "documentation":"<p>A \"Key\": \"Value\" tag combination for the compliance item.</p>"
        }
      },
      "documentation":"<p>Information about the compliance as defined by the resource type. For example, for a patch resource type, <code>Items</code> includes information about the PatchSeverity, Classification, and so on.</p>"
    },
    "ComplianceItemContentHash":{
      "type":"string",
      "max":256
    },
    "ComplianceItemDetails":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"}
    },
    "ComplianceItemEntry":{
      "type":"structure",
      "required":[
        "Severity",
        "Status"
      ],
      "members":{
        "Id":{
          "shape":"ComplianceItemId",
          "documentation":"<p>The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.</p>"
        },
        "Title":{
          "shape":"ComplianceItemTitle",
          "documentation":"<p>The title of the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch; for example: Security Update for Active Directory Federation Services. </p>"
        },
        "Severity":{
          "shape":"ComplianceSeverity",
          "documentation":"<p>The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.</p>"
        },
        "Status":{
          "shape":"ComplianceStatus",
          "documentation":"<p>The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.</p>"
        },
        "Details":{
          "shape":"ComplianceItemDetails",
          "documentation":"<p>A \"Key\": \"Value\" tag combination for the compliance item.</p>"
        }
      },
      "documentation":"<p>Information about a compliance item.</p>"
    },
    "ComplianceItemEntryList":{
      "type":"list",
      "member":{"shape":"ComplianceItemEntry"},
      "max":10000,
      "min":0
    },
    "ComplianceItemId":{"type":"string"},
    "ComplianceItemList":{
      "type":"list",
      "member":{"shape":"ComplianceItem"}
    },
    "ComplianceItemTitle":{
      "type":"string",
      "max":500
    },
    "ComplianceQueryOperatorType":{
      "type":"string",
      "enum":[
        "EQUAL",
        "NOT_EQUAL",
        "BEGIN_WITH",
        "LESS_THAN",
        "GREATER_THAN"
      ]
    },
    "ComplianceResourceId":{
      "type":"string",
      "max":100,
      "min":1
    },
    "ComplianceResourceIdList":{
      "type":"list",
      "member":{"shape":"ComplianceResourceId"},
      "min":1
    },
    "ComplianceResourceType":{
      "type":"string",
      "max":50,
      "min":1
    },
    "ComplianceResourceTypeList":{
      "type":"list",
      "member":{"shape":"ComplianceResourceType"},
      "min":1
    },
    "ComplianceSeverity":{
      "type":"string",
      "enum":[
        "CRITICAL",
        "HIGH",
        "MEDIUM",
        "LOW",
        "INFORMATIONAL",
        "UNSPECIFIED"
      ]
    },
    "ComplianceStatus":{
      "type":"string",
      "enum":[
        "COMPLIANT",
        "NON_COMPLIANT"
      ]
    },
    "ComplianceStringFilter":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"ComplianceStringFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "Values":{
          "shape":"ComplianceStringFilterValueList",
          "documentation":"<p>The value for which to search.</p>"
        },
        "Type":{
          "shape":"ComplianceQueryOperatorType",
          "documentation":"<p>The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.</p>"
        }
      },
      "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
    },
    "ComplianceStringFilterKey":{
      "type":"string",
      "max":200,
      "min":1
    },
    "ComplianceStringFilterList":{
      "type":"list",
      "member":{"shape":"ComplianceStringFilter"}
    },
    "ComplianceStringFilterValueList":{
      "type":"list",
      "member":{"shape":"ComplianceFilterValue"},
      "max":20,
      "min":1
    },
    "ComplianceSummaryCount":{"type":"integer"},
    "ComplianceSummaryItem":{
      "type":"structure",
      "members":{
        "ComplianceType":{
          "shape":"ComplianceTypeName",
          "documentation":"<p>The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.</p>"
        },
        "CompliantSummary":{
          "shape":"CompliantSummary",
          "documentation":"<p>A list of COMPLIANT items for the specified compliance type.</p>"
        },
        "NonCompliantSummary":{
          "shape":"NonCompliantSummary",
          "documentation":"<p>A list of NON_COMPLIANT items for the specified compliance type.</p>"
        }
      },
      "documentation":"<p>A summary of compliance information by compliance type.</p>"
    },
    "ComplianceSummaryItemList":{
      "type":"list",
      "member":{"shape":"ComplianceSummaryItem"}
    },
    "ComplianceTypeCountLimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You specified too many custom compliance types. You can specify a maximum of 10 different types. </p>",
      "exception":true
    },
    "ComplianceTypeName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[A-Za-z0-9_\\-]\\w+|Custom:[a-zA-Z0-9_\\-]\\w+"
    },
    "ComplianceUploadType":{
      "type":"string",
      "enum":[
        "COMPLETE",
        "PARTIAL"
      ]
    },
    "CompliantSummary":{
      "type":"structure",
      "members":{
        "CompliantCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources that are compliant.</p>"
        },
        "SeveritySummary":{
          "shape":"SeveritySummary",
          "documentation":"<p>A summary of the compliance severity by compliance type.</p>"
        }
      },
      "documentation":"<p>A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.</p>"
    },
    "ComputerName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "ConnectionStatus":{
      "type":"string",
      "enum":[
        "connected",
        "notconnected"
      ]
    },
    "ContentLength":{"type":"long"},
    "CreateActivationRequest":{
      "type":"structure",
      "required":["IamRole"],
      "members":{
        "Description":{
          "shape":"ActivationDescription",
          "documentation":"<p>A user-defined description of the resource that you want to register with Systems Manager. </p> <important> <p>Don't enter personally identifiable information in this field.</p> </important>"
        },
        "DefaultInstanceName":{
          "shape":"DefaultInstanceName",
          "documentation":"<p>The name of the registered, managed node as it will appear in the Amazon Web Services Systems Manager console or when you use the Amazon Web Services command line tools to list Systems Manager resources.</p> <important> <p>Don't enter personally identifiable information in this field.</p> </important>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The name of the Identity and Access Management (IAM) role that you want to assign to the managed node. This IAM role must provide AssumeRole permissions for the Amazon Web Services Systems Manager service principal <code>ssm.amazonaws.com</code>. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-service-role.html\">Create an IAM service role for a hybrid environment</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <note> <p>You can't specify an IAM service-linked role for this parameter. You must create a unique role.</p> </note>"
        },
        "RegistrationLimit":{
          "shape":"RegistrationLimit",
          "documentation":"<p>Specify the maximum number of managed nodes you want to register. The default value is <code>1</code>.</p>",
          "box":true
        },
        "ExpirationDate":{
          "shape":"ExpirationDate",
          "documentation":"<p>The date by which this activation request should expire, in timestamp format, such as \"2021-07-07T00:00:00\". You can specify a date up to 30 days in advance. If you don't provide an expiration date, the activation code expires in 24 hours.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an activation to identify which servers or virtual machines (VMs) in your on-premises environment you intend to activate. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> <li> <p> <code>Key=Environment,Value=Production</code> </p> </li> </ul> <important> <p>When you install SSM Agent on your on-premises servers and VMs, you specify an activation ID and code. When you specify the activation ID and code, tags assigned to the activation are automatically applied to the on-premises servers or VMs.</p> </important> <p>You can't add tags to or delete tags from an existing activation. You can tag your on-premises servers, edge devices, and VMs after they connect to Systems Manager for the first time and are assigned a managed node ID. This means they are listed in the Amazon Web Services Systems Manager console with an ID that is prefixed with \"mi-\". For information about how to add tags to your managed nodes, see <a>AddTagsToResource</a>. For information about how to remove tags from your managed nodes, see <a>RemoveTagsFromResource</a>.</p>"
        },
        "RegistrationMetadata":{
          "shape":"RegistrationMetadataList",
          "documentation":"<p>Reserved for internal use.</p>"
        }
      }
    },
    "CreateActivationResult":{
      "type":"structure",
      "members":{
        "ActivationId":{
          "shape":"ActivationId",
          "documentation":"<p>The ID number generated by the system when it processed the activation. The activation ID functions like a user name.</p>"
        },
        "ActivationCode":{
          "shape":"ActivationCode",
          "documentation":"<p>The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID. </p>"
        }
      }
    },
    "CreateAssociationBatchRequest":{
      "type":"structure",
      "required":["Entries"],
      "members":{
        "Entries":{
          "shape":"CreateAssociationBatchRequestEntries",
          "documentation":"<p>One or more associations.</p>"
        }
      }
    },
    "CreateAssociationBatchRequestEntries":{
      "type":"list",
      "member":{"shape":"CreateAssociationBatchRequestEntry"},
      "min":1
    },
    "CreateAssociationBatchRequestEntry":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document that contains the configuration information for the managed node. You can specify Command or Automation runbooks.</p> <p>You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another account.</p> <p>For SSM documents that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:</p> <p> <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i> </code> </p> <p>For example:</p> <p> <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p> <p>For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p> <note> <p> <code>InstanceId</code> has been deprecated. To specify a managed node ID for an association, use the <code>Targets</code> parameter. Requests that include the parameter <code>InstanceID</code> with Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter <code>InstanceId</code>, you can't use the parameters <code>AssociationName</code>, <code>DocumentVersion</code>, <code>MaxErrors</code>, <code>MaxConcurrency</code>, <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these parameters, you must use the <code>Targets</code> parameter.</p> </note>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>A description of the parameters for a document. </p>"
        },
        "AutomationTargetParameterName":{
          "shape":"AutomationTargetParameterName",
          "documentation":"<p>Specify the target for the association. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The managed nodes targeted by the request.</p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>A cron expression that specifies a schedule when the association runs.</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>An S3 bucket where you want to store the results of this request.</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>Specify a descriptive name for the association.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p> <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p> <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>"
        },
        "ComplianceSeverity":{
          "shape":"AssociationComplianceSeverity",
          "documentation":"<p>The severity level to assign to the association.</p>"
        },
        "SyncCompliance":{
          "shape":"AssociationSyncCompliance",
          "documentation":"<p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>"
        },
        "ApplyOnlyAtCronInterval":{
          "shape":"ApplyOnlyAtCronInterval",
          "documentation":"<p>By default, when you create a new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>"
        },
        "CalendarNames":{
          "shape":"CalendarNameOrARNList",
          "documentation":"<p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that Change Calendar is open. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar\">Amazon Web Services Systems Manager Change Calendar</a>.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>Use this action to create an association in multiple Regions and multiple accounts.</p>"
        },
        "ScheduleOffset":{
          "shape":"ScheduleOffset",
          "documentation":"<p>Number of days to wait after the scheduled day to run an association.</p>",
          "box":true
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>",
          "box":true
        },
        "AlarmConfiguration":{"shape":"AlarmConfiguration"}
      },
      "documentation":"<p>Describes the association of a Amazon Web Services Systems Manager document (SSM document) and a managed node.</p>"
    },
    "CreateAssociationBatchResult":{
      "type":"structure",
      "members":{
        "Successful":{
          "shape":"AssociationDescriptionList",
          "documentation":"<p>Information about the associations that succeeded.</p>"
        },
        "Failed":{
          "shape":"FailedCreateAssociationList",
          "documentation":"<p>Information about the associations that failed.</p>"
        }
      }
    },
    "CreateAssociationRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM Command document or Automation runbook that contains the configuration information for the managed node.</p> <p>You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another Amazon Web Services account.</p> <p>For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:</p> <p> <code>arn:<i>partition</i>:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i> </code> </p> <p>For example:</p> <p> <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p> <p>For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version you want to associate with the target(s). Can be a specific version or the default version.</p> <important> <p>State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the <code>default</code> version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to <code>default</code>.</p> </important>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p> <note> <p> <code>InstanceId</code> has been deprecated. To specify a managed node ID for an association, use the <code>Targets</code> parameter. Requests that include the parameter <code>InstanceID</code> with Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter <code>InstanceId</code>, you can't use the parameters <code>AssociationName</code>, <code>DocumentVersion</code>, <code>MaxErrors</code>, <code>MaxConcurrency</code>, <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these parameters, you must use the <code>Targets</code> parameter.</p> </note>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The parameters for the runtime configuration of the document.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups, all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed nodes in an Amazon Web Services account by specifying the <code>InstanceIds</code> key with a value of <code>*</code>. For more information about choosing targets for an association, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html\">Using targets and rate controls with State Manager associations</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>A cron expression when the association will be applied to the target(s).</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>Specify a descriptive name for the association.</p>"
        },
        "AutomationTargetParameterName":{
          "shape":"AutomationTargetParameterName",
          "documentation":"<p>Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p> <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p> <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>"
        },
        "ComplianceSeverity":{
          "shape":"AssociationComplianceSeverity",
          "documentation":"<p>The severity level to assign to the association.</p>"
        },
        "SyncCompliance":{
          "shape":"AssociationSyncCompliance",
          "documentation":"<p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't managed by State Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>"
        },
        "ApplyOnlyAtCronInterval":{
          "shape":"ApplyOnlyAtCronInterval",
          "documentation":"<p>By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>"
        },
        "CalendarNames":{
          "shape":"CalendarNameOrARNList",
          "documentation":"<p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents you want to gate your associations under. The associations only run when that change calendar is open. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar\">Amazon Web Services Systems Manager Change Calendar</a>.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the association. Use this action to create an association in multiple Regions and multiple accounts.</p>"
        },
        "ScheduleOffset":{
          "shape":"ScheduleOffset",
          "documentation":"<p>Number of days to wait after the scheduled day to run an association. For example, if you specified a cron schedule of <code>cron(0 0 ? * THU#2 *)</code>, you could specify an offset of 3 to run the association each Sunday after the second Thursday of the month. For more information about cron schedules for associations, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html\">Reference: Cron and rate expressions for Systems Manager</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p> <note> <p>To use offsets, you must specify the <code>ApplyOnlyAtCronInterval</code> parameter. This option tells the system not to run an association immediately after you create it. </p> </note>",
          "box":true
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>",
          "box":true
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Adds or overwrites one or more tags for a State Manager association. <i>Tags</i> are metadata that you can assign to your Amazon Web Services resources. 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. </p>",
          "box":true
        },
        "AlarmConfiguration":{"shape":"AlarmConfiguration"}
      }
    },
    "CreateAssociationResult":{
      "type":"structure",
      "members":{
        "AssociationDescription":{
          "shape":"AssociationDescription",
          "documentation":"<p>Information about the association.</p>"
        }
      }
    },
    "CreateDocumentRequest":{
      "type":"structure",
      "required":[
        "Content",
        "Name"
      ],
      "members":{
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>The content for the new SSM document in JSON or YAML format. The content of the document must not exceed 64KB. This quota also includes the content specified for input parameters at runtime. We recommend storing the contents for your new document in an external JSON or YAML file and referencing the file in a command.</p> <p>For examples, see the following topics in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-api.html\">Create an SSM document (Amazon Web Services API)</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-cli.html\">Create an SSM document (Amazon Web Services CLI)</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-api.html\">Create an SSM document (API)</a> </p> </li> </ul>"
        },
        "Requires":{
          "shape":"DocumentRequiresList",
          "documentation":"<p>A list of SSM documents required by a document. This parameter is used exclusively by AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an <code>ApplicationConfiguration</code> document requires an <code>ApplicationConfigurationSchema</code> document for validation purposes. For more information, see <a href=\"https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html\">What is AppConfig?</a> in the <i>AppConfig User Guide</i>.</p>"
        },
        "Attachments":{
          "shape":"AttachmentsSourceList",
          "documentation":"<p>A list of key-value pairs that describe attachments to a version of a document.</p>"
        },
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>A name for the SSM document.</p> <important> <p>You can't use the following strings as document name prefixes. These are reserved by Amazon Web Services for use as document name prefixes:</p> <ul> <li> <p> <code>aws</code> </p> </li> <li> <p> <code>amazon</code> </p> </li> <li> <p> <code>amzn</code> </p> </li> </ul> </important>"
        },
        "DisplayName":{
          "shape":"DocumentDisplayName",
          "documentation":"<p>An optional field where you can specify a friendly name for the SSM document. This value can differ for each version of the document. You can update this value at a later time using the <a>UpdateDocument</a> operation.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>An optional field specifying the version of the artifact you are creating with the document. For example, <code>Release12.1</code>. This value is unique across all versions of a document, and can't be changed.</p>"
        },
        "DocumentType":{
          "shape":"DocumentType",
          "documentation":"<p>The type of document to create.</p> <note> <p>The <code>DeploymentStrategy</code> document type is an internal-use-only document type reserved for AppConfig.</p> </note>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>Specify the document format for the request. The document format can be JSON, YAML, or TEXT. JSON is the default format.</p>"
        },
        "TargetType":{
          "shape":"TargetType",
          "documentation":"<p>Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: <code>/AWS::EC2::Instance</code>. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html\">Amazon Web Services resource and property types reference</a> in the <i>CloudFormation User Guide</i>. </p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an SSM document to identify the types of targets or the environment where it will run. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> <li> <p> <code>Key=Environment,Value=Production</code> </p> </li> </ul> <note> <p>To add tags to an existing SSM document, use the <a>AddTagsToResource</a> operation.</p> </note>"
        }
      }
    },
    "CreateDocumentResult":{
      "type":"structure",
      "members":{
        "DocumentDescription":{
          "shape":"DocumentDescription",
          "documentation":"<p>Information about the SSM document.</p>"
        }
      }
    },
    "CreateMaintenanceWindowRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Schedule",
        "Duration",
        "Cutoff",
        "AllowUnassociatedTargets"
      ],
      "members":{
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>An optional description for the maintenance window. We recommend specifying a description to help you organize your maintenance windows. </p>"
        },
        "StartDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p>"
        },
        "EndDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the maintenance window in the form of a cron or rate expression.</p>"
        },
        "ScheduleTimezone":{
          "shape":"MaintenanceWindowTimezone",
          "documentation":"<p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the <a href=\"https://www.iana.org/time-zones\">Time Zone Database</a> on the IANA website.</p>"
        },
        "ScheduleOffset":{
          "shape":"MaintenanceWindowOffset",
          "documentation":"<p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p> <p>For example, the following cron expression schedules a maintenance window to run on the third Tuesday of every month at 11:30 PM.</p> <p> <code>cron(30 23 ? * TUE#3 *)</code> </p> <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>",
          "box":true
        },
        "Duration":{
          "shape":"MaintenanceWindowDurationHours",
          "documentation":"<p>The duration of the maintenance window in hours.</p>"
        },
        "Cutoff":{
          "shape":"MaintenanceWindowCutoff",
          "documentation":"<p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>"
        },
        "AllowUnassociatedTargets":{
          "shape":"MaintenanceWindowAllowUnassociatedTargets",
          "documentation":"<p>Enables a maintenance window task to run on managed nodes, even if you haven't registered those nodes as targets. If enabled, then you must specify the unregistered managed nodes (by node ID) when you register a task with the maintenance window.</p> <p>If you don't enable this option, then you must specify previously-registered targets when you register a task with the maintenance window.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=TaskType,Value=AgentUpdate</code> </p> </li> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> <li> <p> <code>Key=Environment,Value=Production</code> </p> </li> </ul> <note> <p>To add tags to an existing maintenance window, use the <a>AddTagsToResource</a> operation.</p> </note>"
        }
      }
    },
    "CreateMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the created maintenance window.</p>"
        }
      }
    },
    "CreateOpsItemRequest":{
      "type":"structure",
      "required":[
        "Description",
        "Source",
        "Title"
      ],
      "members":{
        "Description":{
          "shape":"OpsItemDescription",
          "documentation":"<p>User-defined text that contains information about the OpsItem, in Markdown format. </p> <note> <p>Provide enough information so that users viewing this OpsItem for the first time understand the issue. </p> </note>"
        },
        "OpsItemType":{
          "shape":"OpsItemType",
          "documentation":"<p>The type of OpsItem to create. Systems Manager supports the following types of OpsItems:</p> <ul> <li> <p> <code>/aws/issue</code> </p> <p>This type of OpsItem is used for default OpsItems created by OpsCenter. </p> </li> <li> <p> <code>/aws/changerequest</code> </p> <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests. </p> </li> <li> <p> <code>/aws/insight</code> </p> <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems. </p> </li> </ul>"
        },
        "OperationalData":{
          "shape":"OpsItemOperationalData",
          "documentation":"<p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p> <important> <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p> </important> <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <a>DescribeOpsItems</a> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <a>GetOpsItem</a> API operation).</p> <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html\">Creating OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Notifications":{
          "shape":"OpsItemNotifications",
          "documentation":"<p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>"
        },
        "Priority":{
          "shape":"OpsItemPriority",
          "documentation":"<p>The importance of this OpsItem in relation to other OpsItems in the system.</p>"
        },
        "RelatedOpsItems":{
          "shape":"RelatedOpsItems",
          "documentation":"<p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>"
        },
        "Source":{
          "shape":"OpsItemSource",
          "documentation":"<p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager.</p> <note> <p>The source name can't contain the following strings: <code>aws</code>, <code>amazon</code>, and <code>amzn</code>. </p> </note>"
        },
        "Title":{
          "shape":"OpsItemTitle",
          "documentation":"<p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource.</p> <p>Tags use a key-value pair. For example:</p> <p> <code>Key=Department,Value=Finance</code> </p> <important> <p>To add tags to a new OpsItem, a user must have IAM permissions for both the <code>ssm:CreateOpsItems</code> operation and the <code>ssm:AddTagsToResource</code> operation. To add tags to an existing OpsItem, use the <a>AddTagsToResource</a> operation.</p> </important>"
        },
        "Category":{
          "shape":"OpsItemCategory",
          "documentation":"<p>Specify a category to assign to an OpsItem. </p>"
        },
        "Severity":{
          "shape":"OpsItemSeverity",
          "documentation":"<p>Specify a severity to assign to an OpsItem.</p>"
        },
        "ActualStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "ActualEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "AccountId":{
          "shape":"OpsItemAccountId",
          "documentation":"<p>The target Amazon Web Services account where you want to create an OpsItem. To make this call, your account must be configured to work with OpsItems across accounts. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html\">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        }
      }
    },
    "CreateOpsItemResponse":{
      "type":"structure",
      "members":{
        "OpsItemId":{
          "shape":"String",
          "documentation":"<p>The ID of the OpsItem.</p>"
        },
        "OpsItemArn":{
          "shape":"OpsItemArn",
          "documentation":"<p>The OpsItem Amazon Resource Name (ARN).</p>"
        }
      }
    },
    "CreateOpsMetadataRequest":{
      "type":"structure",
      "required":["ResourceId"],
      "members":{
        "ResourceId":{
          "shape":"OpsMetadataResourceId",
          "documentation":"<p>A resource ID for a new Application Manager application.</p>"
        },
        "Metadata":{
          "shape":"MetadataMap",
          "documentation":"<p>Metadata for a new Application Manager application. </p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for an OpsMetadata object. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an OpsMetadata object to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=Environment,Value=Production</code> </p> </li> <li> <p> <code>Key=Region,Value=us-east-2</code> </p> </li> </ul>"
        }
      }
    },
    "CreateOpsMetadataResult":{
      "type":"structure",
      "members":{
        "OpsMetadataArn":{
          "shape":"OpsMetadataArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OpsMetadata Object or blob created by the call.</p>"
        }
      }
    },
    "CreatePatchBaselineRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>Defines the operating system the patch baseline applies to. The default value is <code>WINDOWS</code>.</p>"
        },
        "Name":{
          "shape":"BaselineName",
          "documentation":"<p>The name of the patch baseline.</p>"
        },
        "GlobalFilters":{
          "shape":"PatchFilterGroup",
          "documentation":"<p>A set of global filters used to include patches in the baseline.</p>"
        },
        "ApprovalRules":{
          "shape":"PatchRuleGroup",
          "documentation":"<p>A set of rules used to include patches in the baseline.</p>"
        },
        "ApprovedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly approved patches for the baseline.</p> <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html\">About package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "ApprovedPatchesComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is <code>UNSPECIFIED</code>.</p>"
        },
        "ApprovedPatchesEnableNonSecurity":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>",
          "box":true
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p> <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html\">About package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "RejectedPatchesAction":{
          "shape":"PatchAction",
          "documentation":"<p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p> <ul> <li> <p> <b> <code>ALLOW_AS_DEPENDENCY</code> </b>: A package in the <code>Rejected</code> patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>InstalledOther</code>. This is the default action if no option is specified.</p> </li> <li> <p> <b> <code>BLOCK</code> </b>: Packages in the <code>RejectedPatches</code> list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as <code>InstalledRejected</code>.</p> </li> </ul>"
        },
        "Description":{
          "shape":"BaselineDescription",
          "documentation":"<p>A description of the patch baseline.</p>"
        },
        "Sources":{
          "shape":"PatchSourceList",
          "documentation":"<p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=PatchSeverity,Value=Critical</code> </p> </li> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> </ul> <note> <p>To add tags to an existing patch baseline, use the <a>AddTagsToResource</a> operation.</p> </note>"
        }
      }
    },
    "CreatePatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the created patch baseline.</p>"
        }
      }
    },
    "CreateResourceDataSyncRequest":{
      "type":"structure",
      "required":["SyncName"],
      "members":{
        "SyncName":{
          "shape":"ResourceDataSyncName",
          "documentation":"<p>A name for the configuration.</p>"
        },
        "S3Destination":{
          "shape":"ResourceDataSyncS3Destination",
          "documentation":"<p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>"
        },
        "SyncType":{
          "shape":"ResourceDataSyncType",
          "documentation":"<p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>"
        },
        "SyncSource":{
          "shape":"ResourceDataSyncSource",
          "documentation":"<p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>"
        }
      }
    },
    "CreateResourceDataSyncResult":{
      "type":"structure",
      "members":{
      }
    },
    "CreatedDate":{"type":"timestamp"},
    "CustomSchemaCountLimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You have exceeded the limit for custom schemas. Delete one or more custom schemas and try again.</p>",
      "exception":true
    },
    "DateTime":{"type":"timestamp"},
    "DefaultBaseline":{"type":"boolean"},
    "DefaultInstanceName":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "DeleteActivationRequest":{
      "type":"structure",
      "required":["ActivationId"],
      "members":{
        "ActivationId":{
          "shape":"ActivationId",
          "documentation":"<p>The ID of the activation that you want to delete.</p>"
        }
      }
    },
    "DeleteActivationResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteAssociationRequest":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p> <note> <p> <code>InstanceId</code> has been deprecated. To specify a managed node ID for an association, use the <code>Targets</code> parameter. Requests that include the parameter <code>InstanceID</code> with Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter <code>InstanceId</code>, you can't use the parameters <code>AssociationName</code>, <code>DocumentVersion</code>, <code>MaxErrors</code>, <code>MaxConcurrency</code>, <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these parameters, you must use the <code>Targets</code> parameter.</p> </note>"
        },
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID that you want to delete.</p>"
        }
      }
    },
    "DeleteAssociationResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteDocumentRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document that you want to delete. If not provided, all versions of the document are deleted.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>The version name of the document that you want to delete. If not provided, all versions of the document are deleted.</p>"
        },
        "Force":{
          "shape":"Boolean",
          "documentation":"<p>Some SSM document types require that you specify a <code>Force</code> flag before you can delete the document. For example, you must specify a <code>Force</code> flag to delete a document of type <code>ApplicationConfigurationSchema</code>. You can restrict access to the <code>Force</code> flag in an Identity and Access Management (IAM) policy.</p>"
        }
      }
    },
    "DeleteDocumentResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteInventoryRequest":{
      "type":"structure",
      "required":["TypeName"],
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself. </p>"
        },
        "SchemaDeleteOption":{
          "shape":"InventorySchemaDeleteOption",
          "documentation":"<p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p> <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p> <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>"
        },
        "DryRun":{
          "shape":"DryRun",
          "documentation":"<p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>"
        },
        "ClientToken":{
          "shape":"UUID",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        }
      }
    },
    "DeleteInventoryResult":{
      "type":"structure",
      "members":{
        "DeletionId":{
          "shape":"UUID",
          "documentation":"<p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations. </p>"
        },
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The name of the inventory data type specified in the request.</p>"
        },
        "DeletionSummary":{
          "shape":"InventoryDeletionSummary",
          "documentation":"<p>A summary of the delete operation. For more information about this summary, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-custom.html#sysman-inventory-delete-summary\">Deleting custom inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        }
      }
    },
    "DeleteMaintenanceWindowRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window to delete.</p>"
        }
      }
    },
    "DeleteMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the deleted maintenance window.</p>"
        }
      }
    },
    "DeleteOpsItemRequest":{
      "type":"structure",
      "required":["OpsItemId"],
      "members":{
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem that you want to delete.</p>"
        }
      }
    },
    "DeleteOpsItemResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteOpsMetadataRequest":{
      "type":"structure",
      "required":["OpsMetadataArn"],
      "members":{
        "OpsMetadataArn":{
          "shape":"OpsMetadataArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an OpsMetadata Object to delete.</p>"
        }
      }
    },
    "DeleteOpsMetadataResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteParameterRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter to delete.</p>"
        }
      }
    },
    "DeleteParameterResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteParametersRequest":{
      "type":"structure",
      "required":["Names"],
      "members":{
        "Names":{
          "shape":"ParameterNameList",
          "documentation":"<p>The names of the parameters to delete. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.</p>"
        }
      }
    },
    "DeleteParametersResult":{
      "type":"structure",
      "members":{
        "DeletedParameters":{
          "shape":"ParameterNameList",
          "documentation":"<p>The names of the deleted parameters.</p>"
        },
        "InvalidParameters":{
          "shape":"ParameterNameList",
          "documentation":"<p>The names of parameters that weren't deleted because the parameters aren't valid.</p>"
        }
      }
    },
    "DeletePatchBaselineRequest":{
      "type":"structure",
      "required":["BaselineId"],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to delete.</p>"
        }
      }
    },
    "DeletePatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the deleted patch baseline.</p>"
        }
      }
    },
    "DeleteResourceDataSyncRequest":{
      "type":"structure",
      "required":["SyncName"],
      "members":{
        "SyncName":{
          "shape":"ResourceDataSyncName",
          "documentation":"<p>The name of the configuration to delete.</p>"
        },
        "SyncType":{
          "shape":"ResourceDataSyncType",
          "documentation":"<p>Specify the type of resource data sync to delete.</p>"
        }
      }
    },
    "DeleteResourceDataSyncResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteResourcePolicyRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "PolicyId",
        "PolicyHash"
      ],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArnString",
          "documentation":"<p>Amazon Resource Name (ARN) of the resource to which the policies are attached.</p>"
        },
        "PolicyId":{
          "shape":"PolicyId",
          "documentation":"<p>The policy ID.</p>"
        },
        "PolicyHash":{
          "shape":"PolicyHash",
          "documentation":"<p>ID of the current policy version. The hash helps to prevent multiple calls from attempting to overwrite a policy.</p>"
        }
      }
    },
    "DeleteResourcePolicyResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeliveryTimedOutCount":{"type":"integer"},
    "DeregisterManagedInstanceRequest":{
      "type":"structure",
      "required":["InstanceId"],
      "members":{
        "InstanceId":{
          "shape":"ManagedInstanceId",
          "documentation":"<p>The ID assigned to the managed node when you registered it using the activation process. </p>"
        }
      }
    },
    "DeregisterManagedInstanceResult":{
      "type":"structure",
      "members":{
      }
    },
    "DeregisterPatchBaselineForPatchGroupRequest":{
      "type":"structure",
      "required":[
        "BaselineId",
        "PatchGroup"
      ],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to deregister the patch group from.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group that should be deregistered from the patch baseline.</p>"
        }
      }
    },
    "DeregisterPatchBaselineForPatchGroupResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline the patch group was deregistered from.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group deregistered from the patch baseline.</p>"
        }
      }
    },
    "DeregisterTargetFromMaintenanceWindowRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "WindowTargetId"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window the target should be removed from.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The ID of the target definition to remove.</p>"
        },
        "Safe":{
          "shape":"Boolean",
          "documentation":"<p>The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and doesn't deregister the target from the maintenance window.</p>",
          "box":true
        }
      }
    },
    "DeregisterTargetFromMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window the target was removed from.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The ID of the removed target definition.</p>"
        }
      }
    },
    "DeregisterTaskFromMaintenanceWindowRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "WindowTaskId"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window the task should be removed from.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The ID of the task to remove from the maintenance window.</p>"
        }
      }
    },
    "DeregisterTaskFromMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window the task was removed from.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The ID of the task removed from the maintenance window.</p>"
        }
      }
    },
    "DescribeActivationsFilter":{
      "type":"structure",
      "members":{
        "FilterKey":{
          "shape":"DescribeActivationsFilterKeys",
          "documentation":"<p>The name of the filter.</p>"
        },
        "FilterValues":{
          "shape":"StringList",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>Filter for the DescribeActivation API.</p>"
    },
    "DescribeActivationsFilterKeys":{
      "type":"string",
      "enum":[
        "ActivationIds",
        "DefaultInstanceName",
        "IamRole"
      ]
    },
    "DescribeActivationsFilterList":{
      "type":"list",
      "member":{"shape":"DescribeActivationsFilter"}
    },
    "DescribeActivationsRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"DescribeActivationsFilterList",
          "documentation":"<p>A filter to view information about your activations.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        }
      }
    },
    "DescribeActivationsResult":{
      "type":"structure",
      "members":{
        "ActivationList":{
          "shape":"ActivationList",
          "documentation":"<p>A list of activations for your Amazon Web Services account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results. </p>"
        }
      }
    },
    "DescribeAssociationExecutionTargetsRequest":{
      "type":"structure",
      "required":[
        "AssociationId",
        "ExecutionId"
      ],
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID that includes the execution for which you want to view details.</p>"
        },
        "ExecutionId":{
          "shape":"AssociationExecutionId",
          "documentation":"<p>The execution ID for which you want to view details.</p>"
        },
        "Filters":{
          "shape":"AssociationExecutionTargetsFilterList",
          "documentation":"<p>Filters for the request. You can specify the following filters and values.</p> <p>Status (EQUAL)</p> <p>ResourceId (EQUAL)</p> <p>ResourceType (EQUAL)</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        }
      }
    },
    "DescribeAssociationExecutionTargetsResult":{
      "type":"structure",
      "members":{
        "AssociationExecutionTargets":{
          "shape":"AssociationExecutionTargetsList",
          "documentation":"<p>Information about the execution.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "DescribeAssociationExecutionsRequest":{
      "type":"structure",
      "required":["AssociationId"],
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID for which you want to view execution history details.</p>"
        },
        "Filters":{
          "shape":"AssociationExecutionFilterList",
          "documentation":"<p>Filters for the request. You can specify the following filters and values.</p> <p>ExecutionId (EQUAL)</p> <p>Status (EQUAL)</p> <p>CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        }
      }
    },
    "DescribeAssociationExecutionsResult":{
      "type":"structure",
      "members":{
        "AssociationExecutions":{
          "shape":"AssociationExecutionsList",
          "documentation":"<p>A list of the executions for the specified association ID.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "DescribeAssociationRequest":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p>"
        },
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID for which you want information.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>Specify the association version to retrieve. To view the latest version, either specify <code>$LATEST</code> for this parameter, or omit this parameter. To view a list of all associations for a managed node, use <a>ListAssociations</a>. To get a list of versions for a specific association, use <a>ListAssociationVersions</a>. </p>"
        }
      }
    },
    "DescribeAssociationResult":{
      "type":"structure",
      "members":{
        "AssociationDescription":{
          "shape":"AssociationDescription",
          "documentation":"<p>Information about the association.</p>"
        }
      }
    },
    "DescribeAutomationExecutionsRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"AutomationExecutionFilterList",
          "documentation":"<p>Filters used to limit the scope of executions that are requested.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeAutomationExecutionsResult":{
      "type":"structure",
      "members":{
        "AutomationExecutionMetadataList":{
          "shape":"AutomationExecutionMetadataList",
          "documentation":"<p>The list of details about each automation execution which has occurred which matches the filter specification, if any.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeAutomationStepExecutionsRequest":{
      "type":"structure",
      "required":["AutomationExecutionId"],
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The Automation execution ID for which you want step execution descriptions.</p>"
        },
        "Filters":{
          "shape":"StepExecutionFilterList",
          "documentation":"<p>One or more filters to limit the number of step executions returned by the request.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "ReverseOrder":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to list step executions in reverse order by start time. The default value is 'false'.</p>",
          "box":true
        }
      }
    },
    "DescribeAutomationStepExecutionsResult":{
      "type":"structure",
      "members":{
        "StepExecutions":{
          "shape":"StepExecutionList",
          "documentation":"<p>A list of details about the current state of all steps that make up an execution.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeAvailablePatchesRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Each element in the array is a structure containing a key-value pair.</p> <p> <b>Windows Server</b> </p> <p>Supported keys for Windows Server managed node patches include the following:</p> <ul> <li> <p> <b> <code>PATCH_SET</code> </b> </p> <p>Sample values: <code>OS</code> | <code>APPLICATION</code> </p> </li> <li> <p> <b> <code>PRODUCT</code> </b> </p> <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code> </p> </li> <li> <p> <b> <code>PRODUCT_FAMILY</code> </b> </p> <p>Sample values: <code>Windows</code> | <code>Office</code> </p> </li> <li> <p> <b> <code>MSRC_SEVERITY</code> </b> </p> <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code> </p> </li> <li> <p> <b> <code>CLASSIFICATION</code> </b> </p> <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code> </p> </li> <li> <p> <b> <code>PATCH_ID</code> </b> </p> <p>Sample values: <code>KB123456</code> | <code>KB4516046</code> </p> </li> </ul> <p> <b>Linux</b> </p> <important> <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p> <p> <code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code> </p> <p>However, the following command succeeds:</p> <p> <code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code> </p> </important> <p>Supported keys for Linux managed node patches include the following:</p> <ul> <li> <p> <b> <code>PRODUCT</code> </b> </p> <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code> </p> </li> <li> <p> <b> <code>NAME</code> </b> </p> <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code> </p> </li> <li> <p> <b> <code>SEVERITY</code> </b> </p> <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code> </p> </li> <li> <p> <b> <code>EPOCH</code> </b> </p> <p>Sample values: <code>0</code> | <code>1</code> </p> </li> <li> <p> <b> <code>VERSION</code> </b> </p> <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code> </p> </li> <li> <p> <b> <code>RELEASE</code> </b> </p> <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code> </p> </li> <li> <p> <b> <code>ARCH</code> </b> </p> <p>Sample values: <code>i686</code> | <code>x86_64</code> </p> </li> <li> <p> <b> <code>REPOSITORY</code> </b> </p> <p>Sample values: <code>Core</code> | <code>Updates</code> </p> </li> <li> <p> <b> <code>ADVISORY_ID</code> </b> </p> <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code> </p> </li> <li> <p> <b> <code>CVE_ID</code> </b> </p> <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code> </p> </li> <li> <p> <b> <code>BUGZILLA_ID</code> </b> </p> <p>Sample values: <code>1463241</code> </p> </li> </ul>"
        },
        "MaxResults":{
          "shape":"PatchBaselineMaxResults",
          "documentation":"<p>The maximum number of patches to return (per page).</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeAvailablePatchesResult":{
      "type":"structure",
      "members":{
        "Patches":{
          "shape":"PatchList",
          "documentation":"<p>An array of patches. Each entry in the array is a patch structure.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeDocumentPermissionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "PermissionType"
      ],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document for which you are the owner.</p>"
        },
        "PermissionType":{
          "shape":"DocumentPermissionType",
          "documentation":"<p>The permission type for the document. The permission type can be <i>Share</i>.</p>"
        },
        "MaxResults":{
          "shape":"DocumentPermissionMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeDocumentPermissionResponse":{
      "type":"structure",
      "members":{
        "AccountIds":{
          "shape":"AccountIdList",
          "documentation":"<p>The account IDs that have permission to use this document. The ID can be either an Amazon Web Services account or <i>All</i>.</p>"
        },
        "AccountSharingInfoList":{
          "shape":"AccountSharingInfoList",
          "documentation":"<p>A list of Amazon Web Services accounts where the current document is shared and the version shared with each account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "DescribeDocumentRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version for which you want information. Can be a specific version or the default version.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.</p>"
        }
      }
    },
    "DescribeDocumentResult":{
      "type":"structure",
      "members":{
        "Document":{
          "shape":"DocumentDescription",
          "documentation":"<p>Information about the SSM document.</p>"
        }
      }
    },
    "DescribeEffectiveInstanceAssociationsRequest":{
      "type":"structure",
      "required":["InstanceId"],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID for which you want to view all associations.</p>"
        },
        "MaxResults":{
          "shape":"EffectiveInstanceAssociationMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeEffectiveInstanceAssociationsResult":{
      "type":"structure",
      "members":{
        "Associations":{
          "shape":"InstanceAssociationList",
          "documentation":"<p>The associations for the requested managed node.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeEffectivePatchesForPatchBaselineRequest":{
      "type":"structure",
      "required":["BaselineId"],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to retrieve the effective patches for.</p>"
        },
        "MaxResults":{
          "shape":"PatchBaselineMaxResults",
          "documentation":"<p>The maximum number of patches to return (per page).</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeEffectivePatchesForPatchBaselineResult":{
      "type":"structure",
      "members":{
        "EffectivePatches":{
          "shape":"EffectivePatchList",
          "documentation":"<p>An array of patches and patch status.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeInstanceAssociationsStatusRequest":{
      "type":"structure",
      "required":["InstanceId"],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node IDs for which you want association status information.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeInstanceAssociationsStatusResult":{
      "type":"structure",
      "members":{
        "InstanceAssociationStatusInfos":{
          "shape":"InstanceAssociationStatusInfos",
          "documentation":"<p>Status information about the association.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeInstanceInformationRequest":{
      "type":"structure",
      "members":{
        "InstanceInformationFilterList":{
          "shape":"InstanceInformationFilterList",
          "documentation":"<p>This is a legacy method. We recommend that you don't use this method. Instead, use the <code>Filters</code> data type. <code>Filters</code> enables you to return node information by filtering based on tags applied to managed nodes.</p> <note> <p>Attempting to use <code>InstanceInformationFilterList</code> and <code>Filters</code> leads to an exception error. </p> </note>"
        },
        "Filters":{
          "shape":"InstanceInformationStringFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list of managed nodes. You can filter based on tags applied to your managed nodes. Tag filters can't be combined with other filter types. Use this <code>Filters</code> data type instead of <code>InstanceInformationFilterList</code>, which is deprecated.</p>"
        },
        "MaxResults":{
          "shape":"MaxResultsEC2Compatible",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. The default value is 10 items. </p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeInstanceInformationResult":{
      "type":"structure",
      "members":{
        "InstanceInformationList":{
          "shape":"InstanceInformationList",
          "documentation":"<p>The managed node information list.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty. </p>"
        }
      }
    },
    "DescribeInstancePatchStatesForPatchGroupRequest":{
      "type":"structure",
      "required":["PatchGroup"],
      "members":{
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group for which the patch state information should be retrieved.</p>"
        },
        "Filters":{
          "shape":"InstancePatchStateFilterList",
          "documentation":"<p>Each entry in the array is a structure containing:</p> <ul> <li> <p>Key (string between 1 and 200 characters)</p> </li> <li> <p>Values (array containing a single string)</p> </li> <li> <p>Type (string \"Equal\", \"NotEqual\", \"LessThan\", \"GreaterThan\")</p> </li> </ul>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"PatchComplianceMaxResults",
          "documentation":"<p>The maximum number of patches to return (per page).</p>",
          "box":true
        }
      }
    },
    "DescribeInstancePatchStatesForPatchGroupResult":{
      "type":"structure",
      "members":{
        "InstancePatchStates":{
          "shape":"InstancePatchStatesList",
          "documentation":"<p>The high-level patch state for the requested managed nodes. </p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeInstancePatchStatesRequest":{
      "type":"structure",
      "required":["InstanceIds"],
      "members":{
        "InstanceIds":{
          "shape":"InstanceIdList",
          "documentation":"<p>The ID of the managed node for which patch state information should be retrieved.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"PatchComplianceMaxResults",
          "documentation":"<p>The maximum number of managed nodes to return (per page).</p>",
          "box":true
        }
      }
    },
    "DescribeInstancePatchStatesResult":{
      "type":"structure",
      "members":{
        "InstancePatchStates":{
          "shape":"InstancePatchStateList",
          "documentation":"<p>The high-level patch state for the requested managed nodes.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeInstancePatchesRequest":{
      "type":"structure",
      "required":["InstanceId"],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the managed node whose patch state information should be retrieved.</p>"
        },
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Each element in the array is a structure containing a key-value pair.</p> <p>Supported keys for <code>DescribeInstancePatches</code>include the following:</p> <ul> <li> <p> <b> <code>Classification</code> </b> </p> <p>Sample values: <code>Security</code> | <code>SecurityUpdates</code> </p> </li> <li> <p> <b> <code>KBId</code> </b> </p> <p>Sample values: <code>KB4480056</code> | <code>java-1.7.0-openjdk.x86_64</code> </p> </li> <li> <p> <b> <code>Severity</code> </b> </p> <p>Sample values: <code>Important</code> | <code>Medium</code> | <code>Low</code> </p> </li> <li> <p> <b> <code>State</code> </b> </p> <p>Sample values: <code>Installed</code> | <code>InstalledOther</code> | <code>InstalledPendingReboot</code> </p> <p>For lists of all <code>State</code> values, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-compliance-states.html\">Understanding patch compliance state values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </li> </ul>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"PatchComplianceMaxResults",
          "documentation":"<p>The maximum number of patches to return (per page).</p>",
          "box":true
        }
      }
    },
    "DescribeInstancePatchesResult":{
      "type":"structure",
      "members":{
        "Patches":{
          "shape":"PatchComplianceDataList",
          "documentation":"<p>Each entry in the array is a structure containing:</p> <ul> <li> <p>Title (string)</p> </li> <li> <p>KBId (string)</p> </li> <li> <p>Classification (string)</p> </li> <li> <p>Severity (string)</p> </li> <li> <p>State (string, such as \"INSTALLED\" or \"FAILED\")</p> </li> <li> <p>InstalledTime (DateTime)</p> </li> <li> <p>InstalledBy (string)</p> </li> </ul>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeInventoryDeletionsRequest":{
      "type":"structure",
      "members":{
        "DeletionId":{
          "shape":"UUID",
          "documentation":"<p>Specify the delete inventory ID for which you want information. This ID was returned by the <code>DeleteInventory</code> operation.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "DescribeInventoryDeletionsResult":{
      "type":"structure",
      "members":{
        "InventoryDeletions":{
          "shape":"InventoryDeletionsList",
          "documentation":"<p>A list of status items for deleted inventory.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionTaskInvocationsRequest":{
      "type":"structure",
      "required":[
        "WindowExecutionId",
        "TaskId"
      ],
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution the task is part of.</p>"
        },
        "TaskId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The ID of the specific task in the maintenance window task that should be retrieved.</p>"
        },
        "Filters":{
          "shape":"MaintenanceWindowFilterList",
          "documentation":"<p>Optional filters used to scope down the returned task invocations. The supported filter key is <code>STATUS</code> with the corresponding values <code>PENDING</code>, <code>IN_PROGRESS</code>, <code>SUCCESS</code>, <code>FAILED</code>, <code>TIMED_OUT</code>, <code>CANCELLING</code>, and <code>CANCELLED</code>.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionTaskInvocationsResult":{
      "type":"structure",
      "members":{
        "WindowExecutionTaskInvocationIdentities":{
          "shape":"MaintenanceWindowExecutionTaskInvocationIdentityList",
          "documentation":"<p>Information about the task invocation results per invocation.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionTasksRequest":{
      "type":"structure",
      "required":["WindowExecutionId"],
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution whose task executions should be retrieved.</p>"
        },
        "Filters":{
          "shape":"MaintenanceWindowFilterList",
          "documentation":"<p>Optional filters used to scope down the returned tasks. The supported filter key is <code>STATUS</code> with the corresponding values <code>PENDING</code>, <code>IN_PROGRESS</code>, <code>SUCCESS</code>, <code>FAILED</code>, <code>TIMED_OUT</code>, <code>CANCELLING</code>, and <code>CANCELLED</code>.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionTasksResult":{
      "type":"structure",
      "members":{
        "WindowExecutionTaskIdentities":{
          "shape":"MaintenanceWindowExecutionTaskIdentityList",
          "documentation":"<p>Information about the task executions.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionsRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window whose executions should be retrieved.</p>"
        },
        "Filters":{
          "shape":"MaintenanceWindowFilterList",
          "documentation":"<p>Each entry in the array is a structure containing:</p> <ul> <li> <p>Key. A string between 1 and 128 characters. Supported keys include <code>ExecutedBefore</code> and <code>ExecutedAfter</code>.</p> </li> <li> <p>Values. An array of strings, each between 1 and 256 characters. Supported values are date/time strings in a valid ISO 8601 date/time format, such as <code>2021-11-04T05:00:00Z</code>.</p> </li> </ul>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionsResult":{
      "type":"structure",
      "members":{
        "WindowExecutions":{
          "shape":"MaintenanceWindowExecutionList",
          "documentation":"<p>Information about the maintenance window executions.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeMaintenanceWindowScheduleRequest":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window to retrieve information about.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The managed node ID or key-value pair to retrieve information about.</p>"
        },
        "ResourceType":{
          "shape":"MaintenanceWindowResourceType",
          "documentation":"<p>The type of resource you want to retrieve information about. For example, <code>INSTANCE</code>.</p>"
        },
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Filters used to limit the range of results. For example, you can limit maintenance window executions to only those scheduled before or after a certain date and time.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowSearchMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowScheduleResult":{
      "type":"structure",
      "members":{
        "ScheduledWindowExecutions":{
          "shape":"ScheduledWindowExecutionList",
          "documentation":"<p>Information about maintenance window executions scheduled for the specified time range.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You use this token in the next call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowTargetsRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window whose targets should be retrieved.</p>"
        },
        "Filters":{
          "shape":"MaintenanceWindowFilterList",
          "documentation":"<p>Optional filters that can be used to narrow down the scope of the returned window targets. The supported filter keys are <code>Type</code>, <code>WindowTargetId</code>, and <code>OwnerInformation</code>.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowTargetsResult":{
      "type":"structure",
      "members":{
        "Targets":{
          "shape":"MaintenanceWindowTargetList",
          "documentation":"<p>Information about the targets in the maintenance window.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeMaintenanceWindowTasksRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window whose tasks should be retrieved.</p>"
        },
        "Filters":{
          "shape":"MaintenanceWindowFilterList",
          "documentation":"<p>Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are <code>WindowTaskId</code>, <code>TaskArn</code>, <code>Priority</code>, and <code>TaskType</code>.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowTasksResult":{
      "type":"structure",
      "members":{
        "Tasks":{
          "shape":"MaintenanceWindowTaskList",
          "documentation":"<p>Information about the tasks in the maintenance window.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeMaintenanceWindowsForTargetRequest":{
      "type":"structure",
      "required":[
        "Targets",
        "ResourceType"
      ],
      "members":{
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The managed node ID or key-value pair to retrieve information about.</p>"
        },
        "ResourceType":{
          "shape":"MaintenanceWindowResourceType",
          "documentation":"<p>The type of resource you want to retrieve information about. For example, <code>INSTANCE</code>.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowSearchMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowsForTargetResult":{
      "type":"structure",
      "members":{
        "WindowIdentities":{
          "shape":"MaintenanceWindowsForTargetList",
          "documentation":"<p>Information about the maintenance window targets and tasks a managed node is associated with.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You use this token in the next call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowsRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"MaintenanceWindowFilterList",
          "documentation":"<p>Optional filters used to narrow down the scope of the returned maintenance windows. Supported filter keys are <code>Name</code> and <code>Enabled</code>. For example, <code>Name=MyMaintenanceWindow</code> and <code>Enabled=True</code>.</p>"
        },
        "MaxResults":{
          "shape":"MaintenanceWindowMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeMaintenanceWindowsResult":{
      "type":"structure",
      "members":{
        "WindowIdentities":{
          "shape":"MaintenanceWindowIdentityList",
          "documentation":"<p>Information about the maintenance windows.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribeOpsItemsRequest":{
      "type":"structure",
      "members":{
        "OpsItemFilters":{
          "shape":"OpsItemFilters",
          "documentation":"<p>One or more filters to limit the response.</p> <ul> <li> <p>Key: CreatedTime</p> <p>Operations: GreaterThan, LessThan</p> </li> <li> <p>Key: LastModifiedBy</p> <p>Operations: Contains, Equals</p> </li> <li> <p>Key: LastModifiedTime</p> <p>Operations: GreaterThan, LessThan</p> </li> <li> <p>Key: Priority</p> <p>Operations: Equals</p> </li> <li> <p>Key: Source</p> <p>Operations: Contains, Equals</p> </li> <li> <p>Key: Status</p> <p>Operations: Equals</p> </li> <li> <p>Key: Title*</p> <p>Operations: Equals,Contains</p> </li> <li> <p>Key: OperationalData**</p> <p>Operations: Equals</p> </li> <li> <p>Key: OperationalDataKey</p> <p>Operations: Equals</p> </li> <li> <p>Key: OperationalDataValue</p> <p>Operations: Equals, Contains</p> </li> <li> <p>Key: OpsItemId</p> <p>Operations: Equals</p> </li> <li> <p>Key: ResourceId</p> <p>Operations: Contains</p> </li> <li> <p>Key: AutomationId</p> <p>Operations: Equals</p> </li> <li> <p>Key: AccountId</p> <p>Operations: Equals</p> </li> </ul> <p>*The Equals operator for Title matches the first 100 characters. If you specify more than 100 characters, they system returns an error that the filter value exceeds the length limit.</p> <p>**If you filter the response by using the OperationalData operator, specify a key-value pair by using the following JSON format: {\"key\":\"key_name\",\"value\":\"a_value\"}</p>"
        },
        "MaxResults":{
          "shape":"OpsItemMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results.</p>"
        }
      }
    },
    "DescribeOpsItemsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        },
        "OpsItemSummaries":{
          "shape":"OpsItemSummaries",
          "documentation":"<p>A list of OpsItems.</p>"
        }
      }
    },
    "DescribeParametersRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"ParametersFilterList",
          "documentation":"<p>This data type is deprecated. Instead, use <code>ParameterFilters</code>.</p>"
        },
        "ParameterFilters":{
          "shape":"ParameterStringFilterList",
          "documentation":"<p>Filters to limit the request results.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribeParametersResult":{
      "type":"structure",
      "members":{
        "Parameters":{
          "shape":"ParameterMetadataList",
          "documentation":"<p>Parameters returned by the request.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items.</p>"
        }
      }
    },
    "DescribePatchBaselinesRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Each element in the array is a structure containing a key-value pair.</p> <p>Supported keys for <code>DescribePatchBaselines</code> include the following:</p> <ul> <li> <p> <b> <code>NAME_PREFIX</code> </b> </p> <p>Sample values: <code>AWS-</code> | <code>My-</code> </p> </li> <li> <p> <b> <code>OWNER</code> </b> </p> <p>Sample values: <code>AWS</code> | <code>Self</code> </p> </li> <li> <p> <b> <code>OPERATING_SYSTEM</code> </b> </p> <p>Sample values: <code>AMAZON_LINUX</code> | <code>SUSE</code> | <code>WINDOWS</code> </p> </li> </ul>"
        },
        "MaxResults":{
          "shape":"PatchBaselineMaxResults",
          "documentation":"<p>The maximum number of patch baselines to return (per page).</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribePatchBaselinesResult":{
      "type":"structure",
      "members":{
        "BaselineIdentities":{
          "shape":"PatchBaselineIdentityList",
          "documentation":"<p>An array of <code>PatchBaselineIdentity</code> elements.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribePatchGroupStateRequest":{
      "type":"structure",
      "required":["PatchGroup"],
      "members":{
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group whose patch snapshot should be retrieved.</p>"
        }
      }
    },
    "DescribePatchGroupStateResult":{
      "type":"structure",
      "members":{
        "Instances":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes in the patch group.</p>"
        },
        "InstancesWithInstalledPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes with installed patches.</p>"
        },
        "InstancesWithInstalledOtherPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes with patches installed that aren't defined in the patch baseline.</p>"
        },
        "InstancesWithInstalledPendingRebootPatches":{
          "shape":"InstancesCount",
          "documentation":"<p>The number of managed nodes with patches installed by Patch Manager that haven't been rebooted after the patch installation. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        },
        "InstancesWithInstalledRejectedPatches":{
          "shape":"InstancesCount",
          "documentation":"<p>The number of managed nodes with patches installed that are specified in a <code>RejectedPatches</code> list. Patches with a status of <code>INSTALLED_REJECTED</code> were typically installed before they were added to a <code>RejectedPatches</code> list.</p> <note> <p>If <code>ALLOW_AS_DEPENDENCY</code> is the specified option for <code>RejectedPatchesAction</code>, the value of <code>InstancesWithInstalledRejectedPatches</code> will always be <code>0</code> (zero).</p> </note>",
          "box":true
        },
        "InstancesWithMissingPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes with missing patches from the patch baseline.</p>"
        },
        "InstancesWithFailedPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes with patches from the patch baseline that failed to install.</p>"
        },
        "InstancesWithNotApplicablePatches":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes with patches that aren't applicable.</p>"
        },
        "InstancesWithUnreportedNotApplicablePatches":{
          "shape":"Integer",
          "documentation":"<p>The number of managed nodes with <code>NotApplicable</code> patches beyond the supported limit, which aren't reported by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager.</p>",
          "box":true
        },
        "InstancesWithCriticalNonCompliantPatches":{
          "shape":"InstancesCount",
          "documentation":"<p>The number of managed nodes where patches that are specified as <code>Critical</code> for compliance reporting in the patch baseline aren't installed. These patches might be missing, have failed installation, were rejected, or were installed but awaiting a required managed node reboot. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        },
        "InstancesWithSecurityNonCompliantPatches":{
          "shape":"InstancesCount",
          "documentation":"<p>The number of managed nodes where patches that are specified as <code>Security</code> in a patch advisory aren't installed. These patches might be missing, have failed installation, were rejected, or were installed but awaiting a required managed node reboot. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        },
        "InstancesWithOtherNonCompliantPatches":{
          "shape":"InstancesCount",
          "documentation":"<p>The number of managed nodes with patches installed that are specified as other than <code>Critical</code> or <code>Security</code> but aren't compliant with the patch baseline. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        }
      }
    },
    "DescribePatchGroupsRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"PatchBaselineMaxResults",
          "documentation":"<p>The maximum number of patch groups to return (per page).</p>",
          "box":true
        },
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Each element in the array is a structure containing a key-value pair.</p> <p>Supported keys for <code>DescribePatchGroups</code> include the following:</p> <ul> <li> <p> <b> <code>NAME_PREFIX</code> </b> </p> <p>Sample values: <code>AWS-</code> | <code>My-</code>.</p> </li> <li> <p> <b> <code>OPERATING_SYSTEM</code> </b> </p> <p>Sample values: <code>AMAZON_LINUX</code> | <code>SUSE</code> | <code>WINDOWS</code> </p> </li> </ul>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribePatchGroupsResult":{
      "type":"structure",
      "members":{
        "Mappings":{
          "shape":"PatchGroupPatchBaselineMappingList",
          "documentation":"<p>Each entry in the array contains:</p> <ul> <li> <p> <code>PatchGroup</code>: string (between 1 and 256 characters. Regex: <code>^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$)</code> </p> </li> <li> <p> <code>PatchBaselineIdentity</code>: A <code>PatchBaselineIdentity</code> element.</p> </li> </ul>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribePatchPropertiesRequest":{
      "type":"structure",
      "required":[
        "OperatingSystem",
        "Property"
      ],
      "members":{
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>The operating system type for which to list patches.</p>"
        },
        "Property":{
          "shape":"PatchProperty",
          "documentation":"<p>The patch property for which you want to view patch details. </p>"
        },
        "PatchSet":{
          "shape":"PatchSet",
          "documentation":"<p>Indicates whether to list patches for the Windows operating system or for applications released by Microsoft. Not applicable for the Linux or macOS operating systems.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescribePatchPropertiesResult":{
      "type":"structure",
      "members":{
        "Properties":{
          "shape":"PatchPropertiesList",
          "documentation":"<p>A list of the properties for patches matching the filter request parameters.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You use this token in the next call.)</p>"
        }
      }
    },
    "DescribeSessionsRequest":{
      "type":"structure",
      "required":["State"],
      "members":{
        "State":{
          "shape":"SessionState",
          "documentation":"<p>The session status to retrieve a list of sessions for. For example, \"Active\".</p>"
        },
        "MaxResults":{
          "shape":"SessionMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "Filters":{
          "shape":"SessionFilterList",
          "documentation":"<p>One or more filters to limit the type of sessions returned by the request.</p>"
        }
      }
    },
    "DescribeSessionsResponse":{
      "type":"structure",
      "members":{
        "Sessions":{
          "shape":"SessionList",
          "documentation":"<p>A list of sessions meeting the request parameters.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "DescriptionInDocument":{"type":"string"},
    "DisassociateOpsItemRelatedItemRequest":{
      "type":"structure",
      "required":[
        "OpsItemId",
        "AssociationId"
      ],
      "members":{
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem for which you want to delete an association between the OpsItem and a related item.</p>"
        },
        "AssociationId":{
          "shape":"OpsItemRelatedItemAssociationId",
          "documentation":"<p>The ID of the association for which you want to delete an association between the OpsItem and a related item.</p>"
        }
      }
    },
    "DisassociateOpsItemRelatedItemResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DocumentARN":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.:/]{3,128}$"
    },
    "DocumentAlreadyExists":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified document already exists.</p>",
      "exception":true
    },
    "DocumentAuthor":{"type":"string"},
    "DocumentContent":{
      "type":"string",
      "min":1
    },
    "DocumentDefaultVersionDescription":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document.</p>"
        },
        "DefaultVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The default version of the document.</p>"
        },
        "DefaultVersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>The default version of the artifact associated with the document.</p>"
        }
      },
      "documentation":"<p>A default version of a document.</p>"
    },
    "DocumentDescription":{
      "type":"structure",
      "members":{
        "Sha1":{
          "shape":"DocumentSha1",
          "documentation":"<p>The SHA1 hash of the document, which you can use for verification.</p>"
        },
        "Hash":{
          "shape":"DocumentHash",
          "documentation":"<p>The Sha256 or Sha1 hash created by the system when the document was created. </p> <note> <p>Sha1 hashes have been deprecated.</p> </note>"
        },
        "HashType":{
          "shape":"DocumentHashType",
          "documentation":"<p>The hash type of the document. Valid values include <code>Sha256</code> or <code>Sha1</code>.</p> <note> <p>Sha1 hashes have been deprecated.</p> </note>"
        },
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "DisplayName":{
          "shape":"DocumentDisplayName",
          "documentation":"<p>The friendly name of the SSM document. This value can differ for each version of the document. If you want to update this value, see <a>UpdateDocument</a>.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>The version of the artifact associated with the document.</p>"
        },
        "Owner":{
          "shape":"DocumentOwner",
          "documentation":"<p>The Amazon Web Services user that created the document.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date when the document was created.</p>"
        },
        "Status":{
          "shape":"DocumentStatus",
          "documentation":"<p>The status of the SSM document.</p>"
        },
        "StatusInformation":{
          "shape":"DocumentStatusInformation",
          "documentation":"<p>A message returned by Amazon Web Services Systems Manager that explains the <code>Status</code> value. For example, a <code>Failed</code> status might be explained by the <code>StatusInformation</code> message, \"The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct.\"</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "Description":{
          "shape":"DescriptionInDocument",
          "documentation":"<p>A description of the document. </p>"
        },
        "Parameters":{
          "shape":"DocumentParameterList",
          "documentation":"<p>A description of the parameters for a document.</p>"
        },
        "PlatformTypes":{
          "shape":"PlatformTypeList",
          "documentation":"<p>The list of operating system (OS) platforms compatible with this SSM document. </p>"
        },
        "DocumentType":{
          "shape":"DocumentType",
          "documentation":"<p>The type of document.</p>"
        },
        "SchemaVersion":{
          "shape":"DocumentSchemaVersion",
          "documentation":"<p>The schema version.</p>"
        },
        "LatestVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The latest version of the document.</p>"
        },
        "DefaultVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The default version.</p>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>The document format, either JSON or YAML.</p>"
        },
        "TargetType":{
          "shape":"TargetType",
          "documentation":"<p>The target type which defines the kinds of resources the document can run on. For example, <code>/AWS::EC2::Instance</code>. For a list of valid resource types, see <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html\">Amazon Web Services resource and property types reference</a> in the <i>CloudFormation User Guide</i>. </p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags, or metadata, that have been applied to the document.</p>"
        },
        "AttachmentsInformation":{
          "shape":"AttachmentInformationList",
          "documentation":"<p>Details about the document attachments, including names, locations, sizes, and so on.</p>"
        },
        "Requires":{
          "shape":"DocumentRequiresList",
          "documentation":"<p>A list of SSM documents required by a document. For example, an <code>ApplicationConfiguration</code> document requires an <code>ApplicationConfigurationSchema</code> document.</p>"
        },
        "Author":{
          "shape":"DocumentAuthor",
          "documentation":"<p>The user in your organization who created the document.</p>"
        },
        "ReviewInformation":{
          "shape":"ReviewInformationList",
          "documentation":"<p>Details about the review of a document.</p>"
        },
        "ApprovedVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document currently approved for use in the organization.</p>"
        },
        "PendingReviewVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document that is currently under review.</p>"
        },
        "ReviewStatus":{
          "shape":"ReviewStatus",
          "documentation":"<p>The current status of the review.</p>"
        },
        "Category":{
          "shape":"CategoryList",
          "documentation":"<p>The classification of a document to help you identify and categorize its use.</p>"
        },
        "CategoryEnum":{
          "shape":"CategoryEnumList",
          "documentation":"<p>The value that identifies a document's category.</p>"
        }
      },
      "documentation":"<p>Describes an Amazon Web Services Systems Manager document (SSM document). </p>"
    },
    "DocumentDisplayName":{
      "type":"string",
      "max":1024,
      "pattern":"^[\\w\\.\\-\\:\\/ ]*$"
    },
    "DocumentFilter":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"DocumentFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "value":{
          "shape":"DocumentFilterValue",
          "documentation":"<p>The value of the filter.</p>"
        }
      },
      "documentation":"<p>This data type is deprecated. Instead, use <a>DocumentKeyValuesFilter</a>.</p>"
    },
    "DocumentFilterKey":{
      "type":"string",
      "enum":[
        "Name",
        "Owner",
        "PlatformTypes",
        "DocumentType"
      ]
    },
    "DocumentFilterList":{
      "type":"list",
      "member":{"shape":"DocumentFilter"},
      "min":1
    },
    "DocumentFilterValue":{
      "type":"string",
      "min":1
    },
    "DocumentFormat":{
      "type":"string",
      "enum":[
        "YAML",
        "JSON",
        "TEXT"
      ]
    },
    "DocumentHash":{
      "type":"string",
      "max":256
    },
    "DocumentHashType":{
      "type":"string",
      "enum":[
        "Sha256",
        "Sha1"
      ]
    },
    "DocumentIdentifier":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the SSM document was created.</p>"
        },
        "DisplayName":{
          "shape":"DocumentDisplayName",
          "documentation":"<p>An optional field where you can specify a friendly name for the SSM document. This value can differ for each version of the document. If you want to update this value, see <a>UpdateDocument</a>.</p>"
        },
        "Owner":{
          "shape":"DocumentOwner",
          "documentation":"<p>The Amazon Web Services user that created the document.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.</p>"
        },
        "PlatformTypes":{
          "shape":"PlatformTypeList",
          "documentation":"<p>The operating system platform. </p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "DocumentType":{
          "shape":"DocumentType",
          "documentation":"<p>The document type.</p>"
        },
        "SchemaVersion":{
          "shape":"DocumentSchemaVersion",
          "documentation":"<p>The schema version.</p>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>The document format, either JSON or YAML.</p>"
        },
        "TargetType":{
          "shape":"TargetType",
          "documentation":"<p>The target type which defines the kinds of resources the document can run on. For example, <code>/AWS::EC2::Instance</code>. For a list of valid resource types, see <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html\">Amazon Web Services resource and property types reference</a> in the <i>CloudFormation User Guide</i>. </p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags, or metadata, that have been applied to the document.</p>"
        },
        "Requires":{
          "shape":"DocumentRequiresList",
          "documentation":"<p>A list of SSM documents required by a document. For example, an <code>ApplicationConfiguration</code> document requires an <code>ApplicationConfigurationSchema</code> document.</p>"
        },
        "ReviewStatus":{
          "shape":"ReviewStatus",
          "documentation":"<p>The current status of a document review.</p>"
        },
        "Author":{
          "shape":"DocumentAuthor",
          "documentation":"<p>The user in your organization who created the document.</p>"
        }
      },
      "documentation":"<p>Describes the name of a SSM document.</p>"
    },
    "DocumentIdentifierList":{
      "type":"list",
      "member":{"shape":"DocumentIdentifier"}
    },
    "DocumentKeyValuesFilter":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"DocumentKeyValuesFilterKey",
          "documentation":"<p>The name of the filter key.</p>"
        },
        "Values":{
          "shape":"DocumentKeyValuesFilterValues",
          "documentation":"<p>The value for the filter key.</p>"
        }
      },
      "documentation":"<p>One or more filters. Use a filter to return a more specific list of documents.</p> <p>For keys, you can specify one or more tags that have been applied to a document. </p> <p>You can also use Amazon Web Services-provided keys, some of which have specific allowed values. These keys and their associated values are as follows:</p> <dl> <dt>DocumentType</dt> <dd> <ul> <li> <p> <code>ApplicationConfiguration</code> </p> </li> <li> <p> <code>ApplicationConfigurationSchema</code> </p> </li> <li> <p> <code>Automation</code> </p> </li> <li> <p> <code>ChangeCalendar</code> </p> </li> <li> <p> <code>Command</code> </p> </li> <li> <p> <code>Package</code> </p> </li> <li> <p> <code>Policy</code> </p> </li> <li> <p> <code>Session</code> </p> </li> </ul> </dd> <dt>Owner</dt> <dd> <p>Note that only one <code>Owner</code> can be specified in a request. For example: <code>Key=Owner,Values=Self</code>.</p> <ul> <li> <p> <code>Amazon</code> </p> </li> <li> <p> <code>Private</code> </p> </li> <li> <p> <code>Public</code> </p> </li> <li> <p> <code>Self</code> </p> </li> <li> <p> <code>ThirdParty</code> </p> </li> </ul> </dd> <dt>PlatformTypes</dt> <dd> <ul> <li> <p> <code>Linux</code> </p> </li> <li> <p> <code>Windows</code> </p> </li> </ul> </dd> </dl> <p> <code>Name</code> is another Amazon Web Services-provided key. If you use <code>Name</code> as a key, you can use a name prefix to return a list of documents. For example, in the Amazon Web Services CLI, to return a list of all documents that begin with <code>Te</code>, run the following command:</p> <p> <code>aws ssm list-documents --filters Key=Name,Values=Te</code> </p> <p>You can also use the <code>TargetType</code> Amazon Web Services-provided key. For a list of valid resource type values that can be used with this key, see <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html\">Amazon Web Services resource and property types reference</a> in the <i>CloudFormation User Guide</i>.</p> <p>If you specify more than two keys, only documents that are identified by all the tags are returned in the results. If you specify more than two values for a key, documents that are identified by any of the values are returned in the results.</p> <p>To specify a custom key-value pair, use the format <code>Key=tag:tagName,Values=valueName</code>.</p> <p>For example, if you created a key called region and are using the Amazon Web Services CLI to call the <code>list-documents</code> command: </p> <p> <code>aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self</code> </p>"
    },
    "DocumentKeyValuesFilterKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "DocumentKeyValuesFilterList":{
      "type":"list",
      "member":{"shape":"DocumentKeyValuesFilter"},
      "max":6,
      "min":0
    },
    "DocumentKeyValuesFilterValue":{
      "type":"string",
      "max":256,
      "min":1
    },
    "DocumentKeyValuesFilterValues":{
      "type":"list",
      "member":{"shape":"DocumentKeyValuesFilterValue"}
    },
    "DocumentLimitExceeded":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You can have at most 500 active SSM documents.</p>",
      "exception":true
    },
    "DocumentMetadataEnum":{
      "type":"string",
      "enum":["DocumentReviews"]
    },
    "DocumentMetadataResponseInfo":{
      "type":"structure",
      "members":{
        "ReviewerResponse":{
          "shape":"DocumentReviewerResponseList",
          "documentation":"<p>Details about a reviewer's response to a document review request.</p>"
        }
      },
      "documentation":"<p>Details about the response to a document review request.</p>"
    },
    "DocumentName":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "DocumentOwner":{"type":"string"},
    "DocumentParameter":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentParameterName",
          "documentation":"<p>The name of the parameter.</p>"
        },
        "Type":{
          "shape":"DocumentParameterType",
          "documentation":"<p>The type of parameter. The type can be either String or StringList.</p>"
        },
        "Description":{
          "shape":"DocumentParameterDescrption",
          "documentation":"<p>A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.</p>"
        },
        "DefaultValue":{
          "shape":"DocumentParameterDefaultValue",
          "documentation":"<p>If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.</p>"
        }
      },
      "documentation":"<p>Parameters specified in a Systems Manager document that run on the server when the command is run. </p>"
    },
    "DocumentParameterDefaultValue":{"type":"string"},
    "DocumentParameterDescrption":{"type":"string"},
    "DocumentParameterList":{
      "type":"list",
      "member":{"shape":"DocumentParameter"}
    },
    "DocumentParameterName":{"type":"string"},
    "DocumentParameterType":{
      "type":"string",
      "enum":[
        "String",
        "StringList"
      ]
    },
    "DocumentPermissionLimit":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document can't be shared with more Amazon Web Services accounts. You can specify a maximum of 20 accounts per API operation to share a private document.</p> <p>By default, you can share a private document with a maximum of 1,000 accounts and publicly share up to five documents.</p> <p>If you need to increase the quota for privately or publicly shared Systems Manager documents, contact Amazon Web Services Support.</p>",
      "exception":true
    },
    "DocumentPermissionMaxResults":{
      "type":"integer",
      "max":200,
      "min":1
    },
    "DocumentPermissionType":{
      "type":"string",
      "enum":["Share"]
    },
    "DocumentRequires":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the required SSM document. The name can be an Amazon Resource Name (ARN).</p>"
        },
        "Version":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version required by the current document.</p>"
        },
        "RequireType":{
          "shape":"RequireType",
          "documentation":"<p>The document type of the required SSM document.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.</p>"
        }
      },
      "documentation":"<p>An SSM document required by the current document.</p>"
    },
    "DocumentRequiresList":{
      "type":"list",
      "member":{"shape":"DocumentRequires"},
      "min":1
    },
    "DocumentReviewAction":{
      "type":"string",
      "enum":[
        "SendForReview",
        "UpdateReview",
        "Approve",
        "Reject"
      ]
    },
    "DocumentReviewComment":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "DocumentReviewCommentList":{
      "type":"list",
      "member":{"shape":"DocumentReviewCommentSource"},
      "max":1,
      "min":0
    },
    "DocumentReviewCommentSource":{
      "type":"structure",
      "members":{
        "Type":{
          "shape":"DocumentReviewCommentType",
          "documentation":"<p>The type of information added to a review request. Currently, only the value <code>Comment</code> is supported.</p>"
        },
        "Content":{
          "shape":"DocumentReviewComment",
          "documentation":"<p>The content of a comment entered by a user who requests a review of a new document version, or who reviews the new version.</p>"
        }
      },
      "documentation":"<p>Information about comments added to a document review request.</p>"
    },
    "DocumentReviewCommentType":{
      "type":"string",
      "enum":["Comment"]
    },
    "DocumentReviewerResponseList":{
      "type":"list",
      "member":{"shape":"DocumentReviewerResponseSource"}
    },
    "DocumentReviewerResponseSource":{
      "type":"structure",
      "members":{
        "CreateTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that a reviewer entered a response to a document review request.</p>"
        },
        "UpdatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time that a reviewer last updated a response to a document review request.</p>"
        },
        "ReviewStatus":{
          "shape":"ReviewStatus",
          "documentation":"<p>The current review status of a new custom SSM document created by a member of your organization, or of the latest version of an existing SSM document.</p> <p>Only one version of a document can be in the APPROVED state at a time. When a new version is approved, the status of the previous version changes to REJECTED.</p> <p>Only one version of a document can be in review, or PENDING, at a time.</p>"
        },
        "Comment":{
          "shape":"DocumentReviewCommentList",
          "documentation":"<p>The comment entered by a reviewer as part of their document review response.</p>"
        },
        "Reviewer":{
          "shape":"Reviewer",
          "documentation":"<p>The user in your organization assigned to review a document request.</p>"
        }
      },
      "documentation":"<p>Information about a reviewer's response to a document review request.</p>"
    },
    "DocumentReviews":{
      "type":"structure",
      "required":["Action"],
      "members":{
        "Action":{
          "shape":"DocumentReviewAction",
          "documentation":"<p>The action to take on a document approval review request.</p>"
        },
        "Comment":{
          "shape":"DocumentReviewCommentList",
          "documentation":"<p>A comment entered by a user in your organization about the document review request.</p>"
        }
      },
      "documentation":"<p>Information about a document approval review.</p>"
    },
    "DocumentSchemaVersion":{
      "type":"string",
      "pattern":"([0-9]+)\\.([0-9]+)"
    },
    "DocumentSha1":{"type":"string"},
    "DocumentStatus":{
      "type":"string",
      "documentation":"<p>The status of a document.</p>",
      "enum":[
        "Creating",
        "Active",
        "Updating",
        "Deleting",
        "Failed"
      ]
    },
    "DocumentStatusInformation":{"type":"string"},
    "DocumentType":{
      "type":"string",
      "enum":[
        "Command",
        "Policy",
        "Automation",
        "Session",
        "Package",
        "ApplicationConfiguration",
        "ApplicationConfigurationSchema",
        "DeploymentStrategy",
        "ChangeCalendar",
        "Automation.ChangeTemplate",
        "ProblemAnalysis",
        "ProblemAnalysisTemplate",
        "CloudFormation",
        "ConformancePackTemplate",
        "QuickSetup"
      ]
    },
    "DocumentVersion":{
      "type":"string",
      "pattern":"([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)"
    },
    "DocumentVersionInfo":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The document name.</p>"
        },
        "DisplayName":{
          "shape":"DocumentDisplayName",
          "documentation":"<p>The friendly name of the SSM document. This value can differ for each version of the document. If you want to update this value, see <a>UpdateDocument</a>.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>The version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the document was created.</p>"
        },
        "IsDefaultVersion":{
          "shape":"Boolean",
          "documentation":"<p>An identifier for the default version of the document.</p>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>The document format, either JSON or YAML.</p>"
        },
        "Status":{
          "shape":"DocumentStatus",
          "documentation":"<p>The status of the SSM document, such as <code>Creating</code>, <code>Active</code>, <code>Failed</code>, and <code>Deleting</code>.</p>"
        },
        "StatusInformation":{
          "shape":"DocumentStatusInformation",
          "documentation":"<p>A message returned by Amazon Web Services Systems Manager that explains the <code>Status</code> value. For example, a <code>Failed</code> status might be explained by the <code>StatusInformation</code> message, \"The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct.\"</p>"
        },
        "ReviewStatus":{
          "shape":"ReviewStatus",
          "documentation":"<p>The current status of the approval review for the latest version of the document.</p>"
        }
      },
      "documentation":"<p>Version information about the document.</p>"
    },
    "DocumentVersionLimitExceeded":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document has too many versions. Delete one or more document versions and try again.</p>",
      "exception":true
    },
    "DocumentVersionList":{
      "type":"list",
      "member":{"shape":"DocumentVersionInfo"},
      "min":1
    },
    "DocumentVersionName":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.]{1,128}$"
    },
    "DocumentVersionNumber":{
      "type":"string",
      "pattern":"(^[1-9][0-9]*$)"
    },
    "DoesNotExistException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Error returned when the ID specified for a resource, such as a maintenance window or patch baseline, doesn't exist.</p> <p>For information about resource quotas in Amazon Web Services Systems Manager, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm\">Systems Manager service quotas</a> in the <i>Amazon Web Services General Reference</i>.</p>",
      "exception":true
    },
    "DryRun":{"type":"boolean"},
    "DuplicateDocumentContent":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The content of the association document matches another document. Change the content of the document and try again.</p>",
      "exception":true
    },
    "DuplicateDocumentVersionName":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The version name has already been used in this document. Specify a different version name, and then try again.</p>",
      "exception":true
    },
    "DuplicateInstanceId":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>You can't specify a managed node ID in more than one association.</p>",
      "exception":true
    },
    "EffectiveInstanceAssociationMaxResults":{
      "type":"integer",
      "max":5,
      "min":1
    },
    "EffectivePatch":{
      "type":"structure",
      "members":{
        "Patch":{
          "shape":"Patch",
          "documentation":"<p>Provides metadata for a patch, including information such as the KB ID, severity, classification and a URL for where more information can be obtained about the patch.</p>"
        },
        "PatchStatus":{
          "shape":"PatchStatus",
          "documentation":"<p>The status of the patch in a patch baseline. This includes information about whether the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly rejected and the date the patch was or will be approved.</p>"
        }
      },
      "documentation":"<p>The <code>EffectivePatch</code> structure defines metadata about a patch along with the approval state of the patch in a particular patch baseline. The approval state includes information about whether the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly rejected and the date the patch was or will be approved.</p>"
    },
    "EffectivePatchList":{
      "type":"list",
      "member":{"shape":"EffectivePatch"}
    },
    "ErrorCount":{"type":"integer"},
    "ExecutionMode":{
      "type":"string",
      "enum":[
        "Auto",
        "Interactive"
      ]
    },
    "ExecutionRoleName":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[\\w+=,.@/-]+"
    },
    "ExpirationDate":{"type":"timestamp"},
    "ExternalAlarmState":{
      "type":"string",
      "enum":[
        "UNKNOWN",
        "ALARM"
      ]
    },
    "FailedCreateAssociation":{
      "type":"structure",
      "members":{
        "Entry":{
          "shape":"CreateAssociationBatchRequestEntry",
          "documentation":"<p>The association.</p>"
        },
        "Message":{
          "shape":"BatchErrorMessage",
          "documentation":"<p>A description of the failure.</p>"
        },
        "Fault":{
          "shape":"Fault",
          "documentation":"<p>The source of the failure.</p>"
        }
      },
      "documentation":"<p>Describes a failed association.</p>"
    },
    "FailedCreateAssociationList":{
      "type":"list",
      "member":{"shape":"FailedCreateAssociation"}
    },
    "FailureDetails":{
      "type":"structure",
      "members":{
        "FailureStage":{
          "shape":"String",
          "documentation":"<p>The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.</p>"
        },
        "FailureType":{
          "shape":"String",
          "documentation":"<p>The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.</p>"
        },
        "Details":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>Detailed information about the Automation step failure.</p>"
        }
      },
      "documentation":"<p>Information about an Automation failure.</p>"
    },
    "Fault":{
      "type":"string",
      "enum":[
        "Client",
        "Server",
        "Unknown"
      ]
    },
    "FeatureNotAvailableException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You attempted to register a <code>LAMBDA</code> or <code>STEP_FUNCTIONS</code> task in a region where the corresponding service isn't available. </p>",
      "exception":true
    },
    "GetAutomationExecutionRequest":{
      "type":"structure",
      "required":["AutomationExecutionId"],
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation runbook is initiated.</p>"
        }
      }
    },
    "GetAutomationExecutionResult":{
      "type":"structure",
      "members":{
        "AutomationExecution":{
          "shape":"AutomationExecution",
          "documentation":"<p>Detailed information about the current state of an automation execution.</p>"
        }
      }
    },
    "GetCalendarStateRequest":{
      "type":"structure",
      "required":["CalendarNames"],
      "members":{
        "CalendarNames":{
          "shape":"CalendarNameOrARNList",
          "documentation":"<p>The names or Amazon Resource Names (ARNs) of the Systems Manager documents (SSM documents) that represent the calendar entries for which you want to get the state.</p>"
        },
        "AtTime":{
          "shape":"ISO8601String",
          "documentation":"<p>(Optional) The specific time for which you want to get calendar state information, in <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a> format. If you don't specify a value or <code>AtTime</code>, the current time is used.</p>"
        }
      }
    },
    "GetCalendarStateResponse":{
      "type":"structure",
      "members":{
        "State":{
          "shape":"CalendarState",
          "documentation":"<p>The state of the calendar. An <code>OPEN</code> calendar indicates that actions are allowed to proceed, and a <code>CLOSED</code> calendar indicates that actions aren't allowed to proceed.</p>"
        },
        "AtTime":{
          "shape":"ISO8601String",
          "documentation":"<p>The time, as an <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a> string, that you specified in your command. If you don't specify a time, <code>GetCalendarState</code> uses the current time.</p>"
        },
        "NextTransitionTime":{
          "shape":"ISO8601String",
          "documentation":"<p>The time, as an <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a> string, that the calendar state will change. If the current calendar state is <code>OPEN</code>, <code>NextTransitionTime</code> indicates when the calendar state changes to <code>CLOSED</code>, and vice-versa.</p>"
        }
      }
    },
    "GetCommandInvocationRequest":{
      "type":"structure",
      "required":[
        "CommandId",
        "InstanceId"
      ],
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>(Required) The parent command ID of the invocation plugin.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>(Required) The ID of the managed node targeted by the command. A <i>managed node</i> can be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, and on-premises server or VM in your hybrid environment that is configured for Amazon Web Services Systems Manager.</p>"
        },
        "PluginName":{
          "shape":"CommandPluginName",
          "documentation":"<p>The name of the step for which you want detailed results. If the document contains only one step, you can omit the name and details for that step. If the document contains more than one step, you must specify the name of the step for which you want to view details. Be sure to specify the name of the step, not the name of a plugin like <code>aws:RunShellScript</code>.</p> <p>To find the <code>PluginName</code>, check the document content and find the name of the step you want details for. Alternatively, use <a>ListCommandInvocations</a> with the <code>CommandId</code> and <code>Details</code> parameters. The <code>PluginName</code> is the <code>Name</code> attribute of the <code>CommandPlugin</code> object in the <code>CommandPlugins</code> list.</p>"
        }
      }
    },
    "GetCommandInvocationResult":{
      "type":"structure",
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>The parent command ID of the invocation plugin.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the managed node targeted by the command. A <i>managed node</i> can be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or on-premises server or VM in your hybrid environment that is configured for Amazon Web Services Systems Manager.</p>"
        },
        "Comment":{
          "shape":"Comment",
          "documentation":"<p>The comment text for the command.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document that was run. For example, <code>AWS-RunShellScript</code>.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The Systems Manager document (SSM document) version used in the request.</p>"
        },
        "PluginName":{
          "shape":"CommandPluginName",
          "documentation":"<p>The name of the plugin, or <i>step name</i>, for which details are reported. For example, <code>aws:RunShellScript</code> is a plugin.</p>"
        },
        "ResponseCode":{
          "shape":"ResponseCode",
          "documentation":"<p>The error level response code for the plugin script. If the response code is <code>-1</code>, then the command hasn't started running on the managed node, or it wasn't received by the node.</p>"
        },
        "ExecutionStartDateTime":{
          "shape":"StringDateTime",
          "documentation":"<p>The date and time the plugin started running. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample Amazon Web Services CLI command uses the <code>InvokedBefore</code> filter.</p> <p> <code>aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z</code> </p> <p>If the plugin hasn't started to run, the string is empty.</p>"
        },
        "ExecutionElapsedTime":{
          "shape":"StringDateTime",
          "documentation":"<p>Duration since <code>ExecutionStartDateTime</code>.</p>"
        },
        "ExecutionEndDateTime":{
          "shape":"StringDateTime",
          "documentation":"<p>The date and time the plugin finished running. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample Amazon Web Services CLI command uses the <code>InvokedAfter</code> filter.</p> <p> <code>aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z</code> </p> <p>If the plugin hasn't started to run, the string is empty.</p>"
        },
        "Status":{
          "shape":"CommandInvocationStatus",
          "documentation":"<p>The status of this invocation plugin. This status can be different than <code>StatusDetails</code>.</p>"
        },
        "StatusDetails":{
          "shape":"StatusDetails",
          "documentation":"<p>A detailed status of the command execution for an invocation. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than <code>Status</code>. For more information about these statuses, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html\">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. <code>StatusDetails</code> can be one of the following values:</p> <ul> <li> <p>Pending: The command hasn't been sent to the managed node.</p> </li> <li> <p>In Progress: The command has been sent to the managed node but hasn't reached a terminal state.</p> </li> <li> <p>Delayed: The system attempted to send the command to the target, but the target wasn't available. The managed node might not be available because of network issues, because the node was stopped, or for similar reasons. The system will try to send the command again.</p> </li> <li> <p>Success: The command or plugin ran successfully. This is a terminal state.</p> </li> <li> <p>Delivery Timed Out: The command wasn't delivered to the managed node before the delivery timeout expired. Delivery timeouts don't count against the parent command's <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.</p> </li> <li> <p>Execution Timed Out: The command started to run on the managed node, but the execution wasn't complete before the timeout expired. Execution timeouts count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Failed: The command wasn't run successfully on the managed node. For a plugin, this indicates that the result code wasn't zero. For a command invocation, this indicates that the result code for one or more plugins wasn't zero. Invocation failures count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p> </li> <li> <p>Undeliverable: The command can't be delivered to the managed node. The node might not exist or might not be responding. Undeliverable invocations don't count against the parent command's <code>MaxErrors</code> limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.</p> </li> <li> <p>Terminated: The parent command exceeded its <code>MaxErrors</code> limit and subsequent command invocations were canceled by the system. This is a terminal state.</p> </li> </ul>"
        },
        "StandardOutputContent":{
          "shape":"StandardOutputContent",
          "documentation":"<p>The first 24,000 characters written by the plugin to <code>stdout</code>. If the command hasn't finished running, if <code>ExecutionStatus</code> is neither Succeeded nor Failed, then this string is empty.</p>"
        },
        "StandardOutputUrl":{
          "shape":"Url",
          "documentation":"<p>The URL for the complete text written by the plugin to <code>stdout</code> in Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, then this string is empty.</p>"
        },
        "StandardErrorContent":{
          "shape":"StandardErrorContent",
          "documentation":"<p>The first 8,000 characters written by the plugin to <code>stderr</code>. If the command hasn't finished running, then this string is empty.</p>"
        },
        "StandardErrorUrl":{
          "shape":"Url",
          "documentation":"<p>The URL for the complete text written by the plugin to <code>stderr</code>. If the command hasn't finished running, then this string is empty.</p>"
        },
        "CloudWatchOutputConfig":{
          "shape":"CloudWatchOutputConfig",
          "documentation":"<p>Amazon CloudWatch Logs information where Systems Manager sent the command output.</p>"
        }
      }
    },
    "GetConnectionStatusRequest":{
      "type":"structure",
      "required":["Target"],
      "members":{
        "Target":{
          "shape":"SessionTarget",
          "documentation":"<p>The managed node ID.</p>"
        }
      }
    },
    "GetConnectionStatusResponse":{
      "type":"structure",
      "members":{
        "Target":{
          "shape":"SessionTarget",
          "documentation":"<p>The ID of the managed node to check connection status. </p>"
        },
        "Status":{
          "shape":"ConnectionStatus",
          "documentation":"<p>The status of the connection to the managed node. For example, 'Connected' or 'Not Connected'.</p>"
        }
      }
    },
    "GetDefaultPatchBaselineRequest":{
      "type":"structure",
      "members":{
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>Returns the default patch baseline for the specified operating system.</p>"
        }
      }
    },
    "GetDefaultPatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the default patch baseline.</p>"
        },
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>The operating system for the returned patch baseline. </p>"
        }
      }
    },
    "GetDeployablePatchSnapshotForInstanceRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "SnapshotId"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the managed node for which the appropriate patch snapshot should be retrieved.</p>"
        },
        "SnapshotId":{
          "shape":"SnapshotId",
          "documentation":"<p>The snapshot ID provided by the user when running <code>AWS-RunPatchBaseline</code>.</p>"
        },
        "BaselineOverride":{
          "shape":"BaselineOverride",
          "documentation":"<p>Defines the basic information about a patch baseline override.</p>"
        }
      }
    },
    "GetDeployablePatchSnapshotForInstanceResult":{
      "type":"structure",
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p>"
        },
        "SnapshotId":{
          "shape":"SnapshotId",
          "documentation":"<p>The user-defined snapshot ID.</p>"
        },
        "SnapshotDownloadUrl":{
          "shape":"SnapshotDownloadUrl",
          "documentation":"<p>A pre-signed Amazon Simple Storage Service (Amazon S3) URL that can be used to download the patch snapshot.</p>"
        },
        "Product":{
          "shape":"Product",
          "documentation":"<p>Returns the specific operating system (for example Windows Server 2012 or Amazon Linux 2015.09) on the managed node for the specified patch snapshot.</p>"
        }
      }
    },
    "GetDocumentRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document and can't be changed.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version for which you want information.</p>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.</p>"
        }
      }
    },
    "GetDocumentResult":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the SSM document was created.</p>"
        },
        "DisplayName":{
          "shape":"DocumentDisplayName",
          "documentation":"<p>The friendly name of the SSM document. This value can differ for each version of the document. If you want to update this value, see <a>UpdateDocument</a>.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>The version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "Status":{
          "shape":"DocumentStatus",
          "documentation":"<p>The status of the SSM document, such as <code>Creating</code>, <code>Active</code>, <code>Updating</code>, <code>Failed</code>, and <code>Deleting</code>.</p>"
        },
        "StatusInformation":{
          "shape":"DocumentStatusInformation",
          "documentation":"<p>A message returned by Amazon Web Services Systems Manager that explains the <code>Status</code> value. For example, a <code>Failed</code> status might be explained by the <code>StatusInformation</code> message, \"The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct.\"</p>"
        },
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>The contents of the SSM document.</p>"
        },
        "DocumentType":{
          "shape":"DocumentType",
          "documentation":"<p>The document type.</p>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>The document format, either JSON or YAML.</p>"
        },
        "Requires":{
          "shape":"DocumentRequiresList",
          "documentation":"<p>A list of SSM documents required by a document. For example, an <code>ApplicationConfiguration</code> document requires an <code>ApplicationConfigurationSchema</code> document.</p>"
        },
        "AttachmentsContent":{
          "shape":"AttachmentContentList",
          "documentation":"<p>A description of the document attachments, including names, locations, sizes, and so on.</p>"
        },
        "ReviewStatus":{
          "shape":"ReviewStatus",
          "documentation":"<p>The current review status of a new custom Systems Manager document (SSM document) created by a member of your organization, or of the latest version of an existing SSM document.</p> <p>Only one version of an SSM document can be in the APPROVED state at a time. When a new version is approved, the status of the previous version changes to REJECTED.</p> <p>Only one version of an SSM document can be in review, or PENDING, at a time.</p>"
        }
      }
    },
    "GetInventoryRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"InventoryFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
        },
        "Aggregators":{
          "shape":"InventoryAggregatorList",
          "documentation":"<p>Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the <code>AWS:InstanceInformation.PlatformType</code> type, you can see a count of how many Windows and Linux managed nodes exist in your inventoried fleet.</p>"
        },
        "ResultAttributes":{
          "shape":"ResultAttributeList",
          "documentation":"<p>The list of inventory item types to return.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "GetInventoryResult":{
      "type":"structure",
      "members":{
        "Entities":{
          "shape":"InventoryResultEntityList",
          "documentation":"<p>Collection of inventory entities such as a collection of managed node inventory. </p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "GetInventorySchemaMaxResults":{
      "type":"integer",
      "max":200,
      "min":50
    },
    "GetInventorySchemaRequest":{
      "type":"structure",
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeNameFilter",
          "documentation":"<p>The type of inventory item to return.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"GetInventorySchemaMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "Aggregator":{
          "shape":"AggregatorSchemaOnly",
          "documentation":"<p>Returns inventory schemas that support aggregation. For example, this call returns the <code>AWS:InstanceInformation</code> type, because it supports aggregation based on the <code>PlatformName</code>, <code>PlatformType</code>, and <code>PlatformVersion</code> attributes.</p>"
        },
        "SubType":{
          "shape":"IsSubTypeSchema",
          "documentation":"<p>Returns the sub-type schema for a specified inventory type.</p>",
          "box":true
        }
      }
    },
    "GetInventorySchemaResult":{
      "type":"structure",
      "members":{
        "Schemas":{
          "shape":"InventoryItemSchemaResultList",
          "documentation":"<p>Inventory schemas returned by the request.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "GetMaintenanceWindowExecutionRequest":{
      "type":"structure",
      "required":["WindowExecutionId"],
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution that includes the task.</p>"
        }
      }
    },
    "GetMaintenanceWindowExecutionResult":{
      "type":"structure",
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution.</p>"
        },
        "TaskIds":{
          "shape":"MaintenanceWindowExecutionTaskIdList",
          "documentation":"<p>The ID of the task executions from the maintenance window execution.</p>"
        },
        "Status":{
          "shape":"MaintenanceWindowExecutionStatus",
          "documentation":"<p>The status of the maintenance window execution.</p>"
        },
        "StatusDetails":{
          "shape":"MaintenanceWindowExecutionStatusDetails",
          "documentation":"<p>The details explaining the status. Not available for all status values.</p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the maintenance window started running.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the maintenance window finished running.</p>"
        }
      }
    },
    "GetMaintenanceWindowExecutionTaskInvocationRequest":{
      "type":"structure",
      "required":[
        "WindowExecutionId",
        "TaskId",
        "InvocationId"
      ],
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution for which the task is a part.</p>"
        },
        "TaskId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The ID of the specific task in the maintenance window task that should be retrieved. </p>"
        },
        "InvocationId":{
          "shape":"MaintenanceWindowExecutionTaskInvocationId",
          "documentation":"<p>The invocation ID to retrieve.</p>"
        }
      }
    },
    "GetMaintenanceWindowExecutionTaskInvocationResult":{
      "type":"structure",
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The maintenance window execution ID.</p>"
        },
        "TaskExecutionId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The task execution ID.</p>"
        },
        "InvocationId":{
          "shape":"MaintenanceWindowExecutionTaskInvocationId",
          "documentation":"<p>The invocation ID.</p>"
        },
        "ExecutionId":{
          "shape":"MaintenanceWindowExecutionTaskExecutionId",
          "documentation":"<p>The execution ID.</p>"
        },
        "TaskType":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>Retrieves the task type for a maintenance window.</p>"
        },
        "Parameters":{
          "shape":"MaintenanceWindowExecutionTaskInvocationParameters",
          "documentation":"<p>The parameters used at the time that the task ran.</p>"
        },
        "Status":{
          "shape":"MaintenanceWindowExecutionStatus",
          "documentation":"<p>The task status for an invocation.</p>"
        },
        "StatusDetails":{
          "shape":"MaintenanceWindowExecutionStatusDetails",
          "documentation":"<p>The details explaining the status. Details are only available for certain status values.</p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the task started running on the target.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the task finished running on the target.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>User-provided value to be included in any Amazon CloudWatch Events or Amazon EventBridge events raised while running tasks for these targets in this maintenance window.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTaskTargetId",
          "documentation":"<p>The maintenance window target ID.</p>"
        }
      }
    },
    "GetMaintenanceWindowExecutionTaskRequest":{
      "type":"structure",
      "required":[
        "WindowExecutionId",
        "TaskId"
      ],
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution that includes the task.</p>"
        },
        "TaskId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The ID of the specific task execution in the maintenance window task that should be retrieved.</p>"
        }
      }
    },
    "GetMaintenanceWindowExecutionTaskResult":{
      "type":"structure",
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution that includes the task.</p>"
        },
        "TaskExecutionId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The ID of the specific task execution in the maintenance window task that was retrieved.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the task that ran.</p>"
        },
        "ServiceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The role that was assumed when running the task.</p>"
        },
        "Type":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task that was run.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParametersList",
          "documentation":"<p>The parameters passed to the task when it was run.</p> <note> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note> <p>The map has the following format:</p> <ul> <li> <p> <code>Key</code>: string, between 1 and 255 characters</p> </li> <li> <p> <code>Value</code>: an array of strings, each between 1 and 255 characters</p> </li> </ul>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The priority of the task.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The defined maximum number of task executions that could be run in parallel.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped.</p>"
        },
        "Status":{
          "shape":"MaintenanceWindowExecutionStatus",
          "documentation":"<p>The status of the task.</p>"
        },
        "StatusDetails":{
          "shape":"MaintenanceWindowExecutionStatusDetails",
          "documentation":"<p>The details explaining the status. Not available for all status values.</p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the task execution started.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the task execution completed.</p>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm you applied to your maintenance window task.</p>"
        },
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarms that were invoked by the maintenance window task.</p>"
        }
      }
    },
    "GetMaintenanceWindowRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window for which you want to retrieve information.</p>"
        }
      }
    },
    "GetMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the created maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>The description of the maintenance window.</p>"
        },
        "StartDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>"
        },
        "EndDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the maintenance window in the form of a cron or rate expression.</p>"
        },
        "ScheduleTimezone":{
          "shape":"MaintenanceWindowTimezone",
          "documentation":"<p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the <a href=\"https://www.iana.org/time-zones\">Time Zone Database</a> on the IANA website.</p>"
        },
        "ScheduleOffset":{
          "shape":"MaintenanceWindowOffset",
          "documentation":"<p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>",
          "box":true
        },
        "NextExecutionTime":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.</p>"
        },
        "Duration":{
          "shape":"MaintenanceWindowDurationHours",
          "documentation":"<p>The duration of the maintenance window in hours.</p>"
        },
        "Cutoff":{
          "shape":"MaintenanceWindowCutoff",
          "documentation":"<p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>"
        },
        "AllowUnassociatedTargets":{
          "shape":"MaintenanceWindowAllowUnassociatedTargets",
          "documentation":"<p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>"
        },
        "Enabled":{
          "shape":"MaintenanceWindowEnabled",
          "documentation":"<p>Indicates whether the maintenance window is enabled.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the maintenance window was created.</p>"
        },
        "ModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the maintenance window was last modified.</p>"
        }
      }
    },
    "GetMaintenanceWindowTaskRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "WindowTaskId"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The maintenance window ID that includes the task to retrieve.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The maintenance window task ID to retrieve.</p>"
        }
      }
    },
    "GetMaintenanceWindowTaskResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The retrieved maintenance window ID.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The retrieved maintenance window task ID.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets where the task should run.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The resource that the task used during execution. For <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code> tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code> tasks, the value is the state machine ARN.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.</p>"
        },
        "TaskType":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task to run.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParameters",
          "documentation":"<p>The parameters to pass to the task when it runs.</p> <note> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "TaskInvocationParameters":{
          "shape":"MaintenanceWindowTaskInvocationParameters",
          "documentation":"<p>The parameters to pass to the task when it runs.</p>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The priority of the task when it runs. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run this task in parallel.</p> <note> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>, which may be reported in the response to this command. This value doesn't affect the running of your task and can be ignored.</p> </note>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The maximum number of errors allowed before the task stops being scheduled.</p> <note> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>, which may be reported in the response to this command. This value doesn't affect the running of your task and can be ignored.</p> </note>"
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>The location in Amazon Simple Storage Service (Amazon S3) where the task results are logged.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The retrieved task name.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>The retrieved task description.</p>"
        },
        "CutoffBehavior":{
          "shape":"MaintenanceWindowTaskCutoffBehavior",
          "documentation":"<p>The action to take on tasks when the maintenance window cutoff time is reached. <code>CONTINUE_TASK</code> means that tasks continue to run. For Automation, Lambda, Step Functions tasks, <code>CANCEL_TASK</code> means that currently running task invocations continue, but no new task invocations are started. For Run Command tasks, <code>CANCEL_TASK</code> means the system attempts to stop the task by sending a <code>CancelCommand</code> operation.</p>",
          "box":true
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm you applied to your maintenance window task.</p>"
        }
      }
    },
    "GetOpsItemRequest":{
      "type":"structure",
      "required":["OpsItemId"],
      "members":{
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem that you want to get.</p>"
        },
        "OpsItemArn":{
          "shape":"OpsItemArn",
          "documentation":"<p>The OpsItem Amazon Resource Name (ARN).</p>"
        }
      }
    },
    "GetOpsItemResponse":{
      "type":"structure",
      "members":{
        "OpsItem":{
          "shape":"OpsItem",
          "documentation":"<p>The OpsItem.</p>"
        }
      }
    },
    "GetOpsMetadataMaxResults":{
      "type":"integer",
      "max":10,
      "min":1
    },
    "GetOpsMetadataRequest":{
      "type":"structure",
      "required":["OpsMetadataArn"],
      "members":{
        "OpsMetadataArn":{
          "shape":"OpsMetadataArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an OpsMetadata Object to view.</p>"
        },
        "MaxResults":{
          "shape":"GetOpsMetadataMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results.</p>"
        }
      }
    },
    "GetOpsMetadataResult":{
      "type":"structure",
      "members":{
        "ResourceId":{
          "shape":"OpsMetadataResourceId",
          "documentation":"<p>The resource ID of the Application Manager application.</p>"
        },
        "Metadata":{
          "shape":"MetadataMap",
          "documentation":"<p>OpsMetadata for an Application Manager application.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "GetOpsSummaryRequest":{
      "type":"structure",
      "members":{
        "SyncName":{
          "shape":"ResourceDataSyncName",
          "documentation":"<p>Specify the name of a resource data sync to get.</p>"
        },
        "Filters":{
          "shape":"OpsFilterList",
          "documentation":"<p>Optional filters used to scope down the returned OpsData. </p>"
        },
        "Aggregators":{
          "shape":"OpsAggregatorList",
          "documentation":"<p>Optional aggregators that return counts of OpsData based on one or more expressions.</p>"
        },
        "ResultAttributes":{
          "shape":"OpsResultAttributeList",
          "documentation":"<p>The OpsData data type to return.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "GetOpsSummaryResult":{
      "type":"structure",
      "members":{
        "Entities":{
          "shape":"OpsEntityList",
          "documentation":"<p>The list of aggregated details and filtered OpsData.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "GetParameterHistoryRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter for which you want to review history.</p>"
        },
        "WithDecryption":{
          "shape":"Boolean",
          "documentation":"<p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>",
          "box":true
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "GetParameterHistoryResult":{
      "type":"structure",
      "members":{
        "Parameters":{
          "shape":"ParameterHistoryList",
          "documentation":"<p>A list of parameters returned by the request.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "GetParameterRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter you want to query.</p> <p>To query by parameter label, use <code>\"Name\": \"name:label\"</code>. To query by parameter version, use <code>\"Name\": \"name:version\"</code>.</p>"
        },
        "WithDecryption":{
          "shape":"Boolean",
          "documentation":"<p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>",
          "box":true
        }
      }
    },
    "GetParameterResult":{
      "type":"structure",
      "members":{
        "Parameter":{
          "shape":"Parameter",
          "documentation":"<p>Information about a parameter.</p>"
        }
      }
    },
    "GetParametersByPathMaxResults":{
      "type":"integer",
      "max":10,
      "min":1
    },
    "GetParametersByPathRequest":{
      "type":"structure",
      "required":["Path"],
      "members":{
        "Path":{
          "shape":"PSParameterName",
          "documentation":"<p>The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierarchy is the parameter name except the last part of the parameter. For the API call to succeed, the last part of the parameter name can't be in the path. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: <code>/Finance/Prod/IAD/WinServ2016/license33 </code> </p>"
        },
        "Recursive":{
          "shape":"Boolean",
          "documentation":"<p>Retrieve all parameters within a hierarchy.</p> <important> <p>If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path <code>/a</code>, then the user can also access <code>/a/b</code>. Even if a user has explicitly been denied access in IAM for parameter <code>/a/b</code>, they can still call the GetParametersByPath API operation recursively for <code>/a</code> and view <code>/a/b</code>.</p> </important>",
          "box":true
        },
        "ParameterFilters":{
          "shape":"ParameterStringFilterList",
          "documentation":"<p>Filters to limit the request results.</p> <note> <p>The following <code>Key</code> values are supported for <code>GetParametersByPath</code>: <code>Type</code>, <code>KeyId</code>, and <code>Label</code>.</p> <p>The following <code>Key</code> values aren't supported for <code>GetParametersByPath</code>: <code>tag</code>, <code>DataType</code>, <code>Name</code>, <code>Path</code>, and <code>Tier</code>.</p> </note>"
        },
        "WithDecryption":{
          "shape":"Boolean",
          "documentation":"<p>Retrieve all parameters in a hierarchy with their value decrypted.</p>",
          "box":true
        },
        "MaxResults":{
          "shape":"GetParametersByPathMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        }
      }
    },
    "GetParametersByPathResult":{
      "type":"structure",
      "members":{
        "Parameters":{
          "shape":"ParameterList",
          "documentation":"<p>A list of parameters found in the specified hierarchy.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "GetParametersRequest":{
      "type":"structure",
      "required":["Names"],
      "members":{
        "Names":{
          "shape":"ParameterNameList",
          "documentation":"<p>Names of the parameters for which you want to query information.</p> <p>To query by parameter label, use <code>\"Name\": \"name:label\"</code>. To query by parameter version, use <code>\"Name\": \"name:version\"</code>.</p>"
        },
        "WithDecryption":{
          "shape":"Boolean",
          "documentation":"<p>Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>",
          "box":true
        }
      }
    },
    "GetParametersResult":{
      "type":"structure",
      "members":{
        "Parameters":{
          "shape":"ParameterList",
          "documentation":"<p>A list of details for a parameter.</p>"
        },
        "InvalidParameters":{
          "shape":"ParameterNameList",
          "documentation":"<p>A list of parameters that aren't formatted correctly or don't run during an execution.</p>"
        }
      }
    },
    "GetPatchBaselineForPatchGroupRequest":{
      "type":"structure",
      "required":["PatchGroup"],
      "members":{
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group whose patch baseline should be retrieved.</p>"
        },
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>Returns the operating system rule specified for patch groups using the patch baseline.</p>"
        }
      }
    },
    "GetPatchBaselineForPatchGroupResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline that should be used for the patch group.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group.</p>"
        },
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>The operating system rule specified for patch groups using the patch baseline.</p>"
        }
      }
    },
    "GetPatchBaselineRequest":{
      "type":"structure",
      "required":["BaselineId"],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to retrieve.</p> <note> <p>To retrieve information about an Amazon Web Services managed patch baseline, specify the full Amazon Resource Name (ARN) of the baseline. For example, for the baseline <code>AWS-AmazonLinuxDefaultPatchBaseline</code>, specify <code>arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7</code> instead of <code>pb-0e392de35e7c563b7</code>.</p> </note>"
        }
      }
    },
    "GetPatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the retrieved patch baseline.</p>"
        },
        "Name":{
          "shape":"BaselineName",
          "documentation":"<p>The name of the patch baseline.</p>"
        },
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>Returns the operating system specified for the patch baseline.</p>"
        },
        "GlobalFilters":{
          "shape":"PatchFilterGroup",
          "documentation":"<p>A set of global filters used to exclude patches from the baseline.</p>"
        },
        "ApprovalRules":{
          "shape":"PatchRuleGroup",
          "documentation":"<p>A set of rules used to include patches in the baseline.</p>"
        },
        "ApprovedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly approved patches for the baseline.</p>"
        },
        "ApprovedPatchesComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>Returns the specified compliance severity level for approved patches in the patch baseline.</p>"
        },
        "ApprovedPatchesEnableNonSecurity":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>",
          "box":true
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p>"
        },
        "RejectedPatchesAction":{
          "shape":"PatchAction",
          "documentation":"<p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>"
        },
        "PatchGroups":{
          "shape":"PatchGroupList",
          "documentation":"<p>Patch groups included in the patch baseline.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the patch baseline was created.</p>"
        },
        "ModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the patch baseline was last modified.</p>"
        },
        "Description":{
          "shape":"BaselineDescription",
          "documentation":"<p>A description of the patch baseline.</p>"
        },
        "Sources":{
          "shape":"PatchSourceList",
          "documentation":"<p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>"
        }
      }
    },
    "GetResourcePoliciesRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArnString",
          "documentation":"<p>Amazon Resource Name (ARN) of the resource to which the policies are attached.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results.</p>"
        },
        "MaxResults":{
          "shape":"ResourcePolicyMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>"
        }
      }
    },
    "GetResourcePoliciesResponse":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        },
        "Policies":{
          "shape":"GetResourcePoliciesResponseEntries",
          "documentation":"<p>An array of the <code>Policy</code> object.</p>"
        }
      }
    },
    "GetResourcePoliciesResponseEntries":{
      "type":"list",
      "member":{"shape":"GetResourcePoliciesResponseEntry"}
    },
    "GetResourcePoliciesResponseEntry":{
      "type":"structure",
      "members":{
        "PolicyId":{
          "shape":"PolicyId",
          "documentation":"<p>A policy ID.</p>"
        },
        "PolicyHash":{
          "shape":"PolicyHash",
          "documentation":"<p>ID of the current policy version. The hash helps to prevent a situation where multiple users attempt to overwrite a policy. You must provide this hash when updating or deleting a policy.</p>"
        },
        "Policy":{
          "shape":"Policy",
          "documentation":"<p>A resource policy helps you to define the IAM entity (for example, an Amazon Web Services account) that can manage your Systems Manager resources. Currently, <code>OpsItemGroup</code> is the only resource that supports Systems Manager resource policies. The resource policy for <code>OpsItemGroup</code> enables Amazon Web Services accounts to view and interact with OpsCenter operational work items (OpsItems).</p>"
        }
      },
      "documentation":"<p>A resource policy helps you to define the IAM entity (for example, an Amazon Web Services account) that can manage your Systems Manager resources. Currently, <code>OpsItemGroup</code> is the only resource that supports Systems Manager resource policies. The resource policy for <code>OpsItemGroup</code> enables Amazon Web Services accounts to view and interact with OpsCenter operational work items (OpsItems).</p>"
    },
    "GetServiceSettingRequest":{
      "type":"structure",
      "required":["SettingId"],
      "members":{
        "SettingId":{
          "shape":"ServiceSettingId",
          "documentation":"<p>The ID of the service setting to get. The setting ID can be one of the following.</p> <ul> <li> <p> <code>/ssm/managed-instance/default-ec2-instance-management-role</code> </p> </li> <li> <p> <code>/ssm/automation/customer-script-log-destination</code> </p> </li> <li> <p> <code>/ssm/automation/customer-script-log-group-name</code> </p> </li> <li> <p> <code>/ssm/documents/console/public-sharing-permission</code> </p> </li> <li> <p> <code>/ssm/managed-instance/activation-tier</code> </p> </li> <li> <p> <code>/ssm/opsinsights/opscenter</code> </p> </li> <li> <p> <code>/ssm/parameter-store/default-parameter-tier</code> </p> </li> <li> <p> <code>/ssm/parameter-store/high-throughput-enabled</code> </p> </li> </ul>"
        }
      },
      "documentation":"<p>The request body of the GetServiceSetting API operation.</p>"
    },
    "GetServiceSettingResult":{
      "type":"structure",
      "members":{
        "ServiceSetting":{
          "shape":"ServiceSetting",
          "documentation":"<p>The query result of the current service setting.</p>"
        }
      },
      "documentation":"<p>The query result body of the GetServiceSetting API operation.</p>"
    },
    "HierarchyLevelLimitExceededException":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>A hierarchy can have a maximum of 15 levels. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html\">Requirements and constraints for parameter names</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
        }
      },
      "documentation":"<p>A hierarchy can have a maximum of 15 levels. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html\">Requirements and constraints for parameter names</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>",
      "exception":true
    },
    "HierarchyTypeMismatchException":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Parameter Store doesn't support changing a parameter type in a hierarchy. For example, you can't change a parameter from a <code>String</code> type to a <code>SecureString</code> type. You must create a new, unique parameter.</p>"
        }
      },
      "documentation":"<p>Parameter Store doesn't support changing a parameter type in a hierarchy. For example, you can't change a parameter from a <code>String</code> type to a <code>SecureString</code> type. You must create a new, unique parameter.</p>",
      "exception":true
    },
    "IPAddress":{
      "type":"string",
      "max":46,
      "min":1
    },
    "ISO8601String":{"type":"string"},
    "IamRole":{
      "type":"string",
      "max":64
    },
    "IdempotencyToken":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
    },
    "IdempotentParameterMismatch":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Error returned when an idempotent operation is retried and the parameters don't match the original call to the API with the same idempotency token. </p>",
      "exception":true
    },
    "IncompatiblePolicyException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>There is a conflict in the policies specified for this parameter. You can't, for example, specify two Expiration policies for a parameter. Review your policies, and try again.</p>",
      "exception":true
    },
    "InstallOverrideList":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^https://.+$|^s3://([^/]+)/(.*?([^/]+))$"
    },
    "InstanceAggregatedAssociationOverview":{
      "type":"structure",
      "members":{
        "DetailedStatus":{
          "shape":"StatusName",
          "documentation":"<p>Detailed status information about the aggregated associations.</p>"
        },
        "InstanceAssociationStatusAggregatedCount":{
          "shape":"InstanceAssociationStatusAggregatedCount",
          "documentation":"<p>The number of associations for the managed node(s).</p>"
        }
      },
      "documentation":"<p>Status information about the aggregated associations.</p>"
    },
    "InstanceAssociation":{
      "type":"structure",
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p>"
        },
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>The content of the association document for the managed node(s).</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>Version information for the association on the managed node.</p>"
        }
      },
      "documentation":"<p>One or more association documents on the managed node. </p>"
    },
    "InstanceAssociationExecutionSummary":{
      "type":"string",
      "max":512,
      "min":1
    },
    "InstanceAssociationList":{
      "type":"list",
      "member":{"shape":"InstanceAssociation"}
    },
    "InstanceAssociationOutputLocation":{
      "type":"structure",
      "members":{
        "S3Location":{
          "shape":"S3OutputLocation",
          "documentation":"<p>An S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>An S3 bucket where you want to store the results of this request.</p> <p>For the minimal permissions required to enable Amazon S3 output for an association, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc.html\">Creating associations</a> in the <i>Systems Manager User Guide</i>. </p>"
    },
    "InstanceAssociationOutputUrl":{
      "type":"structure",
      "members":{
        "S3OutputUrl":{
          "shape":"S3OutputUrl",
          "documentation":"<p>The URL of S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>The URL of S3 bucket where you want to store the results of this request.</p>"
    },
    "InstanceAssociationStatusAggregatedCount":{
      "type":"map",
      "key":{"shape":"StatusName"},
      "value":{"shape":"InstanceCount"}
    },
    "InstanceAssociationStatusInfo":{
      "type":"structure",
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID.</p>"
        },
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the association.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The association document versions.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>The version of the association applied to the managed node.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID where the association was created.</p>"
        },
        "ExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the association ran. </p>"
        },
        "Status":{
          "shape":"StatusName",
          "documentation":"<p>Status information about the association.</p>"
        },
        "DetailedStatus":{
          "shape":"StatusName",
          "documentation":"<p>Detailed status information about the association.</p>"
        },
        "ExecutionSummary":{
          "shape":"InstanceAssociationExecutionSummary",
          "documentation":"<p>Summary information about association execution.</p>"
        },
        "ErrorCode":{
          "shape":"AgentErrorCode",
          "documentation":"<p>An error code returned by the request to create the association.</p>"
        },
        "OutputUrl":{
          "shape":"InstanceAssociationOutputUrl",
          "documentation":"<p>A URL for an S3 bucket where you want to store the results of this request.</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>The name of the association applied to the managed node.</p>"
        }
      },
      "documentation":"<p>Status information about the association.</p>"
    },
    "InstanceAssociationStatusInfos":{
      "type":"list",
      "member":{"shape":"InstanceAssociationStatusInfo"}
    },
    "InstanceCount":{"type":"integer"},
    "InstanceId":{
      "type":"string",
      "pattern":"(^i-(\\w{8}|\\w{17})$)|(^mi-\\w{17}$)"
    },
    "InstanceIdList":{
      "type":"list",
      "member":{"shape":"InstanceId"},
      "max":50,
      "min":0
    },
    "InstanceInformation":{
      "type":"structure",
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID. </p>"
        },
        "PingStatus":{
          "shape":"PingStatus",
          "documentation":"<p>Connection status of SSM Agent. </p> <note> <p>The status <code>Inactive</code> has been deprecated and is no longer in use.</p> </note>"
        },
        "LastPingDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time when the agent last pinged the Systems Manager service. </p>",
          "box":true
        },
        "AgentVersion":{
          "shape":"Version",
          "documentation":"<p>The version of SSM Agent running on your Linux managed node. </p>"
        },
        "IsLatestVersion":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the latest version of SSM Agent is running on your Linux managed node. This field doesn't indicate whether or not the latest version is installed on Windows managed nodes, because some older versions of Windows Server use the EC2Config service to process Systems Manager requests.</p>",
          "box":true
        },
        "PlatformType":{
          "shape":"PlatformType",
          "documentation":"<p>The operating system platform type. </p>"
        },
        "PlatformName":{
          "shape":"String",
          "documentation":"<p>The name of the operating system platform running on your managed node. </p>"
        },
        "PlatformVersion":{
          "shape":"String",
          "documentation":"<p>The version of the OS platform running on your managed node. </p>"
        },
        "ActivationId":{
          "shape":"ActivationId",
          "documentation":"<p>The activation ID created by Amazon Web Services Systems Manager when the server or virtual machine (VM) was registered.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The Identity and Access Management (IAM) role assigned to the on-premises Systems Manager managed node. This call doesn't return the IAM role for Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html\">DescribeInstances</a> in the <i>Amazon EC2 API Reference</i> or <a href=\"https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html\">describe-instances</a> in the <i>Amazon Web Services CLI Command Reference</i>.</p>"
        },
        "RegistrationDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the server or VM was registered with Amazon Web Services as a managed node.</p>",
          "box":true
        },
        "ResourceType":{
          "shape":"ResourceType",
          "documentation":"<p>The type of instance. Instances are either EC2 instances or managed instances. </p>"
        },
        "Name":{
          "shape":"String",
          "documentation":"<p>The name assigned to an on-premises server, edge device, or virtual machine (VM) when it is activated as a Systems Manager managed node. The name is specified as the <code>DefaultInstanceName</code> property using the <a>CreateActivation</a> command. It is applied to the managed node by specifying the Activation Code and Activation ID when you install SSM Agent on the node, as explained in <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html\">Install SSM Agent for a hybrid environment (Linux)</a> and <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html\">Install SSM Agent for a hybrid environment (Windows)</a>. To retrieve the <code>Name</code> tag of an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html\">DescribeInstances</a> in the <i>Amazon EC2 API Reference</i> or <a href=\"https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html\">describe-instances</a> in the <i>Amazon Web Services CLI Command Reference</i>.</p>"
        },
        "IPAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The IP address of the managed node.</p>"
        },
        "ComputerName":{
          "shape":"ComputerName",
          "documentation":"<p>The fully qualified host name of the managed node.</p>"
        },
        "AssociationStatus":{
          "shape":"StatusName",
          "documentation":"<p>The status of the association.</p>"
        },
        "LastAssociationExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the association was last run.</p>"
        },
        "LastSuccessfulAssociationExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The last date the association was successfully run.</p>"
        },
        "AssociationOverview":{
          "shape":"InstanceAggregatedAssociationOverview",
          "documentation":"<p>Information about the association.</p>"
        },
        "SourceId":{
          "shape":"SourceId",
          "documentation":"<p>The ID of the source resource. For IoT Greengrass devices, <code>SourceId</code> is the Thing name. </p>"
        },
        "SourceType":{
          "shape":"SourceType",
          "documentation":"<p>The type of the source resource. For IoT Greengrass devices, <code>SourceType</code> is <code>AWS::IoT::Thing</code>. </p>"
        }
      },
      "documentation":"<p>Describes a filter for a specific list of managed nodes. </p>"
    },
    "InstanceInformationFilter":{
      "type":"structure",
      "required":[
        "key",
        "valueSet"
      ],
      "members":{
        "key":{
          "shape":"InstanceInformationFilterKey",
          "documentation":"<p>The name of the filter. </p>"
        },
        "valueSet":{
          "shape":"InstanceInformationFilterValueSet",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>Describes a filter for a specific list of managed nodes. You can filter node information by using tags. You specify tags by using a key-value mapping.</p> <p>Use this operation instead of the <a>DescribeInstanceInformationRequest$InstanceInformationFilterList</a> method. The <code>InstanceInformationFilterList</code> method is a legacy method and doesn't support tags. </p>"
    },
    "InstanceInformationFilterKey":{
      "type":"string",
      "enum":[
        "InstanceIds",
        "AgentVersion",
        "PingStatus",
        "PlatformTypes",
        "ActivationIds",
        "IamRole",
        "ResourceType",
        "AssociationStatus"
      ]
    },
    "InstanceInformationFilterList":{
      "type":"list",
      "member":{"shape":"InstanceInformationFilter"},
      "min":0
    },
    "InstanceInformationFilterValue":{
      "type":"string",
      "min":1
    },
    "InstanceInformationFilterValueSet":{
      "type":"list",
      "member":{"shape":"InstanceInformationFilterValue"},
      "max":100,
      "min":1
    },
    "InstanceInformationList":{
      "type":"list",
      "member":{"shape":"InstanceInformation"}
    },
    "InstanceInformationStringFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"InstanceInformationStringFilterKey",
          "documentation":"<p>The filter key name to describe your managed nodes.</p> <p>Valid filter key values: ActivationIds | AgentVersion | AssociationStatus | IamRole | InstanceIds | PingStatus | PlatformTypes | ResourceType | SourceIds | SourceTypes | \"tag-key\" | \"tag:<code>{keyname}</code> </p> <ul> <li> <p>Valid values for the <code>AssociationStatus</code> filter key: Success | Pending | Failed</p> </li> <li> <p>Valid values for the <code>PingStatus</code> filter key: Online | ConnectionLost | Inactive (deprecated)</p> </li> <li> <p>Valid values for the <code>PlatformType</code> filter key: Windows | Linux | MacOS</p> </li> <li> <p>Valid values for the <code>ResourceType</code> filter key: EC2Instance | ManagedInstance</p> </li> <li> <p>Valid values for the <code>SourceType</code> filter key: AWS::EC2::Instance | AWS::SSM::ManagedInstance | AWS::IoT::Thing</p> </li> <li> <p>Valid tag examples: <code>Key=tag-key,Values=Purpose</code> | <code>Key=tag:Purpose,Values=Test</code>.</p> </li> </ul>"
        },
        "Values":{
          "shape":"InstanceInformationFilterValueSet",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>The filters to describe or get information about your managed nodes.</p>"
    },
    "InstanceInformationStringFilterKey":{
      "type":"string",
      "min":1
    },
    "InstanceInformationStringFilterList":{
      "type":"list",
      "member":{"shape":"InstanceInformationStringFilter"},
      "min":0
    },
    "InstancePatchState":{
      "type":"structure",
      "required":[
        "InstanceId",
        "PatchGroup",
        "BaselineId",
        "OperationStartTime",
        "OperationEndTime",
        "Operation"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the managed node the high-level patch compliance information was collected for.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group the managed node belongs to.</p>"
        },
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline used to patch the managed node.</p>"
        },
        "SnapshotId":{
          "shape":"SnapshotId",
          "documentation":"<p>The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.</p>"
        },
        "InstallOverrideList":{
          "shape":"InstallOverrideList",
          "documentation":"<p>An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document <code>AWS-RunPatchBaseline</code>, overrides the patches specified by the default patch baseline.</p> <p>For more information about the <code>InstallOverrideList</code> parameter, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-about-aws-runpatchbaseline.html\">About the <code>AWS-RunPatchBaseline</code> </a> SSM document in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>Placeholder information. This field will always be empty in the current release of the service.</p>"
        },
        "InstalledCount":{
          "shape":"PatchInstalledCount",
          "documentation":"<p>The number of patches from the patch baseline that are installed on the managed node.</p>"
        },
        "InstalledOtherCount":{
          "shape":"PatchInstalledOtherCount",
          "documentation":"<p>The number of patches not specified in the patch baseline that are installed on the managed node.</p>"
        },
        "InstalledPendingRebootCount":{
          "shape":"PatchInstalledPendingRebootCount",
          "documentation":"<p>The number of patches installed by Patch Manager since the last time the managed node was rebooted.</p>",
          "box":true
        },
        "InstalledRejectedCount":{
          "shape":"PatchInstalledRejectedCount",
          "documentation":"<p>The number of patches installed on a managed node that are specified in a <code>RejectedPatches</code> list. Patches with a status of <code>InstalledRejected</code> were typically installed before they were added to a <code>RejectedPatches</code> list.</p> <note> <p>If <code>ALLOW_AS_DEPENDENCY</code> is the specified option for <code>RejectedPatchesAction</code>, the value of <code>InstalledRejectedCount</code> will always be <code>0</code> (zero).</p> </note>",
          "box":true
        },
        "MissingCount":{
          "shape":"PatchMissingCount",
          "documentation":"<p>The number of patches from the patch baseline that are applicable for the managed node but aren't currently installed.</p>"
        },
        "FailedCount":{
          "shape":"PatchFailedCount",
          "documentation":"<p>The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.</p>"
        },
        "UnreportedNotApplicableCount":{
          "shape":"PatchUnreportedNotApplicableCount",
          "documentation":"<p>The number of patches beyond the supported limit of <code>NotApplicableCount</code> that aren't reported by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager.</p>",
          "box":true
        },
        "NotApplicableCount":{
          "shape":"PatchNotApplicableCount",
          "documentation":"<p>The number of patches from the patch baseline that aren't applicable for the managed node and therefore aren't installed on the node. This number may be truncated if the list of patch names is very large. The number of patches beyond this limit are reported in <code>UnreportedNotApplicableCount</code>.</p>"
        },
        "OperationStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the most recent patching operation was started on the managed node.</p>"
        },
        "OperationEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the most recent patching operation completed on the managed node.</p>"
        },
        "Operation":{
          "shape":"PatchOperationType",
          "documentation":"<p>The type of patching operation that was performed: or </p> <ul> <li> <p> <code>SCAN</code> assesses the patch compliance state.</p> </li> <li> <p> <code>INSTALL</code> installs missing patches.</p> </li> </ul>"
        },
        "LastNoRebootInstallOperationTime":{
          "shape":"DateTime",
          "documentation":"<p>The time of the last attempt to patch the managed node with <code>NoReboot</code> specified as the reboot option.</p>"
        },
        "RebootOption":{
          "shape":"RebootOption",
          "documentation":"<p>Indicates the reboot option specified in the patch baseline.</p> <note> <p>Reboot options apply to <code>Install</code> operations only. Reboots aren't attempted for Patch Manager <code>Scan</code> operations.</p> </note> <ul> <li> <p> <code>RebootIfNeeded</code>: Patch Manager tries to reboot the managed node if it installed any patches, or if any patches are detected with a status of <code>InstalledPendingReboot</code>.</p> </li> <li> <p> <code>NoReboot</code>: Patch Manager attempts to install missing packages without trying to reboot the system. Patches installed with this option are assigned a status of <code>InstalledPendingReboot</code>. These patches might not be in effect until a reboot is performed.</p> </li> </ul>"
        },
        "CriticalNonCompliantCount":{
          "shape":"PatchCriticalNonCompliantCount",
          "documentation":"<p>The number of patches per node that are specified as <code>Critical</code> for compliance reporting in the patch baseline aren't installed. These patches might be missing, have failed installation, were rejected, or were installed but awaiting a required managed node reboot. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        },
        "SecurityNonCompliantCount":{
          "shape":"PatchSecurityNonCompliantCount",
          "documentation":"<p>The number of patches per node that are specified as <code>Security</code> in a patch advisory aren't installed. These patches might be missing, have failed installation, were rejected, or were installed but awaiting a required managed node reboot. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        },
        "OtherNonCompliantCount":{
          "shape":"PatchOtherNonCompliantCount",
          "documentation":"<p>The number of patches per node that are specified as other than <code>Critical</code> or <code>Security</code> but aren't compliant with the patch baseline. The status of these managed nodes is <code>NON_COMPLIANT</code>.</p>",
          "box":true
        }
      },
      "documentation":"<p>Defines the high-level patch compliance state for a managed node, providing information about the number of installed, missing, not applicable, and failed patches along with metadata about the operation when this information was gathered for the managed node.</p>"
    },
    "InstancePatchStateFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values",
        "Type"
      ],
      "members":{
        "Key":{
          "shape":"InstancePatchStateFilterKey",
          "documentation":"<p>The key for the filter. Supported values include the following:</p> <ul> <li> <p> <code>InstalledCount</code> </p> </li> <li> <p> <code>InstalledOtherCount</code> </p> </li> <li> <p> <code>InstalledPendingRebootCount</code> </p> </li> <li> <p> <code>InstalledRejectedCount</code> </p> </li> <li> <p> <code>MissingCount</code> </p> </li> <li> <p> <code>FailedCount</code> </p> </li> <li> <p> <code>UnreportedNotApplicableCount</code> </p> </li> <li> <p> <code>NotApplicableCount</code> </p> </li> </ul>"
        },
        "Values":{
          "shape":"InstancePatchStateFilterValues",
          "documentation":"<p>The value for the filter. Must be an integer greater than or equal to 0.</p>"
        },
        "Type":{
          "shape":"InstancePatchStateOperatorType",
          "documentation":"<p>The type of comparison that should be performed for the value.</p>"
        }
      },
      "documentation":"<p>Defines a filter used in <a>DescribeInstancePatchStatesForPatchGroup</a> to scope down the information returned by the API.</p> <p> <b>Example</b>: To filter for all managed nodes in a patch group having more than three patches with a <code>FailedCount</code> status, use the following for the filter:</p> <ul> <li> <p>Value for <code>Key</code>: <code>FailedCount</code> </p> </li> <li> <p>Value for <code>Type</code>: <code>GreaterThan</code> </p> </li> <li> <p>Value for <code>Values</code>: <code>3</code> </p> </li> </ul>"
    },
    "InstancePatchStateFilterKey":{
      "type":"string",
      "max":200,
      "min":1
    },
    "InstancePatchStateFilterList":{
      "type":"list",
      "member":{"shape":"InstancePatchStateFilter"},
      "max":4,
      "min":0
    },
    "InstancePatchStateFilterValue":{"type":"string"},
    "InstancePatchStateFilterValues":{
      "type":"list",
      "member":{"shape":"InstancePatchStateFilterValue"},
      "max":1,
      "min":1
    },
    "InstancePatchStateList":{
      "type":"list",
      "member":{"shape":"InstancePatchState"}
    },
    "InstancePatchStateOperatorType":{
      "type":"string",
      "enum":[
        "Equal",
        "NotEqual",
        "LessThan",
        "GreaterThan"
      ]
    },
    "InstancePatchStatesList":{
      "type":"list",
      "member":{"shape":"InstancePatchState"},
      "max":5,
      "min":1
    },
    "InstanceTagName":{
      "type":"string",
      "max":255
    },
    "InstancesCount":{"type":"integer"},
    "Integer":{"type":"integer"},
    "InternalServerError":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An error occurred on the server side.</p>",
      "exception":true,
      "fault":true
    },
    "InvalidActivation":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The activation isn't valid. The activation might have been deleted, or the ActivationId and the ActivationCode don't match.</p>",
      "exception":true
    },
    "InvalidActivationId":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The activation ID isn't valid. Verify the you entered the correct ActivationId or ActivationCode and try again.</p>",
      "exception":true
    },
    "InvalidAggregatorException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified aggregator isn't valid for inventory groups. Verify that the aggregator uses a valid inventory type such as <code>AWS:Application</code> or <code>AWS:InstanceInformation</code>.</p>",
      "exception":true
    },
    "InvalidAllowedPatternException":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>The request doesn't meet the regular expression requirement.</p>"
        }
      },
      "documentation":"<p>The request doesn't meet the regular expression requirement.</p>",
      "exception":true
    },
    "InvalidAssociation":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The association isn't valid or doesn't exist. </p>",
      "exception":true
    },
    "InvalidAssociationVersion":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The version you specified isn't valid. Use ListAssociationVersions to view all versions of an association according to the association ID. Or, use the <code>$LATEST</code> parameter to view the latest version of the association.</p>",
      "exception":true
    },
    "InvalidAutomationExecutionParametersException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The supplied parameters for invoking the specified Automation runbook are incorrect. For example, they may not match the set of parameters permitted for the specified Automation document.</p>",
      "exception":true
    },
    "InvalidAutomationSignalException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The signal isn't valid for the current Automation execution.</p>",
      "exception":true
    },
    "InvalidAutomationStatusUpdateException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified update status operation isn't valid.</p>",
      "exception":true
    },
    "InvalidCommandId":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The specified command ID isn't valid. Verify the ID and try again.</p>",
      "exception":true
    },
    "InvalidDeleteInventoryParametersException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>One or more of the parameters specified for the delete operation isn't valid. Verify all parameters and try again.</p>",
      "exception":true
    },
    "InvalidDeletionIdException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The ID specified for the delete operation doesn't exist or isn't valid. Verify the ID and try again.</p>",
      "exception":true
    },
    "InvalidDocument":{
      "type":"structure",
      "members":{
        "Message":{
          "shape":"String",
          "documentation":"<p>The SSM document doesn't exist or the document isn't available to the user. This exception can be issued by various API operations. </p>"
        }
      },
      "documentation":"<p>The specified SSM document doesn't exist.</p>",
      "exception":true
    },
    "InvalidDocumentContent":{
      "type":"structure",
      "members":{
        "Message":{
          "shape":"String",
          "documentation":"<p>A description of the validation error.</p>"
        }
      },
      "documentation":"<p>The content for the document isn't valid.</p>",
      "exception":true
    },
    "InvalidDocumentOperation":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You attempted to delete a document while it is still shared. You must stop sharing the document before you can delete it.</p>",
      "exception":true
    },
    "InvalidDocumentSchemaVersion":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The version of the document schema isn't supported.</p>",
      "exception":true
    },
    "InvalidDocumentType":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The SSM document type isn't valid. Valid document types are described in the <code>DocumentType</code> property.</p>",
      "exception":true
    },
    "InvalidDocumentVersion":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document version isn't valid or doesn't exist.</p>",
      "exception":true
    },
    "InvalidFilter":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The filter name isn't valid. Verify the you entered the correct name and try again.</p>",
      "exception":true
    },
    "InvalidFilterKey":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The specified key isn't valid.</p>",
      "exception":true
    },
    "InvalidFilterOption":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>The specified filter option isn't valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.</p>"
        }
      },
      "documentation":"<p>The specified filter option isn't valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.</p>",
      "exception":true
    },
    "InvalidFilterValue":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The filter value isn't valid. Verify the value and try again.</p>",
      "exception":true
    },
    "InvalidInstanceId":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The following problems can cause this exception:</p> <ul> <li> <p>You don't have permission to access the managed node.</p> </li> <li> <p>Amazon Web Services Systems Manager Agent(SSM Agent) isn't running. Verify that SSM Agent is running.</p> </li> <li> <p>SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM Agent.</p> </li> <li> <p>The managed node isn't in valid state. Valid states are: <code>Running</code>, <code>Pending</code>, <code>Stopped</code>, and <code>Stopping</code>. Invalid states are: <code>Shutting-down</code> and <code>Terminated</code>.</p> </li> </ul>",
      "exception":true
    },
    "InvalidInstanceInformationFilterValue":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The specified filter value isn't valid.</p>",
      "exception":true
    },
    "InvalidInventoryGroupException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified inventory group isn't valid.</p>",
      "exception":true
    },
    "InvalidInventoryItemContextException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You specified invalid keys or values in the <code>Context</code> attribute for <code>InventoryItem</code>. Verify the keys and values, and try again.</p>",
      "exception":true
    },
    "InvalidInventoryRequestException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The request isn't valid.</p>",
      "exception":true
    },
    "InvalidItemContentException":{
      "type":"structure",
      "members":{
        "TypeName":{"shape":"InventoryItemTypeName"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>One or more content items isn't valid.</p>",
      "exception":true
    },
    "InvalidKeyId":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The query key ID isn't valid.</p>",
      "exception":true
    },
    "InvalidNextToken":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified token isn't valid.</p>",
      "exception":true
    },
    "InvalidNotificationConfig":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>One or more configuration items isn't valid. Verify that a valid Amazon Resource Name (ARN) was provided for an Amazon Simple Notification Service topic.</p>",
      "exception":true
    },
    "InvalidOptionException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The delete inventory option specified isn't valid. Verify the option and try again.</p>",
      "exception":true
    },
    "InvalidOutputFolder":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The S3 bucket doesn't exist.</p>",
      "exception":true
    },
    "InvalidOutputLocation":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The output location isn't valid or doesn't exist.</p>",
      "exception":true
    },
    "InvalidParameters":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You must specify values for all required parameters in the Amazon Web Services Systems Manager document (SSM document). You can only supply values to parameters defined in the SSM document.</p>",
      "exception":true
    },
    "InvalidPermissionType":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The permission type isn't supported. <i>Share</i> is the only supported permission type.</p>",
      "exception":true
    },
    "InvalidPluginName":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The plugin name isn't valid.</p>",
      "exception":true
    },
    "InvalidPolicyAttributeException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>A policy attribute or its value is invalid. </p>",
      "exception":true
    },
    "InvalidPolicyTypeException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The policy type isn't supported. Parameter Store supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.</p>",
      "exception":true
    },
    "InvalidResourceId":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The resource ID isn't valid. Verify that you entered the correct ID and try again.</p>",
      "exception":true
    },
    "InvalidResourceType":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The resource type isn't valid. For example, if you are attempting to tag an EC2 instance, the instance must be a registered managed node.</p>",
      "exception":true
    },
    "InvalidResultAttributeException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified inventory item result attribute isn't valid.</p>",
      "exception":true
    },
    "InvalidRole":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The role name can't contain invalid characters. Also verify that you specified an IAM role for notifications that includes the required trust policy. For information about configuring the IAM role for Run Command notifications, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html\">Configuring Amazon SNS Notifications for Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>",
      "exception":true
    },
    "InvalidSchedule":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The schedule is invalid. Verify your cron or rate expression and try again.</p>",
      "exception":true
    },
    "InvalidTag":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified tag key or value isn't valid.</p>",
      "exception":true
    },
    "InvalidTarget":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The target isn't valid or doesn't exist. It might not be configured for Systems Manager or you might not have permission to perform the operation.</p>",
      "exception":true
    },
    "InvalidTargetMaps":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>TargetMap parameter isn't valid.</p>",
      "exception":true
    },
    "InvalidTypeNameException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The parameter type name isn't valid.</p>",
      "exception":true
    },
    "InvalidUpdate":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The update isn't valid.</p>",
      "exception":true
    },
    "InventoryAggregator":{
      "type":"structure",
      "members":{
        "Expression":{
          "shape":"InventoryAggregatorExpression",
          "documentation":"<p>The inventory type and attribute name for aggregation.</p>"
        },
        "Aggregators":{
          "shape":"InventoryAggregatorList",
          "documentation":"<p>Nested aggregators to further refine aggregation for an inventory type.</p>"
        },
        "Groups":{
          "shape":"InventoryGroupList",
          "documentation":"<p>A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.</p>"
        }
      },
      "documentation":"<p>Specifies the inventory type and attribute for the aggregation execution.</p>"
    },
    "InventoryAggregatorExpression":{
      "type":"string",
      "max":1000,
      "min":1
    },
    "InventoryAggregatorList":{
      "type":"list",
      "member":{"shape":"InventoryAggregator"},
      "max":10,
      "min":1
    },
    "InventoryAttributeDataType":{
      "type":"string",
      "enum":[
        "string",
        "number"
      ]
    },
    "InventoryDeletionLastStatusMessage":{"type":"string"},
    "InventoryDeletionLastStatusUpdateTime":{"type":"timestamp"},
    "InventoryDeletionStartTime":{"type":"timestamp"},
    "InventoryDeletionStatus":{
      "type":"string",
      "enum":[
        "InProgress",
        "Complete"
      ]
    },
    "InventoryDeletionStatusItem":{
      "type":"structure",
      "members":{
        "DeletionId":{
          "shape":"UUID",
          "documentation":"<p>The deletion ID returned by the <code>DeleteInventory</code> operation.</p>"
        },
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The name of the inventory data type.</p>"
        },
        "DeletionStartTime":{
          "shape":"InventoryDeletionStartTime",
          "documentation":"<p>The UTC timestamp when the delete operation started.</p>"
        },
        "LastStatus":{
          "shape":"InventoryDeletionStatus",
          "documentation":"<p>The status of the operation. Possible values are InProgress and Complete.</p>"
        },
        "LastStatusMessage":{
          "shape":"InventoryDeletionLastStatusMessage",
          "documentation":"<p>Information about the status.</p>"
        },
        "DeletionSummary":{
          "shape":"InventoryDeletionSummary",
          "documentation":"<p>Information about the delete operation. For more information about this summary, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-custom.html#sysman-inventory-delete\">Understanding the delete inventory summary</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "LastStatusUpdateTime":{
          "shape":"InventoryDeletionLastStatusUpdateTime",
          "documentation":"<p>The UTC timestamp of when the last status report.</p>"
        }
      },
      "documentation":"<p>Status information returned by the <code>DeleteInventory</code> operation.</p>"
    },
    "InventoryDeletionSummary":{
      "type":"structure",
      "members":{
        "TotalCount":{
          "shape":"TotalCount",
          "documentation":"<p>The total number of items to delete. This count doesn't change during the delete operation.</p>"
        },
        "RemainingCount":{
          "shape":"RemainingCount",
          "documentation":"<p>Remaining number of items to delete.</p>"
        },
        "SummaryItems":{
          "shape":"InventoryDeletionSummaryItems",
          "documentation":"<p>A list of counts and versions for deleted items.</p>"
        }
      },
      "documentation":"<p>Information about the delete operation.</p>"
    },
    "InventoryDeletionSummaryItem":{
      "type":"structure",
      "members":{
        "Version":{
          "shape":"InventoryItemSchemaVersion",
          "documentation":"<p>The inventory type version.</p>"
        },
        "Count":{
          "shape":"ResourceCount",
          "documentation":"<p>A count of the number of deleted items.</p>"
        },
        "RemainingCount":{
          "shape":"RemainingCount",
          "documentation":"<p>The remaining number of items to delete.</p>"
        }
      },
      "documentation":"<p>Either a count, remaining count, or a version number in a delete inventory summary.</p>"
    },
    "InventoryDeletionSummaryItems":{
      "type":"list",
      "member":{"shape":"InventoryDeletionSummaryItem"}
    },
    "InventoryDeletionsList":{
      "type":"list",
      "member":{"shape":"InventoryDeletionStatusItem"}
    },
    "InventoryFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"InventoryFilterKey",
          "documentation":"<p>The name of the filter key.</p>"
        },
        "Values":{
          "shape":"InventoryFilterValueList",
          "documentation":"<p>Inventory filter values. Example: inventory filter where managed node IDs are specified as values <code>Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal</code>. </p>"
        },
        "Type":{
          "shape":"InventoryQueryOperatorType",
          "documentation":"<p>The type of filter.</p> <note> <p>The <code>Exists</code> filter must be used with aggregators. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-aggregate.html\">Aggregating inventory data</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </note>"
        }
      },
      "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
    },
    "InventoryFilterKey":{
      "type":"string",
      "max":200,
      "min":1
    },
    "InventoryFilterList":{
      "type":"list",
      "member":{"shape":"InventoryFilter"},
      "max":5,
      "min":1
    },
    "InventoryFilterValue":{"type":"string"},
    "InventoryFilterValueList":{
      "type":"list",
      "member":{"shape":"InventoryFilterValue"},
      "max":40,
      "min":1
    },
    "InventoryGroup":{
      "type":"structure",
      "required":[
        "Name",
        "Filters"
      ],
      "members":{
        "Name":{
          "shape":"InventoryGroupName",
          "documentation":"<p>The name of the group.</p>"
        },
        "Filters":{
          "shape":"InventoryFilterList",
          "documentation":"<p>Filters define the criteria for the group. The <code>matchingCount</code> field displays the number of resources that match the criteria. The <code>notMatchingCount</code> field displays the number of resources that don't match the criteria. </p>"
        }
      },
      "documentation":"<p>A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.</p>"
    },
    "InventoryGroupList":{
      "type":"list",
      "member":{"shape":"InventoryGroup"},
      "max":15,
      "min":1
    },
    "InventoryGroupName":{
      "type":"string",
      "max":200,
      "min":1
    },
    "InventoryItem":{
      "type":"structure",
      "required":[
        "TypeName",
        "SchemaVersion",
        "CaptureTime"
      ],
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The name of the inventory type. Default inventory item type names start with <code>AWS</code>. Custom inventory type names will start with Custom. Default inventory item types include the following: <code>AWS:AWSComponent</code>, <code>AWS:Application</code>, <code>AWS:InstanceInformation</code>, <code>AWS:Network</code>, and <code>AWS:WindowsUpdate</code>.</p>"
        },
        "SchemaVersion":{
          "shape":"InventoryItemSchemaVersion",
          "documentation":"<p>The schema version for the inventory item.</p>"
        },
        "CaptureTime":{
          "shape":"InventoryItemCaptureTime",
          "documentation":"<p>The time the inventory information was collected.</p>"
        },
        "ContentHash":{
          "shape":"InventoryItemContentHash",
          "documentation":"<p>MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API doesn't update the inventory item type contents if the MD5 hash hasn't changed since last update. </p>"
        },
        "Content":{
          "shape":"InventoryItemEntryList",
          "documentation":"<p>The inventory data of the inventory type.</p>"
        },
        "Context":{
          "shape":"InventoryItemContentContext",
          "documentation":"<p>A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the <code>ExecutionId</code>, <code>ExecutionType</code>, <code>ComplianceType</code> properties of the <code>AWS:ComplianceItem</code> type.</p>"
        }
      },
      "documentation":"<p>Information collected from managed nodes based on your inventory policy document</p>"
    },
    "InventoryItemAttribute":{
      "type":"structure",
      "required":[
        "Name",
        "DataType"
      ],
      "members":{
        "Name":{
          "shape":"InventoryItemAttributeName",
          "documentation":"<p>Name of the inventory item attribute.</p>"
        },
        "DataType":{
          "shape":"InventoryAttributeDataType",
          "documentation":"<p>The data type of the inventory item attribute. </p>"
        }
      },
      "documentation":"<p>Attributes are the entries within the inventory item content. It contains name and value.</p>"
    },
    "InventoryItemAttributeList":{
      "type":"list",
      "member":{"shape":"InventoryItemAttribute"},
      "max":50,
      "min":1
    },
    "InventoryItemAttributeName":{"type":"string"},
    "InventoryItemCaptureTime":{
      "type":"string",
      "pattern":"^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$"
    },
    "InventoryItemContentContext":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"},
      "max":50,
      "min":0
    },
    "InventoryItemContentHash":{
      "type":"string",
      "max":256
    },
    "InventoryItemEntry":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"},
      "max":50,
      "min":0
    },
    "InventoryItemEntryList":{
      "type":"list",
      "member":{"shape":"InventoryItemEntry"},
      "max":10000,
      "min":0
    },
    "InventoryItemList":{
      "type":"list",
      "member":{"shape":"InventoryItem"},
      "max":30,
      "min":1
    },
    "InventoryItemSchema":{
      "type":"structure",
      "required":[
        "TypeName",
        "Attributes"
      ],
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The name of the inventory type. Default inventory item type names start with Amazon Web Services. Custom inventory type names will start with Custom. Default inventory item types include the following: <code>AWS:AWSComponent</code>, <code>AWS:Application</code>, <code>AWS:InstanceInformation</code>, <code>AWS:Network</code>, and <code>AWS:WindowsUpdate</code>.</p>"
        },
        "Version":{
          "shape":"InventoryItemSchemaVersion",
          "documentation":"<p>The schema version for the inventory item.</p>"
        },
        "Attributes":{
          "shape":"InventoryItemAttributeList",
          "documentation":"<p>The schema attributes for inventory. This contains data type and attribute name.</p>"
        },
        "DisplayName":{
          "shape":"InventoryTypeDisplayName",
          "documentation":"<p>The alias name of the inventory type. The alias name is used for display purposes.</p>"
        }
      },
      "documentation":"<p>The inventory item schema definition. Users can use this to compose inventory query filters.</p>"
    },
    "InventoryItemSchemaResultList":{
      "type":"list",
      "member":{"shape":"InventoryItemSchema"}
    },
    "InventoryItemSchemaVersion":{
      "type":"string",
      "pattern":"^([0-9]{1,6})(\\.[0-9]{1,6})$"
    },
    "InventoryItemTypeName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"^(AWS|Custom):.*$"
    },
    "InventoryItemTypeNameFilter":{
      "type":"string",
      "max":100,
      "min":0
    },
    "InventoryQueryOperatorType":{
      "type":"string",
      "enum":[
        "Equal",
        "NotEqual",
        "BeginWith",
        "LessThan",
        "GreaterThan",
        "Exists"
      ]
    },
    "InventoryResultEntity":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"InventoryResultEntityId",
          "documentation":"<p>ID of the inventory result entity. For example, for managed node inventory the result will be the managed node ID. For EC2 instance inventory, the result will be the instance ID. </p>"
        },
        "Data":{
          "shape":"InventoryResultItemMap",
          "documentation":"<p>The data section in the inventory result entity JSON.</p>"
        }
      },
      "documentation":"<p>Inventory query results.</p>"
    },
    "InventoryResultEntityId":{"type":"string"},
    "InventoryResultEntityList":{
      "type":"list",
      "member":{"shape":"InventoryResultEntity"}
    },
    "InventoryResultItem":{
      "type":"structure",
      "required":[
        "TypeName",
        "SchemaVersion",
        "Content"
      ],
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The name of the inventory result item type.</p>"
        },
        "SchemaVersion":{
          "shape":"InventoryItemSchemaVersion",
          "documentation":"<p>The schema version for the inventory result item/</p>"
        },
        "CaptureTime":{
          "shape":"InventoryItemCaptureTime",
          "documentation":"<p>The time inventory item data was captured.</p>"
        },
        "ContentHash":{
          "shape":"InventoryItemContentHash",
          "documentation":"<p>MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API doesn't update the inventory item type contents if the MD5 hash hasn't changed since last update. </p>"
        },
        "Content":{
          "shape":"InventoryItemEntryList",
          "documentation":"<p>Contains all the inventory data of the item type. Results include attribute names and values. </p>"
        }
      },
      "documentation":"<p>The inventory result item.</p>"
    },
    "InventoryResultItemKey":{"type":"string"},
    "InventoryResultItemMap":{
      "type":"map",
      "key":{"shape":"InventoryResultItemKey"},
      "value":{"shape":"InventoryResultItem"}
    },
    "InventorySchemaDeleteOption":{
      "type":"string",
      "enum":[
        "DisableSchema",
        "DeleteSchema"
      ]
    },
    "InventoryTypeDisplayName":{"type":"string"},
    "InvocationDoesNotExist":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The command ID and managed node ID you specified didn't match any invocations. Verify the command ID and the managed node ID and try again. </p>",
      "exception":true
    },
    "InvocationTraceOutput":{
      "type":"string",
      "max":2500
    },
    "IsSubTypeSchema":{"type":"boolean"},
    "ItemContentMismatchException":{
      "type":"structure",
      "members":{
        "TypeName":{"shape":"InventoryItemTypeName"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The inventory item has invalid content. </p>",
      "exception":true
    },
    "ItemSizeLimitExceededException":{
      "type":"structure",
      "members":{
        "TypeName":{"shape":"InventoryItemTypeName"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The inventory item size has exceeded the size limit.</p>",
      "exception":true
    },
    "KeyList":{
      "type":"list",
      "member":{"shape":"TagKey"}
    },
    "LabelParameterVersionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Labels"
      ],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The parameter name on which you want to attach one or more labels.</p>"
        },
        "ParameterVersion":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The specific version of the parameter on which you want to attach one or more labels. If no version is specified, the system attaches the label to the latest version.</p>",
          "box":true
        },
        "Labels":{
          "shape":"ParameterLabelList",
          "documentation":"<p>One or more labels to attach to the specified parameter version.</p>"
        }
      }
    },
    "LabelParameterVersionResult":{
      "type":"structure",
      "members":{
        "InvalidLabels":{
          "shape":"ParameterLabelList",
          "documentation":"<p>The label doesn't meet the requirements. For information about parameter label requirements, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html\">Labeling parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "ParameterVersion":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The version of the parameter that has been labeled.</p>"
        }
      }
    },
    "LastResourceDataSyncMessage":{"type":"string"},
    "LastResourceDataSyncStatus":{
      "type":"string",
      "enum":[
        "Successful",
        "Failed",
        "InProgress"
      ]
    },
    "LastResourceDataSyncTime":{"type":"timestamp"},
    "LastSuccessfulResourceDataSyncTime":{"type":"timestamp"},
    "ListAssociationVersionsRequest":{
      "type":"structure",
      "required":["AssociationId"],
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID for which you want to view all versions.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        }
      }
    },
    "ListAssociationVersionsResult":{
      "type":"structure",
      "members":{
        "AssociationVersions":{
          "shape":"AssociationVersionList",
          "documentation":"<p>Information about all versions of the association for the specified association ID.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListAssociationsRequest":{
      "type":"structure",
      "members":{
        "AssociationFilterList":{
          "shape":"AssociationFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p> <note> <p>Filtering associations using the <code>InstanceID</code> attribute only returns legacy associations created using the <code>InstanceID</code> attribute. Associations targeting the managed node that are part of the Target Attributes <code>ResourceGroup</code> or <code>Tags</code> aren't returned.</p> </note>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "ListAssociationsResult":{
      "type":"structure",
      "members":{
        "Associations":{
          "shape":"AssociationList",
          "documentation":"<p>The associations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "ListCommandInvocationsRequest":{
      "type":"structure",
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>(Optional) The invocations for a specific command ID.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>(Optional) The command execution details for a specific managed node ID.</p>"
        },
        "MaxResults":{
          "shape":"CommandMaxResults",
          "documentation":"<p>(Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>(Optional) The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "Filters":{
          "shape":"CommandFilterList",
          "documentation":"<p>(Optional) One or more filters. Use a filter to return a more specific list of results.</p>"
        },
        "Details":{
          "shape":"Boolean",
          "documentation":"<p>(Optional) If set this returns the response of the command executions and any command output. The default value is <code>false</code>. </p>"
        }
      }
    },
    "ListCommandInvocationsResult":{
      "type":"structure",
      "members":{
        "CommandInvocations":{
          "shape":"CommandInvocationList",
          "documentation":"<p>(Optional) A list of all invocations. </p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>(Optional) The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "ListCommandsRequest":{
      "type":"structure",
      "members":{
        "CommandId":{
          "shape":"CommandId",
          "documentation":"<p>(Optional) If provided, lists only the specified command.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>(Optional) Lists commands issued against this managed node ID.</p> <note> <p>You can't specify a managed node ID in the same command that you specify <code>Status</code> = <code>Pending</code>. This is because the command hasn't reached the managed node yet.</p> </note>"
        },
        "MaxResults":{
          "shape":"CommandMaxResults",
          "documentation":"<p>(Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>(Optional) The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "Filters":{
          "shape":"CommandFilterList",
          "documentation":"<p>(Optional) One or more filters. Use a filter to return a more specific list of results. </p>"
        }
      }
    },
    "ListCommandsResult":{
      "type":"structure",
      "members":{
        "Commands":{
          "shape":"CommandList",
          "documentation":"<p>(Optional) The list of commands requested by the user. </p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>(Optional) The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "ListComplianceItemsRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"ComplianceStringFilterList",
          "documentation":"<p>One or more compliance filters. Use a filter to return a more specific list of results.</p>"
        },
        "ResourceIds":{
          "shape":"ComplianceResourceIdList",
          "documentation":"<p>The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.</p>"
        },
        "ResourceTypes":{
          "shape":"ComplianceResourceTypeList",
          "documentation":"<p>The type of resource from which to get compliance information. Currently, the only supported resource type is <code>ManagedInstance</code>.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "ListComplianceItemsResult":{
      "type":"structure",
      "members":{
        "ComplianceItems":{
          "shape":"ComplianceItemList",
          "documentation":"<p>A list of compliance information for the specified resource ID. </p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListComplianceSummariesRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"ComplianceStringFilterList",
          "documentation":"<p>One or more compliance or inventory filters. Use a filter to return a more specific list of results.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "ListComplianceSummariesResult":{
      "type":"structure",
      "members":{
        "ComplianceSummaryItems":{
          "shape":"ComplianceSummaryItemList",
          "documentation":"<p>A list of compliant and non-compliant summary counts based on compliance types. For example, this call returns State Manager associations, patches, or custom compliance types according to the filter criteria that you specified.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListDocumentMetadataHistoryRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Metadata"
      ],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the change template.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the change template.</p>"
        },
        "Metadata":{
          "shape":"DocumentMetadataEnum",
          "documentation":"<p>The type of data for which details are being requested. Currently, the only supported value is <code>DocumentReviews</code>.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "ListDocumentMetadataHistoryResponse":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the change template.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the change template.</p>"
        },
        "Author":{
          "shape":"DocumentAuthor",
          "documentation":"<p>The user ID of the person in the organization who requested the review of the change template.</p>"
        },
        "Metadata":{
          "shape":"DocumentMetadataResponseInfo",
          "documentation":"<p>Information about the response to the change template approval request.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>"
        }
      }
    },
    "ListDocumentVersionsRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the document. You can specify an Amazon Resource Name (ARN).</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "ListDocumentVersionsResult":{
      "type":"structure",
      "members":{
        "DocumentVersions":{
          "shape":"DocumentVersionList",
          "documentation":"<p>The document versions.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "ListDocumentsRequest":{
      "type":"structure",
      "members":{
        "DocumentFilterList":{
          "shape":"DocumentFilterList",
          "documentation":"<p>This data type is deprecated. Instead, use <code>Filters</code>.</p>"
        },
        "Filters":{
          "shape":"DocumentKeyValuesFilterList",
          "documentation":"<p>One or more <code>DocumentKeyValuesFilter</code> objects. Use a filter to return a more specific list of results. For keys, you can specify one or more key-value pair tags that have been applied to a document. Other valid keys include <code>Owner</code>, <code>Name</code>, <code>PlatformTypes</code>, <code>DocumentType</code>, and <code>TargetType</code>. For example, to return documents you own use <code>Key=Owner,Values=Self</code>. To specify a custom key-value pair, use the format <code>Key=tag:tagName,Values=valueName</code>.</p> <note> <p>This API operation only supports filtering documents by using a single tag key and one or more tag values. For example: <code>Key=tag:tagName,Values=valueName1,valueName2</code> </p> </note>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "ListDocumentsResult":{
      "type":"structure",
      "members":{
        "DocumentIdentifiers":{
          "shape":"DocumentIdentifierList",
          "documentation":"<p>The names of the SSM documents.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "ListInventoryEntriesRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "TypeName"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID for which you want inventory information.</p>"
        },
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The type of inventory item for which you want information.</p>"
        },
        "Filters":{
          "shape":"InventoryFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "ListInventoryEntriesResult":{
      "type":"structure",
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>The type of inventory item returned by the request.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID targeted by the request to query inventory information.</p>"
        },
        "SchemaVersion":{
          "shape":"InventoryItemSchemaVersion",
          "documentation":"<p>The inventory schema version used by the managed node(s).</p>"
        },
        "CaptureTime":{
          "shape":"InventoryItemCaptureTime",
          "documentation":"<p>The time that inventory information was collected for the managed node(s).</p>"
        },
        "Entries":{
          "shape":"InventoryItemEntryList",
          "documentation":"<p>A list of inventory items on the managed node(s).</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "ListOpsItemEventsRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"OpsItemEventFilters",
          "documentation":"<p>One or more OpsItem filters. Use a filter to return a more specific list of results. </p>"
        },
        "MaxResults":{
          "shape":"OpsItemEventMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. </p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        }
      }
    },
    "ListOpsItemEventsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results. </p>"
        },
        "Summaries":{
          "shape":"OpsItemEventSummaries",
          "documentation":"<p>A list of event information for the specified OpsItems.</p>"
        }
      }
    },
    "ListOpsItemRelatedItemsRequest":{
      "type":"structure",
      "members":{
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem for which you want to list all related-item resources.</p>"
        },
        "Filters":{
          "shape":"OpsItemRelatedItemsFilters",
          "documentation":"<p>One or more OpsItem filters. Use a filter to return a more specific list of results. </p>"
        },
        "MaxResults":{
          "shape":"OpsItemRelatedItemsMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>The token for the next set of items to return. (You received this token from a previous call.)</p>"
        }
      }
    },
    "ListOpsItemRelatedItemsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        },
        "Summaries":{
          "shape":"OpsItemRelatedItemSummaries",
          "documentation":"<p>A list of related-item resources for the specified OpsItem.</p>"
        }
      }
    },
    "ListOpsMetadataMaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "ListOpsMetadataRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"OpsMetadataFilterList",
          "documentation":"<p>One or more filters to limit the number of OpsMetadata objects returned by the call.</p>"
        },
        "MaxResults":{
          "shape":"ListOpsMetadataMaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListOpsMetadataResult":{
      "type":"structure",
      "members":{
        "OpsMetadataList":{
          "shape":"OpsMetadataList",
          "documentation":"<p>Returns a list of OpsMetadata objects.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListResourceComplianceSummariesRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"ComplianceStringFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "ListResourceComplianceSummariesResult":{
      "type":"structure",
      "members":{
        "ResourceComplianceSummaryItems":{
          "shape":"ResourceComplianceSummaryItemList",
          "documentation":"<p>A summary count for specified or targeted managed nodes. Summary count includes information about compliant and non-compliant State Manager associations, patch status, or custom items according to the filter criteria that you specify. </p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListResourceDataSyncRequest":{
      "type":"structure",
      "members":{
        "SyncType":{
          "shape":"ResourceDataSyncType",
          "documentation":"<p>View a list of resource data syncs according to the sync type. Specify <code>SyncToDestination</code> to view resource data syncs that synchronize data to an Amazon S3 bucket. Specify <code>SyncFromSource</code> to view resource data syncs from Organizations or from multiple Amazon Web Services Regions.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>",
          "box":true
        }
      }
    },
    "ListResourceDataSyncResult":{
      "type":"structure",
      "members":{
        "ResourceDataSyncItems":{
          "shape":"ResourceDataSyncItemList",
          "documentation":"<p>A list of your current resource data sync configurations and their statuses.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceType",
        "ResourceId"
      ],
      "members":{
        "ResourceType":{
          "shape":"ResourceTypeForTagging",
          "documentation":"<p>Returns a list of tags for a specific resource type.</p>"
        },
        "ResourceId":{
          "shape":"ResourceId",
          "documentation":"<p>The resource ID for which you want to see a list of tags.</p>"
        }
      }
    },
    "ListTagsForResourceResult":{
      "type":"structure",
      "members":{
        "TagList":{
          "shape":"TagList",
          "documentation":"<p>A list of tags.</p>"
        }
      }
    },
    "LoggingInfo":{
      "type":"structure",
      "required":[
        "S3BucketName",
        "S3Region"
      ],
      "members":{
        "S3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The name of an S3 bucket where execution logs are stored.</p>"
        },
        "S3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>(Optional) The S3 bucket subfolder. </p>"
        },
        "S3Region":{
          "shape":"S3Region",
          "documentation":"<p>The Amazon Web Services Region where the S3 bucket is located.</p>"
        }
      },
      "documentation":"<p>Information about an Amazon Simple Storage Service (Amazon S3) bucket to write managed node-level logs to.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
    },
    "Long":{"type":"long"},
    "MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"},
    "MaintenanceWindowAutomationParameters":{
      "type":"structure",
      "members":{
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of an Automation runbook to use during task execution.</p>"
        },
        "Parameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The parameters for the <code>AUTOMATION</code> task.</p> <p>For information about specifying and updating task parameters, see <a>RegisterTaskWithMaintenanceWindow</a> and <a>UpdateMaintenanceWindowTask</a>.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p>For <code>AUTOMATION</code> task types, Amazon Web Services Systems Manager ignores any values specified for these parameters.</p> </note>"
        }
      },
      "documentation":"<p>The parameters for an <code>AUTOMATION</code> task type.</p>"
    },
    "MaintenanceWindowCutoff":{
      "type":"integer",
      "max":23,
      "min":0
    },
    "MaintenanceWindowDescription":{
      "type":"string",
      "max":128,
      "min":1,
      "sensitive":true
    },
    "MaintenanceWindowDurationHours":{
      "type":"integer",
      "max":24,
      "min":1
    },
    "MaintenanceWindowEnabled":{"type":"boolean"},
    "MaintenanceWindowExecution":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window.</p>"
        },
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution.</p>"
        },
        "Status":{
          "shape":"MaintenanceWindowExecutionStatus",
          "documentation":"<p>The status of the execution.</p>"
        },
        "StatusDetails":{
          "shape":"MaintenanceWindowExecutionStatusDetails",
          "documentation":"<p>The details explaining the status. Not available for all status values.</p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution started.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution finished.</p>"
        }
      },
      "documentation":"<p>Describes the information about an execution of a maintenance window. </p>"
    },
    "MaintenanceWindowExecutionId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
    },
    "MaintenanceWindowExecutionList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowExecution"}
    },
    "MaintenanceWindowExecutionStatus":{
      "type":"string",
      "enum":[
        "PENDING",
        "IN_PROGRESS",
        "SUCCESS",
        "FAILED",
        "TIMED_OUT",
        "CANCELLING",
        "CANCELLED",
        "SKIPPED_OVERLAPPING"
      ]
    },
    "MaintenanceWindowExecutionStatusDetails":{
      "type":"string",
      "max":250,
      "min":0
    },
    "MaintenanceWindowExecutionTaskExecutionId":{"type":"string"},
    "MaintenanceWindowExecutionTaskId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
    },
    "MaintenanceWindowExecutionTaskIdList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowExecutionTaskId"}
    },
    "MaintenanceWindowExecutionTaskIdentity":{
      "type":"structure",
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution that ran the task.</p>"
        },
        "TaskExecutionId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The ID of the specific task execution in the maintenance window execution.</p>"
        },
        "Status":{
          "shape":"MaintenanceWindowExecutionStatus",
          "documentation":"<p>The status of the task execution.</p>"
        },
        "StatusDetails":{
          "shape":"MaintenanceWindowExecutionStatusDetails",
          "documentation":"<p>The details explaining the status of the task execution. Not available for all status values.</p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the task execution started.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the task execution finished.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the task that ran.</p>"
        },
        "TaskType":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task that ran.</p>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm applied to your maintenance window task.</p>"
        },
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarm that was invoked by the maintenance window task.</p>"
        }
      },
      "documentation":"<p>Information about a task execution performed as part of a maintenance window execution.</p>"
    },
    "MaintenanceWindowExecutionTaskIdentityList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowExecutionTaskIdentity"}
    },
    "MaintenanceWindowExecutionTaskInvocationId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
    },
    "MaintenanceWindowExecutionTaskInvocationIdentity":{
      "type":"structure",
      "members":{
        "WindowExecutionId":{
          "shape":"MaintenanceWindowExecutionId",
          "documentation":"<p>The ID of the maintenance window execution that ran the task.</p>"
        },
        "TaskExecutionId":{
          "shape":"MaintenanceWindowExecutionTaskId",
          "documentation":"<p>The ID of the specific task execution in the maintenance window execution.</p>"
        },
        "InvocationId":{
          "shape":"MaintenanceWindowExecutionTaskInvocationId",
          "documentation":"<p>The ID of the task invocation.</p>"
        },
        "ExecutionId":{
          "shape":"MaintenanceWindowExecutionTaskExecutionId",
          "documentation":"<p>The ID of the action performed in the service that actually handled the task invocation. If the task type is <code>RUN_COMMAND</code>, this value is the command ID.</p>"
        },
        "TaskType":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The task type.</p>"
        },
        "Parameters":{
          "shape":"MaintenanceWindowExecutionTaskInvocationParameters",
          "documentation":"<p>The parameters that were provided for the invocation when it was run.</p>"
        },
        "Status":{
          "shape":"MaintenanceWindowExecutionStatus",
          "documentation":"<p>The status of the task invocation.</p>"
        },
        "StatusDetails":{
          "shape":"MaintenanceWindowExecutionStatusDetails",
          "documentation":"<p>The details explaining the status of the task invocation. Not available for all status values. </p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the invocation started.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the invocation finished.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>User-provided value that was specified when the target was registered with the maintenance window. This was also included in any Amazon CloudWatch Events events raised during the task invocation.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTaskTargetId",
          "documentation":"<p>The ID of the target definition in this maintenance window the invocation was performed for.</p>"
        }
      },
      "documentation":"<p>Describes the information about a task invocation for a particular target as part of a task execution performed as part of a maintenance window execution.</p>"
    },
    "MaintenanceWindowExecutionTaskInvocationIdentityList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowExecutionTaskInvocationIdentity"}
    },
    "MaintenanceWindowExecutionTaskInvocationParameters":{
      "type":"string",
      "sensitive":true
    },
    "MaintenanceWindowFilter":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"MaintenanceWindowFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "Values":{
          "shape":"MaintenanceWindowFilterValues",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>Filter used in the request. Supported filter keys depend on the API operation that includes the filter. API operations that use <code>MaintenanceWindowFilter&gt;</code> include the following:</p> <ul> <li> <p> <a>DescribeMaintenanceWindowExecutions</a> </p> </li> <li> <p> <a>DescribeMaintenanceWindowExecutionTaskInvocations</a> </p> </li> <li> <p> <a>DescribeMaintenanceWindowExecutionTasks</a> </p> </li> <li> <p> <a>DescribeMaintenanceWindows</a> </p> </li> <li> <p> <a>DescribeMaintenanceWindowTargets</a> </p> </li> <li> <p> <a>DescribeMaintenanceWindowTasks</a> </p> </li> </ul>"
    },
    "MaintenanceWindowFilterKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "MaintenanceWindowFilterList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowFilter"},
      "max":5,
      "min":0
    },
    "MaintenanceWindowFilterValue":{
      "type":"string",
      "max":256,
      "min":1
    },
    "MaintenanceWindowFilterValues":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowFilterValue"}
    },
    "MaintenanceWindowId":{
      "type":"string",
      "max":20,
      "min":20,
      "pattern":"^mw-[0-9a-f]{17}$"
    },
    "MaintenanceWindowIdentity":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>A description of the maintenance window.</p>"
        },
        "Enabled":{
          "shape":"MaintenanceWindowEnabled",
          "documentation":"<p>Indicates whether the maintenance window is enabled.</p>"
        },
        "Duration":{
          "shape":"MaintenanceWindowDurationHours",
          "documentation":"<p>The duration of the maintenance window in hours.</p>"
        },
        "Cutoff":{
          "shape":"MaintenanceWindowCutoff",
          "documentation":"<p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the maintenance window in the form of a cron or rate expression.</p>"
        },
        "ScheduleTimezone":{
          "shape":"MaintenanceWindowTimezone",
          "documentation":"<p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.</p>"
        },
        "ScheduleOffset":{
          "shape":"MaintenanceWindowOffset",
          "documentation":"<p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>",
          "box":true
        },
        "EndDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.</p>"
        },
        "StartDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active.</p>"
        },
        "NextExecutionTime":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.</p>"
        }
      },
      "documentation":"<p>Information about the maintenance window.</p>"
    },
    "MaintenanceWindowIdentityForTarget":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window.</p>"
        }
      },
      "documentation":"<p>The maintenance window to which the specified target belongs.</p>"
    },
    "MaintenanceWindowIdentityList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowIdentity"}
    },
    "MaintenanceWindowLambdaClientContext":{
      "type":"string",
      "max":8000,
      "min":1
    },
    "MaintenanceWindowLambdaParameters":{
      "type":"structure",
      "members":{
        "ClientContext":{
          "shape":"MaintenanceWindowLambdaClientContext",
          "documentation":"<p>Pass client-specific information to the Lambda function that you are invoking. You can then process the client information in your Lambda function as you choose through the context variable.</p>"
        },
        "Qualifier":{
          "shape":"MaintenanceWindowLambdaQualifier",
          "documentation":"<p>(Optional) Specify an Lambda function version or alias name. If you specify a function version, the operation uses the qualified function Amazon Resource Name (ARN) to invoke a specific Lambda function. If you specify an alias name, the operation uses the alias ARN to invoke the Lambda function version to which the alias points.</p>"
        },
        "Payload":{
          "shape":"MaintenanceWindowLambdaPayload",
          "documentation":"<p>JSON to provide to your Lambda function as input.</p>"
        }
      },
      "documentation":"<p>The parameters for a <code>LAMBDA</code> task type.</p> <p>For information about specifying and updating task parameters, see <a>RegisterTaskWithMaintenanceWindow</a> and <a>UpdateMaintenanceWindowTask</a>.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p>For Lambda tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.</p> </note>"
    },
    "MaintenanceWindowLambdaPayload":{
      "type":"blob",
      "max":4096,
      "sensitive":true
    },
    "MaintenanceWindowLambdaQualifier":{
      "type":"string",
      "max":128,
      "min":1
    },
    "MaintenanceWindowMaxResults":{
      "type":"integer",
      "max":100,
      "min":10
    },
    "MaintenanceWindowName":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "MaintenanceWindowOffset":{
      "type":"integer",
      "max":6,
      "min":1
    },
    "MaintenanceWindowResourceType":{
      "type":"string",
      "enum":[
        "INSTANCE",
        "RESOURCE_GROUP"
      ]
    },
    "MaintenanceWindowRunCommandParameters":{
      "type":"structure",
      "members":{
        "Comment":{
          "shape":"Comment",
          "documentation":"<p>Information about the commands to run.</p>"
        },
        "CloudWatchOutputConfig":{"shape":"CloudWatchOutputConfig"},
        "DocumentHash":{
          "shape":"DocumentHash",
          "documentation":"<p>The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.</p>"
        },
        "DocumentHashType":{
          "shape":"DocumentHashType",
          "documentation":"<p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The Amazon Web Services Systems Manager document (SSM document) version to use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, or a specific version number. If you run commands by using the Amazon Web Services CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:</p> <p> <code>--document-version \"\\$DEFAULT\"</code> </p> <p> <code>--document-version \"\\$LATEST\"</code> </p> <p> <code>--document-version \"3\"</code> </p>"
        },
        "NotificationConfig":{
          "shape":"NotificationConfig",
          "documentation":"<p>Configurations for sending notifications about command status changes on a per-managed node basis.</p>"
        },
        "OutputS3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p>"
        },
        "OutputS3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>The S3 bucket subfolder.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The parameters for the <code>RUN_COMMAND</code> task execution.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.</p>"
        },
        "TimeoutSeconds":{
          "shape":"TimeoutSeconds",
          "documentation":"<p>If this time is reached and the command hasn't already started running, it doesn't run.</p>",
          "box":true
        }
      },
      "documentation":"<p>The parameters for a <code>RUN_COMMAND</code> task type.</p> <p>For information about specifying and updating task parameters, see <a>RegisterTaskWithMaintenanceWindow</a> and <a>UpdateMaintenanceWindowTask</a>.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p>For <code>RUN_COMMAND</code> tasks, Systems Manager uses specified values for <code>TaskParameters</code> and <code>LoggingInfo</code> only if no values are specified for <code>TaskInvocationParameters</code>. </p> </note>"
    },
    "MaintenanceWindowSchedule":{
      "type":"string",
      "max":256,
      "min":1
    },
    "MaintenanceWindowSearchMaxResults":{
      "type":"integer",
      "min":1
    },
    "MaintenanceWindowStepFunctionsInput":{
      "type":"string",
      "max":4096,
      "sensitive":true
    },
    "MaintenanceWindowStepFunctionsName":{
      "type":"string",
      "max":80,
      "min":1
    },
    "MaintenanceWindowStepFunctionsParameters":{
      "type":"structure",
      "members":{
        "Input":{
          "shape":"MaintenanceWindowStepFunctionsInput",
          "documentation":"<p>The inputs for the <code>STEP_FUNCTIONS</code> task.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowStepFunctionsName",
          "documentation":"<p>The name of the <code>STEP_FUNCTIONS</code> task.</p>"
        }
      },
      "documentation":"<p>The parameters for a <code>STEP_FUNCTIONS</code> task.</p> <p>For information about specifying and updating task parameters, see <a>RegisterTaskWithMaintenanceWindow</a> and <a>UpdateMaintenanceWindowTask</a>.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p>For Step Functions tasks, Systems Manager ignores any values specified for <code>TaskParameters</code> and <code>LoggingInfo</code>.</p> </note>"
    },
    "MaintenanceWindowStringDateTime":{"type":"string"},
    "MaintenanceWindowTarget":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window to register the target with.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The ID of the target.</p>"
        },
        "ResourceType":{
          "shape":"MaintenanceWindowResourceType",
          "documentation":"<p>The type of target that is being registered with the maintenance window.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets, either managed nodes or tags.</p> <p>Specify managed nodes using the following format:</p> <p> <code>Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;</code> </p> <p>Tags are specified using the following format:</p> <p> <code>Key=&lt;tag name&gt;,Values=&lt;tag value&gt;</code>.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name for the maintenance window target.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>A description for the target.</p>"
        }
      },
      "documentation":"<p>The target registered with the maintenance window.</p>"
    },
    "MaintenanceWindowTargetId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
    },
    "MaintenanceWindowTargetList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowTarget"}
    },
    "MaintenanceWindowTask":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window where the task is registered.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The task ID.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The resource that the task uses during execution. For <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, <code>TaskArn</code> is the Amazon Web Services Systems Manager (SSM document) name or ARN. For <code>LAMBDA</code> tasks, it's the function name or ARN. For <code>STEP_FUNCTIONS</code> tasks, it's the state machine ARN.</p>"
        },
        "Type":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets (either managed nodes or tags). Managed nodes are specified using <code>Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;</code>. Tags are specified using <code>Key=&lt;tag name&gt;,Values=&lt;tag value&gt;</code>.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParameters",
          "documentation":"<p>The parameters that should be passed to the task when it is run.</p> <note> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.</p>"
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>Information about an S3 bucket to write task-level logs to.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets this task can be run for, in parallel.</p> <note> <p>Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">targetless task</a> You must provide a value in all other cases.</p> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't affect the running of your task.</p> </note>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The maximum number of errors allowed before this task stops being scheduled.</p> <note> <p>Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">targetless task</a> You must provide a value in all other cases.</p> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't affect the running of your task.</p> </note>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The task name.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>A description of the task.</p>"
        },
        "CutoffBehavior":{
          "shape":"MaintenanceWindowTaskCutoffBehavior",
          "documentation":"<p>The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. </p>",
          "box":true
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm applied to your maintenance window task.</p>"
        }
      },
      "documentation":"<p>Information about a task defined for a maintenance window.</p>"
    },
    "MaintenanceWindowTaskArn":{
      "type":"string",
      "max":1600,
      "min":1
    },
    "MaintenanceWindowTaskCutoffBehavior":{
      "type":"string",
      "enum":[
        "CONTINUE_TASK",
        "CANCEL_TASK"
      ]
    },
    "MaintenanceWindowTaskId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
    },
    "MaintenanceWindowTaskInvocationParameters":{
      "type":"structure",
      "members":{
        "RunCommand":{
          "shape":"MaintenanceWindowRunCommandParameters",
          "documentation":"<p>The parameters for a <code>RUN_COMMAND</code> task type.</p>"
        },
        "Automation":{
          "shape":"MaintenanceWindowAutomationParameters",
          "documentation":"<p>The parameters for an <code>AUTOMATION</code> task type.</p>"
        },
        "StepFunctions":{
          "shape":"MaintenanceWindowStepFunctionsParameters",
          "documentation":"<p>The parameters for a <code>STEP_FUNCTIONS</code> task type.</p>"
        },
        "Lambda":{
          "shape":"MaintenanceWindowLambdaParameters",
          "documentation":"<p>The parameters for a <code>LAMBDA</code> task type.</p>"
        }
      },
      "documentation":"<p>The parameters for task execution.</p>"
    },
    "MaintenanceWindowTaskList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowTask"}
    },
    "MaintenanceWindowTaskParameterName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "MaintenanceWindowTaskParameterValue":{
      "type":"string",
      "max":255,
      "min":1,
      "sensitive":true
    },
    "MaintenanceWindowTaskParameterValueExpression":{
      "type":"structure",
      "members":{
        "Values":{
          "shape":"MaintenanceWindowTaskParameterValueList",
          "documentation":"<p>This field contains an array of 0 or more strings, each 1 to 255 characters in length.</p>"
        }
      },
      "documentation":"<p>Defines the values for a task parameter.</p>",
      "sensitive":true
    },
    "MaintenanceWindowTaskParameterValueList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowTaskParameterValue"},
      "sensitive":true
    },
    "MaintenanceWindowTaskParameters":{
      "type":"map",
      "key":{"shape":"MaintenanceWindowTaskParameterName"},
      "value":{"shape":"MaintenanceWindowTaskParameterValueExpression"},
      "sensitive":true
    },
    "MaintenanceWindowTaskParametersList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowTaskParameters"},
      "sensitive":true
    },
    "MaintenanceWindowTaskPriority":{
      "type":"integer",
      "min":0
    },
    "MaintenanceWindowTaskTargetId":{
      "type":"string",
      "max":36
    },
    "MaintenanceWindowTaskType":{
      "type":"string",
      "enum":[
        "RUN_COMMAND",
        "AUTOMATION",
        "STEP_FUNCTIONS",
        "LAMBDA"
      ]
    },
    "MaintenanceWindowTimezone":{"type":"string"},
    "MaintenanceWindowsForTargetList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowIdentityForTarget"}
    },
    "ManagedInstanceId":{
      "type":"string",
      "max":124,
      "min":20,
      "pattern":"(^mi-[0-9a-f]{17}$)|(^eks_c:[0-9A-Za-z][A-Za-z0-9\\-_]{0,99}_\\w{17}$)"
    },
    "MaxConcurrency":{
      "type":"string",
      "max":7,
      "min":1,
      "pattern":"^([1-9][0-9]*|[1-9][0-9]%|[1-9]%|100%)$"
    },
    "MaxDocumentSizeExceeded":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The size limit of a document is 64 KB.</p>",
      "exception":true
    },
    "MaxErrors":{
      "type":"string",
      "max":7,
      "min":1,
      "pattern":"^([1-9][0-9]*|[0]|[1-9][0-9]%|[0-9]%|100%)$"
    },
    "MaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "MaxResultsEC2Compatible":{
      "type":"integer",
      "max":50,
      "min":5
    },
    "MaxSessionDuration":{
      "type":"string",
      "max":4,
      "min":1,
      "pattern":"^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|1[0-4][0-3][0-9]|1440)$"
    },
    "MetadataKey":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "MetadataKeysToDeleteList":{
      "type":"list",
      "member":{"shape":"MetadataKey"},
      "max":10,
      "min":1
    },
    "MetadataMap":{
      "type":"map",
      "key":{"shape":"MetadataKey"},
      "value":{"shape":"MetadataValue"},
      "max":5,
      "min":1
    },
    "MetadataValue":{
      "type":"structure",
      "members":{
        "Value":{
          "shape":"MetadataValueString",
          "documentation":"<p>Metadata value to assign to an Application Manager application.</p>"
        }
      },
      "documentation":"<p>Metadata to assign to an Application Manager application.</p>"
    },
    "MetadataValueString":{
      "type":"string",
      "max":4096,
      "min":1
    },
    "ModifyDocumentPermissionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "PermissionType"
      ],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document that you want to share.</p>"
        },
        "PermissionType":{
          "shape":"DocumentPermissionType",
          "documentation":"<p>The permission type for the document. The permission type can be <i>Share</i>.</p>"
        },
        "AccountIdsToAdd":{
          "shape":"AccountIdList",
          "documentation":"<p>The Amazon Web Services users that should have access to the document. The account IDs can either be a group of account IDs or <i>All</i>.</p>"
        },
        "AccountIdsToRemove":{
          "shape":"AccountIdList",
          "documentation":"<p>The Amazon Web Services users that should no longer have access to the document. The Amazon Web Services user can either be a group of account IDs or <i>All</i>. This action has a higher priority than <i>AccountIdsToAdd</i>. If you specify an ID to add and the same ID to remove, the system removes access to the document.</p>"
        },
        "SharedDocumentVersion":{
          "shape":"SharedDocumentVersion",
          "documentation":"<p>(Optional) The version of the document to share. If it isn't specified, the system choose the <code>Default</code> version to share.</p>"
        }
      }
    },
    "ModifyDocumentPermissionResponse":{
      "type":"structure",
      "members":{
      }
    },
    "NextToken":{"type":"string"},
    "NonCompliantSummary":{
      "type":"structure",
      "members":{
        "NonCompliantCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of compliance items that aren't compliant.</p>"
        },
        "SeveritySummary":{
          "shape":"SeveritySummary",
          "documentation":"<p>A summary of the non-compliance severity by compliance type</p>"
        }
      },
      "documentation":"<p>A summary of resources that aren't compliant. The summary is organized according to resource type.</p>"
    },
    "NormalStringMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "NotificationArn":{"type":"string"},
    "NotificationConfig":{
      "type":"structure",
      "members":{
        "NotificationArn":{
          "shape":"NotificationArn",
          "documentation":"<p>An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.</p>"
        },
        "NotificationEvents":{
          "shape":"NotificationEventList",
          "documentation":"<p>The different events for which you can receive notifications. To learn more about these events, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html\">Monitoring Systems Manager status changes using Amazon SNS notifications</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "NotificationType":{
          "shape":"NotificationType",
          "documentation":"<p>The type of notification.</p> <ul> <li> <p> <code>Command</code>: Receive notification when the status of a command changes.</p> </li> <li> <p> <code>Invocation</code>: For commands sent to multiple managed nodes, receive notification on a per-node basis when the status of a command changes. </p> </li> </ul>"
        }
      },
      "documentation":"<p>Configurations for sending notifications.</p>"
    },
    "NotificationEvent":{
      "type":"string",
      "enum":[
        "All",
        "InProgress",
        "Success",
        "TimedOut",
        "Cancelled",
        "Failed"
      ]
    },
    "NotificationEventList":{
      "type":"list",
      "member":{"shape":"NotificationEvent"}
    },
    "NotificationType":{
      "type":"string",
      "enum":[
        "Command",
        "Invocation"
      ]
    },
    "OperatingSystem":{
      "type":"string",
      "enum":[
        "WINDOWS",
        "AMAZON_LINUX",
        "AMAZON_LINUX_2",
        "AMAZON_LINUX_2022",
        "UBUNTU",
        "REDHAT_ENTERPRISE_LINUX",
        "SUSE",
        "CENTOS",
        "ORACLE_LINUX",
        "DEBIAN",
        "MACOS",
        "RASPBIAN",
        "ROCKY_LINUX",
        "ALMA_LINUX",
        "AMAZON_LINUX_2023"
      ]
    },
    "OpsAggregator":{
      "type":"structure",
      "members":{
        "AggregatorType":{
          "shape":"OpsAggregatorType",
          "documentation":"<p>Either a <code>Range</code> or <code>Count</code> aggregator for limiting an OpsData summary.</p>"
        },
        "TypeName":{
          "shape":"OpsDataTypeName",
          "documentation":"<p>The data type name to use for viewing counts of OpsData.</p>"
        },
        "AttributeName":{
          "shape":"OpsDataAttributeName",
          "documentation":"<p>The name of an OpsData attribute on which to limit the count of OpsData.</p>"
        },
        "Values":{
          "shape":"OpsAggregatorValueMap",
          "documentation":"<p>The aggregator value.</p>"
        },
        "Filters":{
          "shape":"OpsFilterList",
          "documentation":"<p>The aggregator filters.</p>"
        },
        "Aggregators":{
          "shape":"OpsAggregatorList",
          "documentation":"<p>A nested aggregator for viewing counts of OpsData.</p>"
        }
      },
      "documentation":"<p>One or more aggregators for viewing counts of OpsData using different dimensions such as <code>Source</code>, <code>CreatedTime</code>, or <code>Source and CreatedTime</code>, to name a few.</p>"
    },
    "OpsAggregatorList":{
      "type":"list",
      "member":{"shape":"OpsAggregator"},
      "max":12,
      "min":1
    },
    "OpsAggregatorType":{
      "type":"string",
      "max":20,
      "min":1,
      "pattern":"^(range|count|sum)"
    },
    "OpsAggregatorValue":{
      "type":"string",
      "max":2048,
      "min":0
    },
    "OpsAggregatorValueKey":{
      "type":"string",
      "max":32,
      "min":1
    },
    "OpsAggregatorValueMap":{
      "type":"map",
      "key":{"shape":"OpsAggregatorValueKey"},
      "value":{"shape":"OpsAggregatorValue"},
      "max":5,
      "min":0
    },
    "OpsDataAttributeName":{
      "type":"string",
      "max":128,
      "min":1
    },
    "OpsDataTypeName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"^(AWS|Custom):.*$"
    },
    "OpsEntity":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"OpsEntityId",
          "documentation":"<p>The query ID.</p>"
        },
        "Data":{
          "shape":"OpsEntityItemMap",
          "documentation":"<p>The data returned by the query.</p>"
        }
      },
      "documentation":"<p>The result of the query.</p>"
    },
    "OpsEntityId":{"type":"string"},
    "OpsEntityItem":{
      "type":"structure",
      "members":{
        "CaptureTime":{
          "shape":"OpsEntityItemCaptureTime",
          "documentation":"<p>The time the OpsData was captured.</p>"
        },
        "Content":{
          "shape":"OpsEntityItemEntryList",
          "documentation":"<p>The details of an OpsData summary.</p>"
        }
      },
      "documentation":"<p>The OpsData summary.</p>"
    },
    "OpsEntityItemCaptureTime":{
      "type":"string",
      "pattern":"^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$"
    },
    "OpsEntityItemEntry":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"},
      "max":50,
      "min":0
    },
    "OpsEntityItemEntryList":{
      "type":"list",
      "member":{"shape":"OpsEntityItemEntry"},
      "max":10000,
      "min":0
    },
    "OpsEntityItemKey":{"type":"string"},
    "OpsEntityItemMap":{
      "type":"map",
      "key":{"shape":"OpsEntityItemKey"},
      "value":{"shape":"OpsEntityItem"}
    },
    "OpsEntityList":{
      "type":"list",
      "member":{"shape":"OpsEntity"}
    },
    "OpsFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"OpsFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "Values":{
          "shape":"OpsFilterValueList",
          "documentation":"<p>The filter value.</p>"
        },
        "Type":{
          "shape":"OpsFilterOperatorType",
          "documentation":"<p>The type of filter.</p>"
        }
      },
      "documentation":"<p>A filter for viewing OpsData summaries.</p>"
    },
    "OpsFilterKey":{
      "type":"string",
      "max":200,
      "min":1
    },
    "OpsFilterList":{
      "type":"list",
      "member":{"shape":"OpsFilter"},
      "max":5,
      "min":1
    },
    "OpsFilterOperatorType":{
      "type":"string",
      "enum":[
        "Equal",
        "NotEqual",
        "BeginWith",
        "LessThan",
        "GreaterThan",
        "Exists"
      ]
    },
    "OpsFilterValue":{
      "type":"string",
      "max":256,
      "min":0
    },
    "OpsFilterValueList":{
      "type":"list",
      "member":{"shape":"OpsFilterValue"},
      "max":40,
      "min":1
    },
    "OpsItem":{
      "type":"structure",
      "members":{
        "CreatedBy":{
          "shape":"String",
          "documentation":"<p>The ARN of the Amazon Web Services account that created the OpsItem.</p>"
        },
        "OpsItemType":{
          "shape":"OpsItemType",
          "documentation":"<p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p> <ul> <li> <p> <code>/aws/issue</code> </p> <p>This type of OpsItem is used for default OpsItems created by OpsCenter. </p> </li> <li> <p> <code>/aws/changerequest</code> </p> <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests. </p> </li> <li> <p> <code>/aws/insight</code> </p> <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems. </p> </li> </ul>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the OpsItem was created.</p>"
        },
        "Description":{
          "shape":"OpsItemDescription",
          "documentation":"<p>The OpsItem description.</p>"
        },
        "LastModifiedBy":{
          "shape":"String",
          "documentation":"<p>The ARN of the Amazon Web Services account that last updated the OpsItem.</p>"
        },
        "LastModifiedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the OpsItem was last updated.</p>"
        },
        "Notifications":{
          "shape":"OpsItemNotifications",
          "documentation":"<p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>"
        },
        "Priority":{
          "shape":"OpsItemPriority",
          "documentation":"<p>The importance of this OpsItem in relation to other OpsItems in the system.</p>"
        },
        "RelatedOpsItems":{
          "shape":"RelatedOpsItems",
          "documentation":"<p>One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>"
        },
        "Status":{
          "shape":"OpsItemStatus",
          "documentation":"<p>The OpsItem status. Status can be <code>Open</code>, <code>In Progress</code>, or <code>Resolved</code>. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html\">Editing OpsItem details</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem.</p>"
        },
        "Version":{
          "shape":"String",
          "documentation":"<p>The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.</p>"
        },
        "Title":{
          "shape":"OpsItemTitle",
          "documentation":"<p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>"
        },
        "Source":{
          "shape":"OpsItemSource",
          "documentation":"<p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.</p>"
        },
        "OperationalData":{
          "shape":"OpsItemOperationalData",
          "documentation":"<p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p> <important> <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p> </important> <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <a>DescribeOpsItems</a> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <a>GetOpsItem</a> API operation).</p> <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html\">Creating OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Category":{
          "shape":"OpsItemCategory",
          "documentation":"<p>An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.</p>"
        },
        "Severity":{
          "shape":"OpsItemSeverity",
          "documentation":"<p>The severity of the OpsItem. Severity options range from 1 to 4.</p>"
        },
        "ActualStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "ActualEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "OpsItemArn":{
          "shape":"OpsItemArn",
          "documentation":"<p>The OpsItem Amazon Resource Name (ARN).</p>"
        }
      },
      "documentation":"<p>Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational work items (OpsItems) impacting the performance and health of their Amazon Web Services resources. OpsCenter is integrated with Amazon EventBridge and Amazon CloudWatch. This means you can configure these services to automatically create an OpsItem in OpsCenter when a CloudWatch alarm enters the ALARM state or when EventBridge processes an event from any Amazon Web Services service that publishes events. Configuring Amazon CloudWatch alarms and EventBridge events to automatically create OpsItems allows you to quickly diagnose and remediate issues with Amazon Web Services resources from a single console.</p> <p>To help you diagnose issues, each OpsItem includes contextually relevant information such as the name and ID of the Amazon Web Services resource that generated the OpsItem, alarm or event details, alarm history, and an alarm timeline graph. For the Amazon Web Services resource, OpsCenter aggregates information from Config, CloudTrail logs, and EventBridge, so you don't have to navigate across multiple console pages during your investigation. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html\">OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>"
    },
    "OpsItemAccessDeniedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You don't have permission to view OpsItems in the specified account. Verify that your account is configured either as a Systems Manager delegated administrator or that you are logged into the Organizations management account.</p>",
      "exception":true
    },
    "OpsItemAccountId":{
      "type":"string",
      "pattern":"^[0-9]{12}$"
    },
    "OpsItemAlreadyExistsException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"},
        "OpsItemId":{"shape":"String"}
      },
      "documentation":"<p>The OpsItem already exists.</p>",
      "exception":true
    },
    "OpsItemArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:(aws[a-zA-Z-]*)?:ssm:[a-z0-9-\\.]{0,63}:[0-9]{12}:opsitem.*"
    },
    "OpsItemCategory":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsItemConflictException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified OpsItem is in the process of being deleted.</p>",
      "exception":true
    },
    "OpsItemDataKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsItemDataType":{
      "type":"string",
      "enum":[
        "SearchableString",
        "String"
      ]
    },
    "OpsItemDataValue":{
      "type":"structure",
      "members":{
        "Value":{
          "shape":"OpsItemDataValueString",
          "documentation":"<p>The value of the OperationalData key.</p>"
        },
        "Type":{
          "shape":"OpsItemDataType",
          "documentation":"<p>The type of key-value pair. Valid types include <code>SearchableString</code> and <code>String</code>.</p>"
        }
      },
      "documentation":"<p>An object that defines the value of the key and its type in the OperationalData map.</p>"
    },
    "OpsItemDataValueString":{
      "type":"string",
      "pattern":"[\\s\\S]*\\S[\\s\\S]*"
    },
    "OpsItemDescription":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"[\\s\\S]*\\S[\\s\\S]*"
    },
    "OpsItemEventFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values",
        "Operator"
      ],
      "members":{
        "Key":{
          "shape":"OpsItemEventFilterKey",
          "documentation":"<p>The name of the filter key. Currently, the only supported value is <code>OpsItemId</code>.</p>"
        },
        "Values":{
          "shape":"OpsItemEventFilterValues",
          "documentation":"<p>The values for the filter, consisting of one or more OpsItem IDs.</p>"
        },
        "Operator":{
          "shape":"OpsItemEventFilterOperator",
          "documentation":"<p>The operator used by the filter call. Currently, the only supported value is <code>Equal</code>.</p>"
        }
      },
      "documentation":"<p>Describes a filter for a specific list of OpsItem events. You can filter event information by using tags. You specify tags by using a key-value pair mapping. </p>"
    },
    "OpsItemEventFilterKey":{
      "type":"string",
      "enum":["OpsItemId"]
    },
    "OpsItemEventFilterOperator":{
      "type":"string",
      "enum":["Equal"]
    },
    "OpsItemEventFilterValue":{
      "type":"string",
      "max":15,
      "min":1,
      "pattern":"^(oi)-[0-9a-f]{12}$"
    },
    "OpsItemEventFilterValues":{
      "type":"list",
      "member":{"shape":"OpsItemEventFilterValue"}
    },
    "OpsItemEventFilters":{
      "type":"list",
      "member":{"shape":"OpsItemEventFilter"}
    },
    "OpsItemEventMaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "OpsItemEventSummaries":{
      "type":"list",
      "member":{"shape":"OpsItemEventSummary"}
    },
    "OpsItemEventSummary":{
      "type":"structure",
      "members":{
        "OpsItemId":{
          "shape":"String",
          "documentation":"<p>The ID of the OpsItem.</p>"
        },
        "EventId":{
          "shape":"String",
          "documentation":"<p>The ID of the OpsItem event.</p>"
        },
        "Source":{
          "shape":"String",
          "documentation":"<p>The source of the OpsItem event.</p>"
        },
        "DetailType":{
          "shape":"String",
          "documentation":"<p>The type of information provided as a detail.</p>"
        },
        "Detail":{
          "shape":"String",
          "documentation":"<p>Specific information about the OpsItem event.</p>"
        },
        "CreatedBy":{
          "shape":"OpsItemIdentity",
          "documentation":"<p>Information about the user or resource that created the OpsItem event.</p>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the OpsItem event was created.</p>"
        }
      },
      "documentation":"<p>Summary information about an OpsItem event or that associated an OpsItem with a related item.</p>"
    },
    "OpsItemFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values",
        "Operator"
      ],
      "members":{
        "Key":{
          "shape":"OpsItemFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "Values":{
          "shape":"OpsItemFilterValues",
          "documentation":"<p>The filter value.</p>"
        },
        "Operator":{
          "shape":"OpsItemFilterOperator",
          "documentation":"<p>The operator used by the filter call.</p>"
        }
      },
      "documentation":"<p>Describes an OpsItem filter.</p>"
    },
    "OpsItemFilterKey":{
      "type":"string",
      "enum":[
        "Status",
        "CreatedBy",
        "Source",
        "Priority",
        "Title",
        "OpsItemId",
        "CreatedTime",
        "LastModifiedTime",
        "ActualStartTime",
        "ActualEndTime",
        "PlannedStartTime",
        "PlannedEndTime",
        "OperationalData",
        "OperationalDataKey",
        "OperationalDataValue",
        "ResourceId",
        "AutomationId",
        "Category",
        "Severity",
        "OpsItemType",
        "ChangeRequestByRequesterArn",
        "ChangeRequestByRequesterName",
        "ChangeRequestByApproverArn",
        "ChangeRequestByApproverName",
        "ChangeRequestByTemplate",
        "ChangeRequestByTargetsResourceGroup",
        "InsightByType",
        "AccountId"
      ]
    },
    "OpsItemFilterOperator":{
      "type":"string",
      "enum":[
        "Equal",
        "Contains",
        "GreaterThan",
        "LessThan"
      ]
    },
    "OpsItemFilterValue":{"type":"string"},
    "OpsItemFilterValues":{
      "type":"list",
      "member":{"shape":"OpsItemFilterValue"}
    },
    "OpsItemFilters":{
      "type":"list",
      "member":{"shape":"OpsItemFilter"}
    },
    "OpsItemId":{
      "type":"string",
      "pattern":"^(oi)-[0-9a-f]{12}$"
    },
    "OpsItemIdentity":{
      "type":"structure",
      "members":{
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem event.</p>"
        }
      },
      "documentation":"<p>Information about the user or resource that created an OpsItem event.</p>"
    },
    "OpsItemInvalidParameterException":{
      "type":"structure",
      "members":{
        "ParameterNames":{"shape":"OpsItemParameterNamesList"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>A specified parameter argument isn't valid. Verify the available arguments and try again.</p>",
      "exception":true
    },
    "OpsItemLimitExceededException":{
      "type":"structure",
      "members":{
        "ResourceTypes":{"shape":"OpsItemParameterNamesList"},
        "Limit":{"shape":"Integer"},
        "LimitType":{"shape":"String"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The request caused OpsItems to exceed one or more quotas.</p>",
      "exception":true
    },
    "OpsItemMaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "OpsItemNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified OpsItem ID doesn't exist. Verify the ID and try again.</p>",
      "exception":true
    },
    "OpsItemNotification":{
      "type":"structure",
      "members":{
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>"
        }
      },
      "documentation":"<p>A notification about the OpsItem.</p>"
    },
    "OpsItemNotifications":{
      "type":"list",
      "member":{"shape":"OpsItemNotification"}
    },
    "OpsItemOperationalData":{
      "type":"map",
      "key":{"shape":"OpsItemDataKey"},
      "value":{"shape":"OpsItemDataValue"}
    },
    "OpsItemOpsDataKeysList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "OpsItemParameterNamesList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "OpsItemPriority":{
      "type":"integer",
      "max":5,
      "min":1
    },
    "OpsItemRelatedItemAlreadyExistsException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"},
        "ResourceUri":{"shape":"OpsItemRelatedItemAssociationResourceUri"},
        "OpsItemId":{"shape":"OpsItemId"}
      },
      "documentation":"<p>The Amazon Resource Name (ARN) is already associated with the OpsItem.</p>",
      "exception":true
    },
    "OpsItemRelatedItemAssociationId":{"type":"string"},
    "OpsItemRelatedItemAssociationNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The association wasn't found using the parameters you specified in the call. Verify the information and try again.</p>",
      "exception":true
    },
    "OpsItemRelatedItemAssociationResourceType":{"type":"string"},
    "OpsItemRelatedItemAssociationResourceUri":{"type":"string"},
    "OpsItemRelatedItemAssociationType":{"type":"string"},
    "OpsItemRelatedItemSummaries":{
      "type":"list",
      "member":{"shape":"OpsItemRelatedItemSummary"}
    },
    "OpsItemRelatedItemSummary":{
      "type":"structure",
      "members":{
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The OpsItem ID.</p>"
        },
        "AssociationId":{
          "shape":"OpsItemRelatedItemAssociationId",
          "documentation":"<p>The association ID.</p>"
        },
        "ResourceType":{
          "shape":"OpsItemRelatedItemAssociationResourceType",
          "documentation":"<p>The resource type.</p>"
        },
        "AssociationType":{
          "shape":"OpsItemRelatedItemAssociationType",
          "documentation":"<p>The association type.</p>"
        },
        "ResourceUri":{
          "shape":"OpsItemRelatedItemAssociationResourceUri",
          "documentation":"<p>The Amazon Resource Name (ARN) of the related-item resource.</p>"
        },
        "CreatedBy":{"shape":"OpsItemIdentity"},
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the related-item association was created.</p>"
        },
        "LastModifiedBy":{"shape":"OpsItemIdentity"},
        "LastModifiedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the related-item association was last updated.</p>"
        }
      },
      "documentation":"<p>Summary information about related-item resources for an OpsItem.</p>"
    },
    "OpsItemRelatedItemsFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values",
        "Operator"
      ],
      "members":{
        "Key":{
          "shape":"OpsItemRelatedItemsFilterKey",
          "documentation":"<p>The name of the filter key. Supported values include <code>ResourceUri</code>, <code>ResourceType</code>, or <code>AssociationId</code>.</p>"
        },
        "Values":{
          "shape":"OpsItemRelatedItemsFilterValues",
          "documentation":"<p>The values for the filter.</p>"
        },
        "Operator":{
          "shape":"OpsItemRelatedItemsFilterOperator",
          "documentation":"<p>The operator used by the filter call. The only supported operator is <code>EQUAL</code>.</p>"
        }
      },
      "documentation":"<p>Describes a filter for a specific list of related-item resources. </p>"
    },
    "OpsItemRelatedItemsFilterKey":{
      "type":"string",
      "enum":[
        "ResourceType",
        "AssociationId",
        "ResourceUri"
      ]
    },
    "OpsItemRelatedItemsFilterOperator":{
      "type":"string",
      "enum":["Equal"]
    },
    "OpsItemRelatedItemsFilterValue":{"type":"string"},
    "OpsItemRelatedItemsFilterValues":{
      "type":"list",
      "member":{"shape":"OpsItemRelatedItemsFilterValue"}
    },
    "OpsItemRelatedItemsFilters":{
      "type":"list",
      "member":{"shape":"OpsItemRelatedItemsFilter"}
    },
    "OpsItemRelatedItemsMaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "OpsItemSeverity":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsItemSource":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsItemStatus":{
      "type":"string",
      "enum":[
        "Open",
        "InProgress",
        "Resolved",
        "Pending",
        "TimedOut",
        "Cancelling",
        "Cancelled",
        "Failed",
        "CompletedWithSuccess",
        "CompletedWithFailure",
        "Scheduled",
        "RunbookInProgress",
        "PendingChangeCalendarOverride",
        "ChangeCalendarOverrideApproved",
        "ChangeCalendarOverrideRejected",
        "PendingApproval",
        "Approved",
        "Rejected",
        "Closed"
      ]
    },
    "OpsItemSummaries":{
      "type":"list",
      "member":{"shape":"OpsItemSummary"}
    },
    "OpsItemSummary":{
      "type":"structure",
      "members":{
        "CreatedBy":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.</p>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the OpsItem was created.</p>"
        },
        "LastModifiedBy":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.</p>"
        },
        "LastModifiedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time the OpsItem was last updated.</p>"
        },
        "Priority":{
          "shape":"OpsItemPriority",
          "documentation":"<p>The importance of this OpsItem in relation to other OpsItems in the system.</p>"
        },
        "Source":{
          "shape":"OpsItemSource",
          "documentation":"<p>The impacted Amazon Web Services resource.</p>"
        },
        "Status":{
          "shape":"OpsItemStatus",
          "documentation":"<p>The OpsItem status. Status can be <code>Open</code>, <code>In Progress</code>, or <code>Resolved</code>.</p>"
        },
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem.</p>"
        },
        "Title":{
          "shape":"OpsItemTitle",
          "documentation":"<p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>"
        },
        "OperationalData":{
          "shape":"OpsItemOperationalData",
          "documentation":"<p>Operational data is custom data that provides useful reference details about the OpsItem. </p>"
        },
        "Category":{
          "shape":"OpsItemCategory",
          "documentation":"<p>A list of OpsItems by category.</p>"
        },
        "Severity":{
          "shape":"OpsItemSeverity",
          "documentation":"<p>A list of OpsItems by severity.</p>"
        },
        "OpsItemType":{
          "shape":"OpsItemType",
          "documentation":"<p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p> <ul> <li> <p> <code>/aws/issue</code> </p> <p>This type of OpsItem is used for default OpsItems created by OpsCenter. </p> </li> <li> <p> <code>/aws/changerequest</code> </p> <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests. </p> </li> <li> <p> <code>/aws/insight</code> </p> <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems. </p> </li> </ul>"
        },
        "ActualStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "ActualEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        }
      },
      "documentation":"<p>A count of OpsItems.</p>"
    },
    "OpsItemTitle":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsItemType":{"type":"string"},
    "OpsMetadata":{
      "type":"structure",
      "members":{
        "ResourceId":{
          "shape":"OpsMetadataResourceId",
          "documentation":"<p>The ID of the Application Manager application.</p>"
        },
        "OpsMetadataArn":{
          "shape":"OpsMetadataArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OpsMetadata Object or blob.</p>"
        },
        "LastModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the OpsMetadata object was last updated.</p>"
        },
        "LastModifiedUser":{
          "shape":"String",
          "documentation":"<p>The user name who last updated the OpsMetadata object.</p>"
        },
        "CreationDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the OpsMetadata objects was created.</p>"
        }
      },
      "documentation":"<p>Operational metadata for an application in Application Manager.</p>"
    },
    "OpsMetadataAlreadyExistsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>An OpsMetadata object already exists for the selected resource.</p>",
      "exception":true
    },
    "OpsMetadataArn":{
      "type":"string",
      "max":1011,
      "min":1,
      "pattern":"arn:(aws[a-zA-Z-]*)?:ssm:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:opsmetadata\\/([a-zA-Z0-9-_\\.\\/]*)"
    },
    "OpsMetadataFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"OpsMetadataFilterKey",
          "documentation":"<p>A filter key.</p>"
        },
        "Values":{
          "shape":"OpsMetadataFilterValueList",
          "documentation":"<p>A filter value.</p>"
        }
      },
      "documentation":"<p>A filter to limit the number of OpsMetadata objects displayed.</p>"
    },
    "OpsMetadataFilterKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsMetadataFilterList":{
      "type":"list",
      "member":{"shape":"OpsMetadataFilter"},
      "max":10,
      "min":0
    },
    "OpsMetadataFilterValue":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "OpsMetadataFilterValueList":{
      "type":"list",
      "member":{"shape":"OpsMetadataFilterValue"},
      "max":10,
      "min":1
    },
    "OpsMetadataInvalidArgumentException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>One of the arguments passed is invalid. </p>",
      "exception":true
    },
    "OpsMetadataKeyLimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The OpsMetadata object exceeds the maximum number of OpsMetadata keys that you can assign to an application in Application Manager.</p>",
      "exception":true
    },
    "OpsMetadataLimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Your account reached the maximum number of OpsMetadata objects allowed by Application Manager. The maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata object and try again.</p>",
      "exception":true
    },
    "OpsMetadataList":{
      "type":"list",
      "member":{"shape":"OpsMetadata"},
      "max":50,
      "min":1
    },
    "OpsMetadataNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The OpsMetadata object doesn't exist. </p>",
      "exception":true
    },
    "OpsMetadataResourceId":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "OpsMetadataTooManyUpdatesException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The system is processing too many concurrent updates. Wait a few moments and try again.</p>",
      "exception":true
    },
    "OpsResultAttribute":{
      "type":"structure",
      "required":["TypeName"],
      "members":{
        "TypeName":{
          "shape":"OpsDataTypeName",
          "documentation":"<p>Name of the data type. Valid value: <code>AWS:OpsItem</code>, <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or <code>AWS:ComplianceSummary</code>.</p>"
        }
      },
      "documentation":"<p>The OpsItem data type to return.</p>"
    },
    "OpsResultAttributeList":{
      "type":"list",
      "member":{"shape":"OpsResultAttribute"},
      "min":1
    },
    "OutputSource":{
      "type":"structure",
      "members":{
        "OutputSourceId":{
          "shape":"OutputSourceId",
          "documentation":"<p>The ID of the output source, for example the URL of an S3 bucket.</p>"
        },
        "OutputSourceType":{
          "shape":"OutputSourceType",
          "documentation":"<p>The type of source where the association execution details are stored, for example, Amazon S3.</p>"
        }
      },
      "documentation":"<p>Information about the source where the association execution details are stored.</p>"
    },
    "OutputSourceId":{
      "type":"string",
      "max":36,
      "min":36
    },
    "OutputSourceType":{"type":"string"},
    "OwnerInformation":{
      "type":"string",
      "max":128,
      "min":1,
      "sensitive":true
    },
    "PSParameterName":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "PSParameterSelector":{
      "type":"string",
      "max":128,
      "min":0
    },
    "PSParameterValue":{
      "type":"string",
      "sensitive":true
    },
    "PSParameterVersion":{"type":"long"},
    "Parameter":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter.</p>"
        },
        "Type":{
          "shape":"ParameterType",
          "documentation":"<p>The type of parameter. Valid values include the following: <code>String</code>, <code>StringList</code>, and <code>SecureString</code>.</p> <note> <p>If type is <code>StringList</code>, the system returns a comma-separated string with no spaces between commas in the <code>Value</code> field.</p> </note>"
        },
        "Value":{
          "shape":"PSParameterValue",
          "documentation":"<p>The parameter value.</p> <note> <p>If type is <code>StringList</code>, the system returns a comma-separated string with no spaces between commas in the <code>Value</code> field.</p> </note>"
        },
        "Version":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The parameter version.</p>"
        },
        "Selector":{
          "shape":"PSParameterSelector",
          "documentation":"<p>Either the version number or the label used to retrieve the parameter value. Specify selectors by using one of the following formats:</p> <p>parameter_name:version</p> <p>parameter_name:label</p>"
        },
        "SourceResult":{
          "shape":"String",
          "documentation":"<p>Applies to parameters that reference information in other Amazon Web Services services. <code>SourceResult</code> is the raw result or response from the source.</p>"
        },
        "LastModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>Date the parameter was last changed or updated and the parameter version was created.</p>"
        },
        "ARN":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the parameter.</p>"
        },
        "DataType":{
          "shape":"ParameterDataType",
          "documentation":"<p>The data type of the parameter, such as <code>text</code> or <code>aws:ec2:image</code>. The default is <code>text</code>.</p>"
        }
      },
      "documentation":"<p>An Amazon Web Services Systems Manager parameter in Parameter Store.</p>"
    },
    "ParameterAlreadyExists":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The parameter already exists. You can't create duplicate parameters.</p>",
      "exception":true
    },
    "ParameterDataType":{
      "type":"string",
      "max":128,
      "min":0
    },
    "ParameterDescription":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "ParameterHistory":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter.</p>"
        },
        "Type":{
          "shape":"ParameterType",
          "documentation":"<p>The type of parameter used.</p>"
        },
        "KeyId":{
          "shape":"ParameterKeyId",
          "documentation":"<p>The ID of the query key used for this parameter.</p>"
        },
        "LastModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>Date the parameter was last changed or updated.</p>"
        },
        "LastModifiedUser":{
          "shape":"String",
          "documentation":"<p>Amazon Resource Name (ARN) of the Amazon Web Services user who last changed the parameter.</p>"
        },
        "Description":{
          "shape":"ParameterDescription",
          "documentation":"<p>Information about the parameter.</p>"
        },
        "Value":{
          "shape":"PSParameterValue",
          "documentation":"<p>The parameter value.</p>"
        },
        "AllowedPattern":{
          "shape":"AllowedPattern",
          "documentation":"<p>Parameter names can include the following letters and symbols.</p> <p>a-zA-Z0-9_.-</p>"
        },
        "Version":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The parameter version.</p>"
        },
        "Labels":{
          "shape":"ParameterLabelList",
          "documentation":"<p>Labels assigned to the parameter version.</p>"
        },
        "Tier":{
          "shape":"ParameterTier",
          "documentation":"<p>The parameter tier.</p>"
        },
        "Policies":{
          "shape":"ParameterPolicyList",
          "documentation":"<p>Information about the policies assigned to a parameter.</p> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html\">Assigning parameter policies</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "DataType":{
          "shape":"ParameterDataType",
          "documentation":"<p>The data type of the parameter, such as <code>text</code> or <code>aws:ec2:image</code>. The default is <code>text</code>.</p>"
        }
      },
      "documentation":"<p>Information about parameter usage.</p>"
    },
    "ParameterHistoryList":{
      "type":"list",
      "member":{"shape":"ParameterHistory"}
    },
    "ParameterInlinePolicy":{
      "type":"structure",
      "members":{
        "PolicyText":{
          "shape":"String",
          "documentation":"<p>The JSON text of the policy.</p>"
        },
        "PolicyType":{
          "shape":"String",
          "documentation":"<p>The type of policy. Parameter Store, a capability of Amazon Web Services Systems Manager, supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification. </p>"
        },
        "PolicyStatus":{
          "shape":"String",
          "documentation":"<p>The status of the policy. Policies report the following statuses: Pending (the policy hasn't been enforced or applied yet), Finished (the policy was applied), Failed (the policy wasn't applied), or InProgress (the policy is being applied now). </p>"
        }
      },
      "documentation":"<p>One or more policies assigned to a parameter.</p>"
    },
    "ParameterKeyId":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^([a-zA-Z0-9:/_-]+)$"
    },
    "ParameterLabel":{
      "type":"string",
      "max":100,
      "min":1
    },
    "ParameterLabelList":{
      "type":"list",
      "member":{"shape":"ParameterLabel"},
      "max":10,
      "min":1
    },
    "ParameterLimitExceeded":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You have exceeded the number of parameters for this Amazon Web Services account. Delete one or more parameters and try again.</p>",
      "exception":true
    },
    "ParameterList":{
      "type":"list",
      "member":{"shape":"Parameter"}
    },
    "ParameterMaxVersionLimitExceeded":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Parameter Store retains the 100 most recently created versions of a parameter. After this number of versions has been created, Parameter Store deletes the oldest version when a new one is created. However, if the oldest version has a <i>label</i> attached to it, Parameter Store won't delete the version and instead presents this error message:</p> <p> <code>An error occurred (ParameterMaxVersionLimitExceeded) when calling the PutParameter operation: You attempted to create a new version of <i>parameter-name</i> by calling the PutParameter API with the overwrite flag. Version <i>version-number</i>, the oldest version, can't be deleted because it has a label associated with it. Move the label to another version of the parameter, and try again.</code> </p> <p>This safeguard is to prevent parameter versions with mission critical labels assigned to them from being deleted. To continue creating new parameters, first move the label from the oldest version of the parameter to a newer one for use in your operations. For information about moving parameter labels, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-console-move\">Move a parameter label (console)</a> or <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-cli-move\">Move a parameter label (CLI)</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>",
      "exception":true
    },
    "ParameterMetadata":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The parameter name.</p>"
        },
        "Type":{
          "shape":"ParameterType",
          "documentation":"<p>The type of parameter. Valid parameter types include the following: <code>String</code>, <code>StringList</code>, and <code>SecureString</code>.</p>"
        },
        "KeyId":{
          "shape":"ParameterKeyId",
          "documentation":"<p>The ID of the query key used for this parameter.</p>"
        },
        "LastModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>Date the parameter was last changed or updated.</p>"
        },
        "LastModifiedUser":{
          "shape":"String",
          "documentation":"<p>Amazon Resource Name (ARN) of the Amazon Web Services user who last changed the parameter.</p>"
        },
        "Description":{
          "shape":"ParameterDescription",
          "documentation":"<p>Description of the parameter actions.</p>"
        },
        "AllowedPattern":{
          "shape":"AllowedPattern",
          "documentation":"<p>A parameter name can include only the following letters and symbols.</p> <p>a-zA-Z0-9_.-</p>"
        },
        "Version":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The parameter version.</p>"
        },
        "Tier":{
          "shape":"ParameterTier",
          "documentation":"<p>The parameter tier.</p>"
        },
        "Policies":{
          "shape":"ParameterPolicyList",
          "documentation":"<p>A list of policies associated with a parameter.</p>"
        },
        "DataType":{
          "shape":"ParameterDataType",
          "documentation":"<p>The data type of the parameter, such as <code>text</code> or <code>aws:ec2:image</code>. The default is <code>text</code>.</p>"
        }
      },
      "documentation":"<p>Metadata includes information like the ARN of the last user and the date/time the parameter was last used.</p>"
    },
    "ParameterMetadataList":{
      "type":"list",
      "member":{"shape":"ParameterMetadata"}
    },
    "ParameterName":{"type":"string"},
    "ParameterNameList":{
      "type":"list",
      "member":{"shape":"PSParameterName"},
      "max":10,
      "min":1
    },
    "ParameterNotFound":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The parameter couldn't be found. Verify the name and try again.</p>",
      "exception":true
    },
    "ParameterPatternMismatchException":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>The parameter name isn't valid.</p>"
        }
      },
      "documentation":"<p>The parameter name isn't valid.</p>",
      "exception":true
    },
    "ParameterPolicies":{
      "type":"string",
      "max":4096,
      "min":1
    },
    "ParameterPolicyList":{
      "type":"list",
      "member":{"shape":"ParameterInlinePolicy"}
    },
    "ParameterStringFilter":{
      "type":"structure",
      "required":["Key"],
      "members":{
        "Key":{
          "shape":"ParameterStringFilterKey",
          "documentation":"<p>The name of the filter.</p> <p>The <code>ParameterStringFilter</code> object is used by the <a>DescribeParameters</a> and <a>GetParametersByPath</a> API operations. However, not all of the pattern values listed for <code>Key</code> can be used with both operations.</p> <p>For <code>DescribeParameters</code>, all of the listed patterns are valid except <code>Label</code>.</p> <p>For <code>GetParametersByPath</code>, the following patterns listed for <code>Key</code> aren't valid: <code>tag</code>, <code>DataType</code>, <code>Name</code>, <code>Path</code>, and <code>Tier</code>.</p> <p>For examples of Amazon Web Services CLI commands demonstrating valid parameter filter constructions, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-search.html\">Searching for Systems Manager parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Option":{
          "shape":"ParameterStringQueryOption",
          "documentation":"<p>For all filters used with <a>DescribeParameters</a>, valid options include <code>Equals</code> and <code>BeginsWith</code>. The <code>Name</code> filter additionally supports the <code>Contains</code> option. (Exception: For filters using the key <code>Path</code>, valid options include <code>Recursive</code> and <code>OneLevel</code>.)</p> <p>For filters used with <a>GetParametersByPath</a>, valid options include <code>Equals</code> and <code>BeginsWith</code>. (Exception: For filters using <code>Label</code> as the Key name, the only valid option is <code>Equals</code>.)</p>"
        },
        "Values":{
          "shape":"ParameterStringFilterValueList",
          "documentation":"<p>The value you want to search for.</p>"
        }
      },
      "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
    },
    "ParameterStringFilterKey":{
      "type":"string",
      "max":132,
      "min":1,
      "pattern":"tag:.+|Name|Type|KeyId|Path|Label|Tier|DataType"
    },
    "ParameterStringFilterList":{
      "type":"list",
      "member":{"shape":"ParameterStringFilter"}
    },
    "ParameterStringFilterValue":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "ParameterStringFilterValueList":{
      "type":"list",
      "member":{"shape":"ParameterStringFilterValue"},
      "max":50,
      "min":1
    },
    "ParameterStringQueryOption":{
      "type":"string",
      "max":10,
      "min":1
    },
    "ParameterTier":{
      "type":"string",
      "enum":[
        "Standard",
        "Advanced",
        "Intelligent-Tiering"
      ]
    },
    "ParameterType":{
      "type":"string",
      "enum":[
        "String",
        "StringList",
        "SecureString"
      ]
    },
    "ParameterValue":{"type":"string"},
    "ParameterValueList":{
      "type":"list",
      "member":{"shape":"ParameterValue"}
    },
    "ParameterVersionLabelLimitExceeded":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>A parameter version can have a maximum of ten labels.</p>",
      "exception":true
    },
    "ParameterVersionNotFound":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The specified parameter version wasn't found. Verify the parameter name and version, and try again.</p>",
      "exception":true
    },
    "Parameters":{
      "type":"map",
      "key":{"shape":"ParameterName"},
      "value":{"shape":"ParameterValueList"},
      "sensitive":true
    },
    "ParametersFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"ParametersFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "Values":{
          "shape":"ParametersFilterValueList",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>This data type is deprecated. Instead, use <a>ParameterStringFilter</a>.</p>"
    },
    "ParametersFilterKey":{
      "type":"string",
      "enum":[
        "Name",
        "Type",
        "KeyId"
      ]
    },
    "ParametersFilterList":{
      "type":"list",
      "member":{"shape":"ParametersFilter"}
    },
    "ParametersFilterValue":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "ParametersFilterValueList":{
      "type":"list",
      "member":{"shape":"ParametersFilterValue"},
      "max":50,
      "min":1
    },
    "ParentStepDetails":{
      "type":"structure",
      "members":{
        "StepExecutionId":{
          "shape":"String",
          "documentation":"<p>The unique ID of a step execution.</p>"
        },
        "StepName":{
          "shape":"String",
          "documentation":"<p>The name of the step.</p>"
        },
        "Action":{
          "shape":"AutomationActionName",
          "documentation":"<p>The name of the automation action.</p>"
        },
        "Iteration":{
          "shape":"Integer",
          "documentation":"<p>The current repetition of the loop represented by an integer.</p>",
          "box":true
        },
        "IteratorValue":{
          "shape":"String",
          "documentation":"<p>The current value of the specified iterator in the loop.</p>"
        }
      },
      "documentation":"<p>A detailed status of the parent step.</p>"
    },
    "Patch":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"PatchId",
          "documentation":"<p>The ID of the patch. Applies to Windows patches only.</p> <note> <p>This ID isn't the same as the Microsoft Knowledge Base ID.</p> </note>"
        },
        "ReleaseDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the patch was released.</p>"
        },
        "Title":{
          "shape":"PatchTitle",
          "documentation":"<p>The title of the patch.</p>"
        },
        "Description":{
          "shape":"PatchDescription",
          "documentation":"<p>The description of the patch.</p>"
        },
        "ContentUrl":{
          "shape":"PatchContentUrl",
          "documentation":"<p>The URL where more information can be obtained about the patch.</p>"
        },
        "Vendor":{
          "shape":"PatchVendor",
          "documentation":"<p>The name of the vendor providing the patch.</p>"
        },
        "ProductFamily":{
          "shape":"PatchProductFamily",
          "documentation":"<p>The product family the patch is applicable for. For example, <code>Windows</code> or <code>Amazon Linux 2</code>.</p>"
        },
        "Product":{
          "shape":"PatchProduct",
          "documentation":"<p>The specific product the patch is applicable for. For example, <code>WindowsServer2016</code> or <code>AmazonLinux2018.03</code>.</p>"
        },
        "Classification":{
          "shape":"PatchClassification",
          "documentation":"<p>The classification of the patch. For example, <code>SecurityUpdates</code>, <code>Updates</code>, or <code>CriticalUpdates</code>.</p>"
        },
        "MsrcSeverity":{
          "shape":"PatchMsrcSeverity",
          "documentation":"<p>The severity of the patch, such as <code>Critical</code>, <code>Important</code>, or <code>Moderate</code>. Applies to Windows patches only.</p>"
        },
        "KbNumber":{
          "shape":"PatchKbNumber",
          "documentation":"<p>The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.</p>"
        },
        "MsrcNumber":{
          "shape":"PatchMsrcNumber",
          "documentation":"<p>The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, <code>MS14-045</code>. Applies to Windows patches only.</p>"
        },
        "Language":{
          "shape":"PatchLanguage",
          "documentation":"<p>The language of the patch if it's language-specific.</p>"
        },
        "AdvisoryIds":{
          "shape":"PatchAdvisoryIdList",
          "documentation":"<p>The Advisory ID of the patch. For example, <code>RHSA-2020:3779</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "BugzillaIds":{
          "shape":"PatchBugzillaIdList",
          "documentation":"<p>The Bugzilla ID of the patch. For example, <code>1600646</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "CVEIds":{
          "shape":"PatchCVEIdList",
          "documentation":"<p>The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, <code>CVE-2011-3192</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "Name":{
          "shape":"PatchName",
          "documentation":"<p>The name of the patch. Applies to Linux-based managed nodes only.</p>"
        },
        "Epoch":{
          "shape":"PatchEpoch",
          "documentation":"<p>The epoch of the patch. For example in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the epoch value is <code>20180914-2</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "Version":{
          "shape":"PatchVersion",
          "documentation":"<p>The version number of the patch. For example, in <code>example-pkg-1.710.10-2.7.abcd.x86_64</code>, the version number is indicated by <code>-1</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "Release":{
          "shape":"PatchRelease",
          "documentation":"<p>The particular release of a patch. For example, in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the release is <code>2.amaz1</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "Arch":{
          "shape":"PatchArch",
          "documentation":"<p>The architecture of the patch. For example, in <code>example-pkg-0.710.10-2.7.abcd.x86_64</code>, the architecture is indicated by <code>x86_64</code>. Applies to Linux-based managed nodes only.</p>"
        },
        "Severity":{
          "shape":"PatchSeverity",
          "documentation":"<p>The severity level of the patch. For example, <code>CRITICAL</code> or <code>MODERATE</code>.</p>"
        },
        "Repository":{
          "shape":"PatchRepository",
          "documentation":"<p>The source patch repository for the operating system and version, such as <code>trusty-security</code> for Ubuntu Server 14.04 LTE and <code>focal-security</code> for Ubuntu Server 20.04 LTE. Applies to Linux-based managed nodes only.</p>"
        }
      },
      "documentation":"<p>Represents metadata about a patch.</p>"
    },
    "PatchAction":{
      "type":"string",
      "enum":[
        "ALLOW_AS_DEPENDENCY",
        "BLOCK"
      ]
    },
    "PatchAdvisoryId":{"type":"string"},
    "PatchAdvisoryIdList":{
      "type":"list",
      "member":{"shape":"PatchAdvisoryId"}
    },
    "PatchArch":{"type":"string"},
    "PatchBaselineIdentity":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline.</p>"
        },
        "BaselineName":{
          "shape":"BaselineName",
          "documentation":"<p>The name of the patch baseline.</p>"
        },
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>Defines the operating system the patch baseline applies to. The default value is <code>WINDOWS</code>. </p>"
        },
        "BaselineDescription":{
          "shape":"BaselineDescription",
          "documentation":"<p>The description of the patch baseline.</p>"
        },
        "DefaultBaseline":{
          "shape":"DefaultBaseline",
          "documentation":"<p>Whether this is the default 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.</p>"
        }
      },
      "documentation":"<p>Defines the basic information about a patch baseline.</p>"
    },
    "PatchBaselineIdentityList":{
      "type":"list",
      "member":{"shape":"PatchBaselineIdentity"}
    },
    "PatchBaselineMaxResults":{
      "type":"integer",
      "max":100,
      "min":1
    },
    "PatchBugzillaId":{"type":"string"},
    "PatchBugzillaIdList":{
      "type":"list",
      "member":{"shape":"PatchBugzillaId"}
    },
    "PatchCVEId":{"type":"string"},
    "PatchCVEIdList":{
      "type":"list",
      "member":{"shape":"PatchCVEId"}
    },
    "PatchCVEIds":{"type":"string"},
    "PatchClassification":{"type":"string"},
    "PatchComplianceData":{
      "type":"structure",
      "required":[
        "Title",
        "KBId",
        "Classification",
        "Severity",
        "State",
        "InstalledTime"
      ],
      "members":{
        "Title":{
          "shape":"PatchTitle",
          "documentation":"<p>The title of the patch.</p>"
        },
        "KBId":{
          "shape":"PatchKbNumber",
          "documentation":"<p>The operating system-specific ID of the patch.</p>"
        },
        "Classification":{
          "shape":"PatchClassification",
          "documentation":"<p>The classification of the patch, such as <code>SecurityUpdates</code>, <code>Updates</code>, and <code>CriticalUpdates</code>.</p>"
        },
        "Severity":{
          "shape":"PatchSeverity",
          "documentation":"<p>The severity of the patch such as <code>Critical</code>, <code>Important</code>, and <code>Moderate</code>.</p>"
        },
        "State":{
          "shape":"PatchComplianceDataState",
          "documentation":"<p>The state of the patch on the managed node, such as INSTALLED or FAILED.</p> <p>For descriptions of each patch state, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-compliance-about.html#sysman-compliance-monitor-patch\">About patch compliance</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "InstalledTime":{
          "shape":"DateTime",
          "documentation":"<p>The date/time the patch was installed on the managed node. Not all operating systems provide this level of information.</p>"
        },
        "CVEIds":{
          "shape":"PatchCVEIds",
          "documentation":"<p>The IDs of one or more Common Vulnerabilities and Exposure (CVE) issues that are resolved by the patch.</p>"
        }
      },
      "documentation":"<p>Information about the state of a patch on a particular managed node as it relates to the patch baseline used to patch the node.</p>"
    },
    "PatchComplianceDataList":{
      "type":"list",
      "member":{"shape":"PatchComplianceData"}
    },
    "PatchComplianceDataState":{
      "type":"string",
      "enum":[
        "INSTALLED",
        "INSTALLED_OTHER",
        "INSTALLED_PENDING_REBOOT",
        "INSTALLED_REJECTED",
        "MISSING",
        "NOT_APPLICABLE",
        "FAILED"
      ]
    },
    "PatchComplianceLevel":{
      "type":"string",
      "enum":[
        "CRITICAL",
        "HIGH",
        "MEDIUM",
        "LOW",
        "INFORMATIONAL",
        "UNSPECIFIED"
      ]
    },
    "PatchComplianceMaxResults":{
      "type":"integer",
      "max":100,
      "min":10
    },
    "PatchContentUrl":{"type":"string"},
    "PatchCriticalNonCompliantCount":{"type":"integer"},
    "PatchDeploymentStatus":{
      "type":"string",
      "enum":[
        "APPROVED",
        "PENDING_APPROVAL",
        "EXPLICIT_APPROVED",
        "EXPLICIT_REJECTED"
      ]
    },
    "PatchDescription":{"type":"string"},
    "PatchEpoch":{"type":"integer"},
    "PatchFailedCount":{"type":"integer"},
    "PatchFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"PatchFilterKey",
          "documentation":"<p>The key for the filter.</p> <p>Run the <a>DescribePatchProperties</a> command to view lists of valid keys for each operating system type.</p>"
        },
        "Values":{
          "shape":"PatchFilterValueList",
          "documentation":"<p>The value for the filter key.</p> <p>Run the <a>DescribePatchProperties</a> command to view lists of valid values for each key based on operating system type.</p>"
        }
      },
      "documentation":"<p> Defines which patches should be included in a patch baseline.</p> <p>A patch filter consists of a key and a set of values. The filter key is a patch property. For example, the available filter keys for <code>WINDOWS</code> are <code>PATCH_SET</code>, <code>PRODUCT</code>, <code>PRODUCT_FAMILY</code>, <code>CLASSIFICATION</code>, and <code>MSRC_SEVERITY</code>.</p> <p>The filter values define a matching criterion for the patch property indicated by the key. For example, if the filter key is <code>PRODUCT</code> and the filter values are <code>[\"Office 2013\", \"Office 2016\"]</code>, then the filter accepts all patches where product name is either \"Office 2013\" or \"Office 2016\". The filter values can be exact values for the patch property given as a key, or a wildcard (*), which matches all values.</p> <p>You can view lists of valid values for the patch properties by running the <code>DescribePatchProperties</code> command. For information about which patch properties can be used with each major operating system, see <a>DescribePatchProperties</a>.</p>"
    },
    "PatchFilterGroup":{
      "type":"structure",
      "required":["PatchFilters"],
      "members":{
        "PatchFilters":{
          "shape":"PatchFilterList",
          "documentation":"<p>The set of patch filters that make up the group.</p>"
        }
      },
      "documentation":"<p>A set of patch filters, typically used for approval rules.</p>"
    },
    "PatchFilterKey":{
      "type":"string",
      "enum":[
        "ARCH",
        "ADVISORY_ID",
        "BUGZILLA_ID",
        "PATCH_SET",
        "PRODUCT",
        "PRODUCT_FAMILY",
        "CLASSIFICATION",
        "CVE_ID",
        "EPOCH",
        "MSRC_SEVERITY",
        "NAME",
        "PATCH_ID",
        "SECTION",
        "PRIORITY",
        "REPOSITORY",
        "RELEASE",
        "SEVERITY",
        "SECURITY",
        "VERSION"
      ]
    },
    "PatchFilterList":{
      "type":"list",
      "member":{"shape":"PatchFilter"},
      "max":4,
      "min":0
    },
    "PatchFilterValue":{
      "type":"string",
      "max":64,
      "min":1
    },
    "PatchFilterValueList":{
      "type":"list",
      "member":{"shape":"PatchFilterValue"},
      "max":20,
      "min":1
    },
    "PatchGroup":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "PatchGroupList":{
      "type":"list",
      "member":{"shape":"PatchGroup"}
    },
    "PatchGroupPatchBaselineMapping":{
      "type":"structure",
      "members":{
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group registered with the patch baseline.</p>"
        },
        "BaselineIdentity":{
          "shape":"PatchBaselineIdentity",
          "documentation":"<p>The patch baseline the patch group is registered with.</p>"
        }
      },
      "documentation":"<p>The mapping between a patch group and the patch baseline the patch group is registered with.</p>"
    },
    "PatchGroupPatchBaselineMappingList":{
      "type":"list",
      "member":{"shape":"PatchGroupPatchBaselineMapping"}
    },
    "PatchId":{
      "type":"string",
      "max":100,
      "min":1
    },
    "PatchIdList":{
      "type":"list",
      "member":{"shape":"PatchId"},
      "max":50,
      "min":0
    },
    "PatchInstalledCount":{"type":"integer"},
    "PatchInstalledOtherCount":{"type":"integer"},
    "PatchInstalledPendingRebootCount":{"type":"integer"},
    "PatchInstalledRejectedCount":{"type":"integer"},
    "PatchKbNumber":{"type":"string"},
    "PatchLanguage":{"type":"string"},
    "PatchList":{
      "type":"list",
      "member":{"shape":"Patch"}
    },
    "PatchMissingCount":{"type":"integer"},
    "PatchMsrcNumber":{"type":"string"},
    "PatchMsrcSeverity":{"type":"string"},
    "PatchName":{"type":"string"},
    "PatchNotApplicableCount":{"type":"integer"},
    "PatchOperationType":{
      "type":"string",
      "enum":[
        "Scan",
        "Install"
      ]
    },
    "PatchOrchestratorFilter":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"PatchOrchestratorFilterKey",
          "documentation":"<p>The key for the filter.</p>"
        },
        "Values":{
          "shape":"PatchOrchestratorFilterValues",
          "documentation":"<p>The value for the filter.</p>"
        }
      },
      "documentation":"<p>Defines a filter used in Patch Manager APIs. Supported filter keys depend on the API operation that includes the filter. Patch Manager API operations that use <code>PatchOrchestratorFilter</code> include the following:</p> <ul> <li> <p> <a>DescribeAvailablePatches</a> </p> </li> <li> <p> <a>DescribeInstancePatches</a> </p> </li> <li> <p> <a>DescribePatchBaselines</a> </p> </li> <li> <p> <a>DescribePatchGroups</a> </p> </li> </ul>"
    },
    "PatchOrchestratorFilterKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "PatchOrchestratorFilterList":{
      "type":"list",
      "member":{"shape":"PatchOrchestratorFilter"},
      "max":5,
      "min":0
    },
    "PatchOrchestratorFilterValue":{
      "type":"string",
      "max":256,
      "min":1
    },
    "PatchOrchestratorFilterValues":{
      "type":"list",
      "member":{"shape":"PatchOrchestratorFilterValue"}
    },
    "PatchOtherNonCompliantCount":{"type":"integer"},
    "PatchProduct":{"type":"string"},
    "PatchProductFamily":{"type":"string"},
    "PatchPropertiesList":{
      "type":"list",
      "member":{"shape":"PatchPropertyEntry"}
    },
    "PatchProperty":{
      "type":"string",
      "enum":[
        "PRODUCT",
        "PRODUCT_FAMILY",
        "CLASSIFICATION",
        "MSRC_SEVERITY",
        "PRIORITY",
        "SEVERITY"
      ]
    },
    "PatchPropertyEntry":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"}
    },
    "PatchRelease":{"type":"string"},
    "PatchRepository":{"type":"string"},
    "PatchRule":{
      "type":"structure",
      "required":["PatchFilterGroup"],
      "members":{
        "PatchFilterGroup":{
          "shape":"PatchFilterGroup",
          "documentation":"<p>The patch filter group that defines the criteria for the rule.</p>"
        },
        "ComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>A compliance severity level for all approved patches in a patch baseline.</p>"
        },
        "ApproveAfterDays":{
          "shape":"ApproveAfterDays",
          "documentation":"<p>The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of <code>7</code> means that patches are approved seven days after they are released. Not supported on Debian Server or Ubuntu Server.</p>",
          "box":true
        },
        "ApproveUntilDate":{
          "shape":"PatchStringDateTime",
          "documentation":"<p>The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically. Not supported on Debian Server or Ubuntu Server.</p> <p>Enter dates in the format <code>YYYY-MM-DD</code>. For example, <code>2021-12-31</code>.</p>",
          "box":true
        },
        "EnableNonSecurity":{
          "shape":"Boolean",
          "documentation":"<p>For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>",
          "box":true
        }
      },
      "documentation":"<p>Defines an approval rule for a patch baseline.</p>"
    },
    "PatchRuleGroup":{
      "type":"structure",
      "required":["PatchRules"],
      "members":{
        "PatchRules":{
          "shape":"PatchRuleList",
          "documentation":"<p>The rules that make up the rule group.</p>"
        }
      },
      "documentation":"<p>A set of rules defining the approval rules for a patch baseline.</p>"
    },
    "PatchRuleList":{
      "type":"list",
      "member":{"shape":"PatchRule"},
      "max":10,
      "min":0
    },
    "PatchSecurityNonCompliantCount":{"type":"integer"},
    "PatchSet":{
      "type":"string",
      "enum":[
        "OS",
        "APPLICATION"
      ]
    },
    "PatchSeverity":{"type":"string"},
    "PatchSource":{
      "type":"structure",
      "required":[
        "Name",
        "Products",
        "Configuration"
      ],
      "members":{
        "Name":{
          "shape":"PatchSourceName",
          "documentation":"<p>The name specified to identify the patch source.</p>"
        },
        "Products":{
          "shape":"PatchSourceProductList",
          "documentation":"<p>The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"AmazonLinux2016.09\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see <a>PatchFilter</a>.</p>"
        },
        "Configuration":{
          "shape":"PatchSourceConfiguration",
          "documentation":"<p>The value of the yum repo configuration. For example:</p> <p> <code>[main]</code> </p> <p> <code>name=MyCustomRepository</code> </p> <p> <code>baseurl=https://my-custom-repository</code> </p> <p> <code>enabled=1</code> </p> <note> <p>For information about other options available for your yum repository configuration, see <a href=\"https://man7.org/linux/man-pages/man5/dnf.conf.5.html\">dnf.conf(5)</a>.</p> </note>"
        }
      },
      "documentation":"<p>Information about the patches to use to update the managed nodes, including target operating systems and source repository. Applies to Linux managed nodes only.</p>"
    },
    "PatchSourceConfiguration":{
      "type":"string",
      "max":1024,
      "min":1,
      "sensitive":true
    },
    "PatchSourceList":{
      "type":"list",
      "member":{"shape":"PatchSource"},
      "max":20,
      "min":0
    },
    "PatchSourceName":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.]{3,50}$"
    },
    "PatchSourceProduct":{
      "type":"string",
      "max":128,
      "min":1
    },
    "PatchSourceProductList":{
      "type":"list",
      "member":{"shape":"PatchSourceProduct"},
      "max":20,
      "min":1
    },
    "PatchStatus":{
      "type":"structure",
      "members":{
        "DeploymentStatus":{
          "shape":"PatchDeploymentStatus",
          "documentation":"<p>The approval status of a patch.</p>"
        },
        "ComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>The compliance severity level for a patch.</p>"
        },
        "ApprovalDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the patch was approved (or will be approved if the status is <code>PENDING_APPROVAL</code>).</p>"
        }
      },
      "documentation":"<p>Information about the approval status of a patch.</p>"
    },
    "PatchStringDateTime":{
      "type":"string",
      "max":10,
      "min":1
    },
    "PatchTitle":{"type":"string"},
    "PatchUnreportedNotApplicableCount":{"type":"integer"},
    "PatchVendor":{"type":"string"},
    "PatchVersion":{"type":"string"},
    "PingStatus":{
      "type":"string",
      "enum":[
        "Online",
        "ConnectionLost",
        "Inactive"
      ]
    },
    "PlatformType":{
      "type":"string",
      "enum":[
        "Windows",
        "Linux",
        "MacOS"
      ]
    },
    "PlatformTypeList":{
      "type":"list",
      "member":{"shape":"PlatformType"}
    },
    "PoliciesLimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You specified more than the maximum number of allowed policies for the parameter. The maximum is 10.</p>",
      "exception":true
    },
    "Policy":{
      "type":"string",
      "pattern":"\\S+"
    },
    "PolicyHash":{"type":"string"},
    "PolicyId":{"type":"string"},
    "Product":{"type":"string"},
    "ProgressCounters":{
      "type":"structure",
      "members":{
        "TotalSteps":{
          "shape":"Integer",
          "documentation":"<p>The total number of steps run in all specified Amazon Web Services Regions and Amazon Web Services accounts for the current Automation execution.</p>"
        },
        "SuccessSteps":{
          "shape":"Integer",
          "documentation":"<p>The total number of steps that successfully completed in all specified Amazon Web Services Regions and Amazon Web Services accounts for the current Automation execution.</p>"
        },
        "FailedSteps":{
          "shape":"Integer",
          "documentation":"<p>The total number of steps that failed to run in all specified Amazon Web Services Regions and Amazon Web Services accounts for the current Automation execution.</p>"
        },
        "CancelledSteps":{
          "shape":"Integer",
          "documentation":"<p>The total number of steps that the system cancelled in all specified Amazon Web Services Regions and Amazon Web Services accounts for the current Automation execution.</p>"
        },
        "TimedOutSteps":{
          "shape":"Integer",
          "documentation":"<p>The total number of steps that timed out in all specified Amazon Web Services Regions and Amazon Web Services accounts for the current Automation execution.</p>"
        }
      },
      "documentation":"<p>An aggregate of step execution statuses displayed in the Amazon Web Services Systems Manager console for a multi-Region and multi-account Automation execution.</p>"
    },
    "PutComplianceItemsRequest":{
      "type":"structure",
      "required":[
        "ResourceId",
        "ResourceType",
        "ComplianceType",
        "ExecutionSummary",
        "Items"
      ],
      "members":{
        "ResourceId":{
          "shape":"ComplianceResourceId",
          "documentation":"<p>Specify an ID for this resource. For a managed node, this is the node ID.</p>"
        },
        "ResourceType":{
          "shape":"ComplianceResourceType",
          "documentation":"<p>Specify the type of resource. <code>ManagedInstance</code> is currently the only supported resource type.</p>"
        },
        "ComplianceType":{
          "shape":"ComplianceTypeName",
          "documentation":"<p>Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:<code>string</code>.</p>"
        },
        "ExecutionSummary":{
          "shape":"ComplianceExecutionSummary",
          "documentation":"<p>A summary of the call execution that includes an execution ID, the type of execution (for example, <code>Command</code>), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.</p>"
        },
        "Items":{
          "shape":"ComplianceItemEntryList",
          "documentation":"<p>Information about the compliance as defined by the resource type. For example, for a patch compliance type, <code>Items</code> includes information about the PatchSeverity, Classification, and so on.</p>"
        },
        "ItemContentHash":{
          "shape":"ComplianceItemContentHash",
          "documentation":"<p>MD5 or SHA-256 content hash. The content hash is used to determine if existing information should be overwritten or ignored. If the content hashes match, the request to put compliance information is ignored.</p>"
        },
        "UploadType":{
          "shape":"ComplianceUploadType",
          "documentation":"<p>The mode for uploading compliance items. You can specify <code>COMPLETE</code> or <code>PARTIAL</code>. In <code>COMPLETE</code> mode, the system overwrites all existing compliance information for the resource. You must provide a full list of compliance items each time you send the request.</p> <p>In <code>PARTIAL</code> mode, the system overwrites compliance information for a specific association. The association must be configured with <code>SyncCompliance</code> set to <code>MANUAL</code>. By default, all requests use <code>COMPLETE</code> mode.</p> <note> <p>This attribute is only valid for association compliance.</p> </note>",
          "box":true
        }
      }
    },
    "PutComplianceItemsResult":{
      "type":"structure",
      "members":{
      }
    },
    "PutInventoryMessage":{"type":"string"},
    "PutInventoryRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "Items"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>An managed node ID where you want to add or update inventory items.</p>"
        },
        "Items":{
          "shape":"InventoryItemList",
          "documentation":"<p>The inventory items that you want to add or update on managed nodes.</p>"
        }
      }
    },
    "PutInventoryResult":{
      "type":"structure",
      "members":{
        "Message":{
          "shape":"PutInventoryMessage",
          "documentation":"<p>Information about the request.</p>"
        }
      }
    },
    "PutParameterRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Value"
      ],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The fully qualified name of the parameter that you want to add to the system. The fully qualified name includes the complete hierarchy of the parameter path and name. For parameters in a hierarchy, you must include a leading forward slash character (/) when you create or reference a parameter. For example: <code>/Dev/DBServer/MySQL/db-string13</code> </p> <p>Naming Constraints:</p> <ul> <li> <p>Parameter names are case sensitive.</p> </li> <li> <p>A parameter name must be unique within an Amazon Web Services Region</p> </li> <li> <p>A parameter name can't be prefixed with \"<code>aws</code>\" or \"<code>ssm</code>\" (case-insensitive).</p> </li> <li> <p>Parameter names can include only the following symbols and letters: <code>a-zA-Z0-9_.-</code> </p> <p>In addition, the slash character ( / ) is used to delineate hierarchies in parameter names. For example: <code>/Dev/Production/East/Project-ABC/MyParameter</code> </p> </li> <li> <p>A parameter name can't include spaces.</p> </li> <li> <p>Parameter hierarchies are limited to a maximum depth of fifteen levels.</p> </li> </ul> <p>For additional information about valid values for parameter names, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html\">Creating Systems Manager parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <note> <p>The maximum length constraint of 2048 characters listed below includes 1037 characters reserved for internal use by Systems Manager. The maximum length for a parameter name that you create is 1011 characters. This includes the characters in the ARN that precede the name you specify, such as <code>arn:aws:ssm:us-east-2:111122223333:parameter/</code>.</p> </note>"
        },
        "Description":{
          "shape":"ParameterDescription",
          "documentation":"<p>Information about the parameter that you want to add to the system. Optional but recommended.</p> <important> <p>Don't enter personally identifiable information in this field.</p> </important>"
        },
        "Value":{
          "shape":"PSParameterValue",
          "documentation":"<p>The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.</p> <note> <p>Parameters can't be referenced or nested in the values of other parameters. You can't include <code>{{}}</code> or <code>{{ssm:<i>parameter-name</i>}}</code> in a parameter value.</p> </note>"
        },
        "Type":{
          "shape":"ParameterType",
          "documentation":"<p>The type of parameter that you want to add to the system.</p> <note> <p> <code>SecureString</code> isn't currently supported for CloudFormation templates.</p> </note> <p>Items in a <code>StringList</code> must be separated by a comma (,). You can't use other punctuation or special character to escape items in the list. If you have a parameter value that requires a comma, then use the <code>String</code> data type.</p> <important> <p>Specifying a parameter type isn't required when updating a parameter. You must specify a parameter type when creating a parameter.</p> </important>"
        },
        "KeyId":{
          "shape":"ParameterKeyId",
          "documentation":"<p>The Key Management Service (KMS) ID that you want to use to encrypt a parameter. Use a custom key for better security. Required for parameters that use the <code>SecureString</code> data type.</p> <p>If you don't specify a key ID, the system uses the default key associated with your Amazon Web Services account which is not as secure as using a custom key.</p> <ul> <li> <p>To use a custom KMS key, choose the <code>SecureString</code> data type with the <code>Key ID</code> parameter.</p> </li> </ul>"
        },
        "Overwrite":{
          "shape":"Boolean",
          "documentation":"<p>Overwrite an existing parameter. The default value is <code>false</code>.</p>",
          "box":true
        },
        "AllowedPattern":{
          "shape":"AllowedPattern",
          "documentation":"<p>A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^\\d+$ </p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=Resource,Value=S3bucket</code> </p> </li> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> <li> <p> <code>Key=ParameterType,Value=LicenseKey</code> </p> </li> </ul> <note> <p>To add tags to an existing Systems Manager parameter, use the <a>AddTagsToResource</a> operation.</p> </note>"
        },
        "Tier":{
          "shape":"ParameterTier",
          "documentation":"<p>The parameter tier to assign to a parameter.</p> <p>Parameter Store offers a standard tier and an advanced tier for parameters. Standard parameters have a content size limit of 4 KB and can't be configured to use parameter policies. You can create a maximum of 10,000 standard parameters for each Region in an Amazon Web Services account. Standard parameters are offered at no additional cost. </p> <p>Advanced parameters have a content size limit of 8 KB and can be configured to use parameter policies. You can create a maximum of 100,000 advanced parameters for each Region in an Amazon Web Services account. Advanced parameters incur a charge. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html\">Standard and advanced parameter tiers</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <p>You can change a standard parameter to an advanced parameter any time. But you can't revert an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard parameter would result in data loss because the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, advanced parameters use a different form of encryption than standard parameters. </p> <p>If you no longer need an advanced parameter, or if you no longer want to incur charges for an advanced parameter, you must delete it and recreate it as a new standard parameter. </p> <p> <b>Using the Default Tier Configuration</b> </p> <p>In <code>PutParameter</code> requests, you can specify the tier to create the parameter in. Whenever you specify a tier in the request, Parameter Store creates or updates the parameter according to that request. However, if you don't specify a tier in a request, Parameter Store assigns the tier based on the current Parameter Store default tier configuration.</p> <p>The default tier when you begin using Parameter Store is the standard-parameter tier. If you use the advanced-parameter tier, you can specify one of the following as the default:</p> <ul> <li> <p> <b>Advanced</b>: With this option, Parameter Store evaluates all requests as advanced parameters. </p> </li> <li> <p> <b>Intelligent-Tiering</b>: With this option, Parameter Store evaluates each request to determine if the parameter is standard or advanced. </p> <p>If the request doesn't include any options that require an advanced parameter, the parameter is created in the standard-parameter tier. If one or more options requiring an advanced parameter are included in the request, Parameter Store create a parameter in the advanced-parameter tier.</p> <p>This approach helps control your parameter-related costs by always creating standard parameters unless an advanced parameter is necessary. </p> </li> </ul> <p>Options that require an advanced parameter include the following:</p> <ul> <li> <p>The content size of the parameter is more than 4 KB.</p> </li> <li> <p>The parameter uses a parameter policy.</p> </li> <li> <p>More than 10,000 parameters already exist in your Amazon Web Services account in the current Amazon Web Services Region.</p> </li> </ul> <p>For more information about configuring the default tier option, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-default-tier.html\">Specifying a default parameter tier</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Policies":{
          "shape":"ParameterPolicies",
          "documentation":"<p>One or more policies to apply to a parameter. This operation takes a JSON array. Parameter Store, a capability of Amazon Web Services Systems Manager supports the following policy types:</p> <p>Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the <i>parameter</i> doesn't affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter.</p> <p>ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours.</p> <p>NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn't been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it hasn't been changed.</p> <p>All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html\">Assigning parameter policies</a>. </p>"
        },
        "DataType":{
          "shape":"ParameterDataType",
          "documentation":"<p>The data type for a <code>String</code> parameter. Supported data types include plain text and Amazon Machine Image (AMI) IDs.</p> <p> <b>The following data type values are supported.</b> </p> <ul> <li> <p> <code>text</code> </p> </li> <li> <p> <code>aws:ec2:image</code> </p> </li> <li> <p> <code>aws:ssm:integration</code> </p> </li> </ul> <p>When you create a <code>String</code> parameter and specify <code>aws:ec2:image</code>, Amazon Web Services Systems Manager validates the parameter value is in the required format, such as <code>ami-12345abcdeEXAMPLE</code>, and that the specified AMI is available in your Amazon Web Services account.</p> <note> <p>If the action is successful, the service sends back an HTTP 200 response which indicates a successful <code>PutParameter</code> call for all cases except for data type <code>aws:ec2:image</code>. If you call <code>PutParameter</code> with <code>aws:ec2:image</code> data type, a successful HTTP 200 response does not guarantee that your parameter was successfully created or updated. The <code>aws:ec2:image</code> value is validated asynchronously, and the <code>PutParameter</code> call returns before the validation is complete. If you submit an invalid AMI value, the PutParameter operation will return success, but the asynchronous validation will fail and the parameter will not be created or updated. To monitor whether your <code>aws:ec2:image</code> parameters are created successfully, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-cwe.html\">Setting up notifications or trigger actions based on Parameter Store events</a>. For more information about AMI format validation , see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html\">Native parameter support for Amazon Machine Image (AMI) IDs</a>. </p> </note>"
        }
      }
    },
    "PutParameterResult":{
      "type":"structure",
      "members":{
        "Version":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The new version number of a parameter. If you edit a parameter value, Parameter Store automatically creates a new version and assigns this new version a unique ID. You can reference a parameter version ID in API operations or in Systems Manager documents (SSM documents). By default, if you don't specify a specific version, the system returns the latest parameter value when a parameter is called.</p>"
        },
        "Tier":{
          "shape":"ParameterTier",
          "documentation":"<p>The tier assigned to the parameter.</p>"
        }
      }
    },
    "PutResourcePolicyRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Policy"
      ],
      "members":{
        "ResourceArn":{
          "shape":"ResourceArnString",
          "documentation":"<p>Amazon Resource Name (ARN) of the resource to which you want to attach a policy.</p>"
        },
        "Policy":{
          "shape":"Policy",
          "documentation":"<p>A policy you want to associate with a resource.</p>"
        },
        "PolicyId":{
          "shape":"PolicyId",
          "documentation":"<p>The policy ID.</p>"
        },
        "PolicyHash":{
          "shape":"PolicyHash",
          "documentation":"<p>ID of the current policy version. The hash helps to prevent a situation where multiple users attempt to overwrite a policy. You must provide this hash when updating or deleting a policy.</p>"
        }
      }
    },
    "PutResourcePolicyResponse":{
      "type":"structure",
      "members":{
        "PolicyId":{
          "shape":"PolicyId",
          "documentation":"<p>The policy ID. To update a policy, you must specify <code>PolicyId</code> and <code>PolicyHash</code>.</p>"
        },
        "PolicyHash":{
          "shape":"PolicyHash",
          "documentation":"<p>ID of the current policy version.</p>"
        }
      }
    },
    "RebootOption":{
      "type":"string",
      "enum":[
        "RebootIfNeeded",
        "NoReboot"
      ]
    },
    "Region":{"type":"string"},
    "Regions":{
      "type":"list",
      "member":{"shape":"Region"},
      "max":50,
      "min":1
    },
    "RegisterDefaultPatchBaselineRequest":{
      "type":"structure",
      "required":["BaselineId"],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline that should be the default patch baseline.</p>"
        }
      }
    },
    "RegisterDefaultPatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the default patch baseline.</p>"
        }
      }
    },
    "RegisterPatchBaselineForPatchGroupRequest":{
      "type":"structure",
      "required":[
        "BaselineId",
        "PatchGroup"
      ],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to register with the patch group.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group to be registered with the patch baseline.</p>"
        }
      }
    },
    "RegisterPatchBaselineForPatchGroupResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline the patch group was registered with.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group registered with the patch baseline.</p>"
        }
      }
    },
    "RegisterTargetWithMaintenanceWindowRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "ResourceType",
        "Targets"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window the target should be registered with.</p>"
        },
        "ResourceType":{
          "shape":"MaintenanceWindowResourceType",
          "documentation":"<p>The type of target being registered with the maintenance window.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets to register with the maintenance window. In other words, the managed nodes to run commands on when the maintenance window runs.</p> <note> <p>If a single maintenance window task is registered with multiple targets, its task invocations occur sequentially and not in parallel. If your task must run on multiple targets at the same time, register a task for each target individually and assign each task the same priority level.</p> </note> <p>You can specify targets using managed node IDs, resource group names, or tags that have been applied to managed nodes.</p> <p> <b>Example 1</b>: Specify managed node IDs</p> <p> <code>Key=InstanceIds,Values=&lt;instance-id-1&gt;,&lt;instance-id-2&gt;,&lt;instance-id-3&gt;</code> </p> <p> <b>Example 2</b>: Use tag key-pairs applied to managed nodes</p> <p> <code>Key=tag:&lt;my-tag-key&gt;,Values=&lt;my-tag-value-1&gt;,&lt;my-tag-value-2&gt;</code> </p> <p> <b>Example 3</b>: Use tag-keys applied to managed nodes</p> <p> <code>Key=tag-key,Values=&lt;my-tag-key-1&gt;,&lt;my-tag-key-2&gt;</code> </p> <p> <b>Example 4</b>: Use resource group names</p> <p> <code>Key=resource-groups:Name,Values=&lt;resource-group-name&gt;</code> </p> <p> <b>Example 5</b>: Use filters for resource group types</p> <p> <code>Key=resource-groups:ResourceTypeFilters,Values=&lt;resource-type-1&gt;,&lt;resource-type-2&gt;</code> </p> <note> <p>For <code>Key=resource-groups:ResourceTypeFilters</code>, specify resource types in the following format</p> <p> <code>Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC</code> </p> </note> <p>For more information about these examples formats, including the best use case for each one, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html\">Examples: Register targets with a maintenance window</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>User-provided value that will be included in any Amazon CloudWatch Events events raised while running tasks for these targets in this maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>An optional name for the target.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>An optional description for the target.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        }
      }
    },
    "RegisterTargetWithMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The ID of the target definition in this maintenance window.</p>"
        }
      }
    },
    "RegisterTaskWithMaintenanceWindowRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "TaskArn",
        "TaskType"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window the task should be added to.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets (either managed nodes or maintenance window targets).</p> <note> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">Registering maintenance window tasks without targets</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </note> <p>Specify managed nodes using the following format: </p> <p> <code>Key=InstanceIds,Values=&lt;instance-id-1&gt;,&lt;instance-id-2&gt;</code> </p> <p>Specify maintenance window targets using the following format:</p> <p> <code>Key=WindowTargetIds,Values=&lt;window-target-id-1&gt;,&lt;window-target-id-2&gt;</code> </p>",
          "box":true
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The ARN of the task to run.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run <code>RegisterTaskWithMaintenanceWindow</code>.</p> <p>For more information, see the following topics in the in the <i>Amazon Web Services Systems Manager User Guide</i>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions\">Using service-linked roles for Systems Manager</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role\">Should I use a service-linked role or a custom service role to run maintenance window tasks? </a> </p> </li> </ul>"
        },
        "TaskType":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task being registered.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParameters",
          "documentation":"<p>The parameters that should be passed to the task when it is run.</p> <note> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "TaskInvocationParameters":{
          "shape":"MaintenanceWindowTaskInvocationParameters",
          "documentation":"<p>The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty. </p>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The priority of the task in the maintenance window, the lower the number the higher the priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the same priority scheduled in parallel.</p>",
          "box":true
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets this task can be run for, in parallel.</p> <note> <p>Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">targetless task</a> You must provide a value in all other cases.</p> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't affect the running of your task.</p> </note>",
          "box":true
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The maximum number of errors allowed before this task stops being scheduled.</p> <note> <p>Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">targetless task</a> You must provide a value in all other cases.</p> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't affect the running of your task.</p> </note>",
          "box":true
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>A structure containing information about an Amazon Simple Storage Service (Amazon S3) bucket to write managed node-level logs to. </p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>An optional name for the task.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>An optional description for the task.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        },
        "CutoffBehavior":{
          "shape":"MaintenanceWindowTaskCutoffBehavior",
          "documentation":"<p>Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. </p> <ul> <li> <p> <code>CONTINUE_TASK</code>: When the cutoff time is reached, any tasks that are running continue. The default value.</p> </li> <li> <p> <code>CANCEL_TASK</code>:</p> <ul> <li> <p>For Automation, Lambda, Step Functions tasks: When the cutoff time is reached, any task invocations that are already running continue, but no new task invocations are started.</p> </li> <li> <p>For Run Command tasks: When the cutoff time is reached, the system sends a <a>CancelCommand</a> operation that attempts to cancel the command associated with the task. However, there is no guarantee that the command will be terminated and the underlying process stopped.</p> </li> </ul> <p>The status for tasks that are not completed is <code>TIMED_OUT</code>.</p> </li> </ul>",
          "box":true
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The CloudWatch alarm you want to apply to your maintenance window task.</p>"
        }
      }
    },
    "RegisterTaskWithMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The ID of the task in the maintenance window.</p>"
        }
      }
    },
    "RegistrationLimit":{
      "type":"integer",
      "max":1000,
      "min":1
    },
    "RegistrationMetadataItem":{
      "type":"structure",
      "required":[
        "Key",
        "Value"
      ],
      "members":{
        "Key":{
          "shape":"RegistrationMetadataKey",
          "documentation":"<p>Reserved for internal use.</p>"
        },
        "Value":{
          "shape":"RegistrationMetadataValue",
          "documentation":"<p>Reserved for internal use.</p>"
        }
      },
      "documentation":"<p>Reserved for internal use.</p>"
    },
    "RegistrationMetadataKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "RegistrationMetadataList":{
      "type":"list",
      "member":{"shape":"RegistrationMetadataItem"}
    },
    "RegistrationMetadataValue":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"^(?!\\s*$).+"
    },
    "RegistrationsCount":{
      "type":"integer",
      "max":1000,
      "min":1
    },
    "RelatedOpsItem":{
      "type":"structure",
      "required":["OpsItemId"],
      "members":{
        "OpsItemId":{
          "shape":"String",
          "documentation":"<p>The ID of an OpsItem related to the current OpsItem.</p>"
        }
      },
      "documentation":"<p>An OpsItems that shares something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>"
    },
    "RelatedOpsItems":{
      "type":"list",
      "member":{"shape":"RelatedOpsItem"}
    },
    "RemainingCount":{"type":"integer"},
    "RemoveTagsFromResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceType",
        "ResourceId",
        "TagKeys"
      ],
      "members":{
        "ResourceType":{
          "shape":"ResourceTypeForTagging",
          "documentation":"<p>The type of resource from which you want to remove a tag.</p> <note> <p>The <code>ManagedInstance</code> type for this API operation is only for on-premises managed nodes. Specify the name of the managed node in the following format: <code>mi-<i>ID_number</i> </code>. For example, <code>mi-1a2b3c4d5e6f</code>.</p> </note>"
        },
        "ResourceId":{
          "shape":"ResourceId",
          "documentation":"<p>The ID of the resource from which you want to remove tags. For example:</p> <p>ManagedInstance: mi-012345abcde</p> <p>MaintenanceWindow: mw-012345abcde</p> <p> <code>Automation</code>: <code>example-c160-4567-8519-012345abcde</code> </p> <p>PatchBaseline: pb-012345abcde</p> <p>OpsMetadata object: <code>ResourceID</code> for tagging is created from the Amazon Resource Name (ARN) for the object. Specifically, <code>ResourceID</code> is created from the strings that come after the word <code>opsmetadata</code> in the ARN. For example, an OpsMetadata object with an ARN of <code>arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager</code> has a <code>ResourceID</code> of either <code>aws/ssm/MyGroup/appmanager</code> or <code>/aws/ssm/MyGroup/appmanager</code>.</p> <p>For the Document and Parameter values, use the name of the resource.</p> <note> <p>The <code>ManagedInstance</code> type for this API operation is only for on-premises managed nodes. Specify the name of the managed node in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.</p> </note>"
        },
        "TagKeys":{
          "shape":"KeyList",
          "documentation":"<p>Tag keys that you want to remove from the specified resource.</p>"
        }
      }
    },
    "RemoveTagsFromResourceResult":{
      "type":"structure",
      "members":{
      }
    },
    "RequireType":{
      "type":"string",
      "max":128,
      "pattern":"^[a-zA-Z0-9_\\-.]{1,128}$"
    },
    "ResetServiceSettingRequest":{
      "type":"structure",
      "required":["SettingId"],
      "members":{
        "SettingId":{
          "shape":"ServiceSettingId",
          "documentation":"<p>The Amazon Resource Name (ARN) of the service setting to reset. The setting ID can be one of the following.</p> <ul> <li> <p> <code>/ssm/managed-instance/default-ec2-instance-management-role</code> </p> </li> <li> <p> <code>/ssm/automation/customer-script-log-destination</code> </p> </li> <li> <p> <code>/ssm/automation/customer-script-log-group-name</code> </p> </li> <li> <p> <code>/ssm/documents/console/public-sharing-permission</code> </p> </li> <li> <p> <code>/ssm/managed-instance/activation-tier</code> </p> </li> <li> <p> <code>/ssm/opsinsights/opscenter</code> </p> </li> <li> <p> <code>/ssm/parameter-store/default-parameter-tier</code> </p> </li> <li> <p> <code>/ssm/parameter-store/high-throughput-enabled</code> </p> </li> </ul>"
        }
      },
      "documentation":"<p>The request body of the ResetServiceSetting API operation.</p>"
    },
    "ResetServiceSettingResult":{
      "type":"structure",
      "members":{
        "ServiceSetting":{
          "shape":"ServiceSetting",
          "documentation":"<p>The current, effective service setting after calling the ResetServiceSetting API operation.</p>"
        }
      },
      "documentation":"<p>The result body of the ResetServiceSetting API operation.</p>"
    },
    "ResolvedTargets":{
      "type":"structure",
      "members":{
        "ParameterValues":{
          "shape":"TargetParameterList",
          "documentation":"<p>A list of parameter values sent to targets that resolved during the Automation execution.</p>"
        },
        "Truncated":{
          "shape":"Boolean",
          "documentation":"<p>A boolean value indicating whether the resolved target list is truncated.</p>"
        }
      },
      "documentation":"<p>Information about targets that resolved during the Automation execution.</p>"
    },
    "ResourceArnString":{
      "type":"string",
      "max":2048,
      "min":20
    },
    "ResourceComplianceSummaryItem":{
      "type":"structure",
      "members":{
        "ComplianceType":{
          "shape":"ComplianceTypeName",
          "documentation":"<p>The compliance type.</p>"
        },
        "ResourceType":{
          "shape":"ComplianceResourceType",
          "documentation":"<p>The resource type.</p>"
        },
        "ResourceId":{
          "shape":"ComplianceResourceId",
          "documentation":"<p>The resource ID.</p>"
        },
        "Status":{
          "shape":"ComplianceStatus",
          "documentation":"<p>The compliance status for the resource.</p>"
        },
        "OverallSeverity":{
          "shape":"ComplianceSeverity",
          "documentation":"<p>The highest severity item found for the resource. The resource is compliant for this item.</p>"
        },
        "ExecutionSummary":{
          "shape":"ComplianceExecutionSummary",
          "documentation":"<p>Information about the execution.</p>"
        },
        "CompliantSummary":{
          "shape":"CompliantSummary",
          "documentation":"<p>A list of items that are compliant for the resource.</p>"
        },
        "NonCompliantSummary":{
          "shape":"NonCompliantSummary",
          "documentation":"<p>A list of items that aren't compliant for the resource.</p>"
        }
      },
      "documentation":"<p>Compliance summary information for a specific resource. </p>"
    },
    "ResourceComplianceSummaryItemList":{
      "type":"list",
      "member":{"shape":"ResourceComplianceSummaryItem"}
    },
    "ResourceCount":{"type":"integer"},
    "ResourceCountByStatus":{"type":"string"},
    "ResourceDataSyncAWSKMSKeyARN":{
      "type":"string",
      "max":512,
      "min":1,
      "pattern":"arn:.*"
    },
    "ResourceDataSyncAlreadyExistsException":{
      "type":"structure",
      "members":{
        "SyncName":{"shape":"ResourceDataSyncName"}
      },
      "documentation":"<p>A sync configuration with the same name already exists.</p>",
      "exception":true
    },
    "ResourceDataSyncAwsOrganizationsSource":{
      "type":"structure",
      "required":["OrganizationSourceType"],
      "members":{
        "OrganizationSourceType":{
          "shape":"ResourceDataSyncOrganizationSourceType",
          "documentation":"<p>If an Amazon Web Services organization is present, this is either <code>OrganizationalUnits</code> or <code>EntireOrganization</code>. For <code>OrganizationalUnits</code>, the data is aggregated from a set of organization units. For <code>EntireOrganization</code>, the data is aggregated from the entire Amazon Web Services organization.</p>"
        },
        "OrganizationalUnits":{
          "shape":"ResourceDataSyncOrganizationalUnitList",
          "documentation":"<p>The Organizations organization units included in the sync.</p>"
        }
      },
      "documentation":"<p>Information about the <code>AwsOrganizationsSource</code> resource data sync source. A sync source of this type can synchronize data from Organizations or, if an Amazon Web Services organization isn't present, from multiple Amazon Web Services Regions.</p>"
    },
    "ResourceDataSyncConflictException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Another <code>UpdateResourceDataSync</code> request is being processed. Wait a few minutes and try again.</p>",
      "exception":true
    },
    "ResourceDataSyncCountExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You have exceeded the allowed maximum sync configurations.</p>",
      "exception":true
    },
    "ResourceDataSyncCreatedTime":{"type":"timestamp"},
    "ResourceDataSyncDestinationDataSharing":{
      "type":"structure",
      "members":{
        "DestinationDataSharingType":{
          "shape":"ResourceDataSyncDestinationDataSharingType",
          "documentation":"<p>The sharing data type. Only <code>Organization</code> is supported.</p>"
        }
      },
      "documentation":"<p>Synchronize Amazon Web Services Systems Manager Inventory data from multiple Amazon Web Services accounts defined in Organizations to a centralized Amazon S3 bucket. Data is synchronized to individual key prefixes in the central bucket. Each key prefix represents a different Amazon Web Services account ID.</p>"
    },
    "ResourceDataSyncDestinationDataSharingType":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncEnableAllOpsDataSources":{"type":"boolean"},
    "ResourceDataSyncIncludeFutureRegions":{"type":"boolean"},
    "ResourceDataSyncInvalidConfigurationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified sync configuration is invalid.</p>",
      "exception":true
    },
    "ResourceDataSyncItem":{
      "type":"structure",
      "members":{
        "SyncName":{
          "shape":"ResourceDataSyncName",
          "documentation":"<p>The name of the resource data sync.</p>"
        },
        "SyncType":{
          "shape":"ResourceDataSyncType",
          "documentation":"<p>The type of resource data sync. If <code>SyncType</code> is <code>SyncToDestination</code>, then the resource data sync synchronizes data to an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then the resource data sync synchronizes data from Organizations or from multiple Amazon Web Services Regions.</p>"
        },
        "SyncSource":{
          "shape":"ResourceDataSyncSourceWithState",
          "documentation":"<p>Information about the source where the data was synchronized. </p>"
        },
        "S3Destination":{
          "shape":"ResourceDataSyncS3Destination",
          "documentation":"<p>Configuration information for the target S3 bucket.</p>"
        },
        "LastSyncTime":{
          "shape":"LastResourceDataSyncTime",
          "documentation":"<p>The last time the configuration attempted to sync (UTC).</p>"
        },
        "LastSuccessfulSyncTime":{
          "shape":"LastSuccessfulResourceDataSyncTime",
          "documentation":"<p>The last time the sync operations returned a status of <code>SUCCESSFUL</code> (UTC).</p>"
        },
        "SyncLastModifiedTime":{
          "shape":"ResourceDataSyncLastModifiedTime",
          "documentation":"<p>The date and time the resource data sync was changed. </p>"
        },
        "LastStatus":{
          "shape":"LastResourceDataSyncStatus",
          "documentation":"<p>The status reported by the last sync.</p>"
        },
        "SyncCreatedTime":{
          "shape":"ResourceDataSyncCreatedTime",
          "documentation":"<p>The date and time the configuration was created (UTC).</p>"
        },
        "LastSyncStatusMessage":{
          "shape":"LastResourceDataSyncMessage",
          "documentation":"<p>The status message details reported by the last sync.</p>"
        }
      },
      "documentation":"<p>Information about a resource data sync configuration, including its current status and last successful sync.</p>"
    },
    "ResourceDataSyncItemList":{
      "type":"list",
      "member":{"shape":"ResourceDataSyncItem"}
    },
    "ResourceDataSyncLastModifiedTime":{"type":"timestamp"},
    "ResourceDataSyncName":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncNotFoundException":{
      "type":"structure",
      "members":{
        "SyncName":{"shape":"ResourceDataSyncName"},
        "SyncType":{"shape":"ResourceDataSyncType"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified sync name wasn't found.</p>",
      "exception":true
    },
    "ResourceDataSyncOrganizationSourceType":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncOrganizationalUnit":{
      "type":"structure",
      "members":{
        "OrganizationalUnitId":{
          "shape":"ResourceDataSyncOrganizationalUnitId",
          "documentation":"<p>The Organizations unit ID data source for the sync.</p>"
        }
      },
      "documentation":"<p>The Organizations organizational unit data source for the sync.</p>"
    },
    "ResourceDataSyncOrganizationalUnitId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$"
    },
    "ResourceDataSyncOrganizationalUnitList":{
      "type":"list",
      "member":{"shape":"ResourceDataSyncOrganizationalUnit"},
      "max":1000,
      "min":1
    },
    "ResourceDataSyncS3BucketName":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "ResourceDataSyncS3Destination":{
      "type":"structure",
      "required":[
        "BucketName",
        "SyncFormat",
        "Region"
      ],
      "members":{
        "BucketName":{
          "shape":"ResourceDataSyncS3BucketName",
          "documentation":"<p>The name of the S3 bucket where the aggregated data is stored.</p>"
        },
        "Prefix":{
          "shape":"ResourceDataSyncS3Prefix",
          "documentation":"<p>An Amazon S3 prefix for the bucket.</p>"
        },
        "SyncFormat":{
          "shape":"ResourceDataSyncS3Format",
          "documentation":"<p>A supported sync format. The following format is currently supported: JsonSerDe</p>"
        },
        "Region":{
          "shape":"ResourceDataSyncS3Region",
          "documentation":"<p>The Amazon Web Services Region with the S3 bucket targeted by the resource data sync.</p>"
        },
        "AWSKMSKeyARN":{
          "shape":"ResourceDataSyncAWSKMSKeyARN",
          "documentation":"<p>The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination S3 bucket.</p>"
        },
        "DestinationDataSharing":{
          "shape":"ResourceDataSyncDestinationDataSharing",
          "documentation":"<p>Enables destination data sharing. By default, this field is <code>null</code>.</p>"
        }
      },
      "documentation":"<p>Information about the target S3 bucket for the resource data sync.</p>"
    },
    "ResourceDataSyncS3Format":{
      "type":"string",
      "enum":["JsonSerDe"]
    },
    "ResourceDataSyncS3Prefix":{
      "type":"string",
      "max":256,
      "min":1
    },
    "ResourceDataSyncS3Region":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncSource":{
      "type":"structure",
      "required":[
        "SourceType",
        "SourceRegions"
      ],
      "members":{
        "SourceType":{
          "shape":"ResourceDataSyncSourceType",
          "documentation":"<p>The type of data source for the resource data sync. <code>SourceType</code> is either <code>AwsOrganizations</code> (if an organization is present in Organizations) or <code>SingleAccountMultiRegions</code>.</p>"
        },
        "AwsOrganizationsSource":{
          "shape":"ResourceDataSyncAwsOrganizationsSource",
          "documentation":"<p>Information about the <code>AwsOrganizationsSource</code> resource data sync source. A sync source of this type can synchronize data from Organizations.</p>"
        },
        "SourceRegions":{
          "shape":"ResourceDataSyncSourceRegionList",
          "documentation":"<p>The <code>SyncSource</code> Amazon Web Services Regions included in the resource data sync.</p>"
        },
        "IncludeFutureRegions":{
          "shape":"ResourceDataSyncIncludeFutureRegions",
          "documentation":"<p>Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions come online.</p>"
        },
        "EnableAllOpsDataSources":{
          "shape":"ResourceDataSyncEnableAllOpsDataSources",
          "documentation":"<p>When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in your organization (or in the selected organization units). For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resouce-data-sync-multiple-accounts-and-regions.html\">About multiple account and Region resource data syncs</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        }
      },
      "documentation":"<p>Information about the source of the data included in the resource data sync.</p>"
    },
    "ResourceDataSyncSourceRegion":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncSourceRegionList":{
      "type":"list",
      "member":{"shape":"ResourceDataSyncSourceRegion"}
    },
    "ResourceDataSyncSourceType":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncSourceWithState":{
      "type":"structure",
      "members":{
        "SourceType":{
          "shape":"ResourceDataSyncSourceType",
          "documentation":"<p>The type of data source for the resource data sync. <code>SourceType</code> is either <code>AwsOrganizations</code> (if an organization is present in Organizations) or <code>singleAccountMultiRegions</code>.</p>"
        },
        "AwsOrganizationsSource":{
          "shape":"ResourceDataSyncAwsOrganizationsSource",
          "documentation":"<p>The field name in <code>SyncSource</code> for the <code>ResourceDataSyncAwsOrganizationsSource</code> type.</p>"
        },
        "SourceRegions":{
          "shape":"ResourceDataSyncSourceRegionList",
          "documentation":"<p>The <code>SyncSource</code> Amazon Web Services Regions included in the resource data sync.</p>"
        },
        "IncludeFutureRegions":{
          "shape":"ResourceDataSyncIncludeFutureRegions",
          "documentation":"<p>Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions come online.</p>"
        },
        "State":{
          "shape":"ResourceDataSyncState",
          "documentation":"<p>The data type name for including resource data sync state. There are four sync states:</p> <p> <code>OrganizationNotExists</code>: Your organization doesn't exist.</p> <p> <code>NoPermissions</code>: The system can't locate the service-linked role. This role is automatically created when a user creates a resource data sync in Explorer.</p> <p> <code>InvalidOrganizationalUnit</code>: You specified or selected an invalid unit in the resource data sync configuration.</p> <p> <code>TrustedAccessDisabled</code>: You disabled Systems Manager access in the organization in Organizations.</p>"
        },
        "EnableAllOpsDataSources":{
          "shape":"ResourceDataSyncEnableAllOpsDataSources",
          "documentation":"<p>When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in your organization (or in the selected organization units). For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resouce-data-sync-multiple-accounts-and-regions.html\">About multiple account and Region resource data syncs</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        }
      },
      "documentation":"<p>The data type name for including resource data sync state. There are four sync states:</p> <p> <code>OrganizationNotExists</code> (Your organization doesn't exist)</p> <p> <code>NoPermissions</code> (The system can't locate the service-linked role. This role is automatically created when a user creates a resource data sync in Amazon Web Services Systems Manager Explorer.)</p> <p> <code>InvalidOrganizationalUnit</code> (You specified or selected an invalid unit in the resource data sync configuration.)</p> <p> <code>TrustedAccessDisabled</code> (You disabled Systems Manager access in the organization in Organizations.)</p>"
    },
    "ResourceDataSyncState":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceDataSyncType":{
      "type":"string",
      "max":64,
      "min":1
    },
    "ResourceId":{"type":"string"},
    "ResourceInUseException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Error returned if an attempt is made to delete a patch baseline that is registered for a patch group.</p>",
      "exception":true
    },
    "ResourceLimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Error returned when the caller has exceeded the default resource quotas. For example, too many maintenance windows or patch baselines have been created.</p> <p>For information about resource quotas in Systems Manager, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm\">Systems Manager service quotas</a> in the <i>Amazon Web Services General Reference</i>.</p>",
      "exception":true
    },
    "ResourcePolicyConflictException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The hash provided in the call doesn't match the stored hash. This exception is thrown when trying to update an obsolete policy version or when multiple requests to update a policy are sent.</p>",
      "exception":true
    },
    "ResourcePolicyInvalidParameterException":{
      "type":"structure",
      "members":{
        "ParameterNames":{"shape":"ResourcePolicyParameterNamesList"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>One or more parameters specified for the call aren't valid. Verify the parameters and their values and try again.</p>",
      "exception":true
    },
    "ResourcePolicyLimitExceededException":{
      "type":"structure",
      "members":{
        "Limit":{"shape":"Integer"},
        "LimitType":{"shape":"String"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The <a>PutResourcePolicy</a> API action enforces two limits. A policy can't be greater than 1024 bytes in size. And only one policy can be attached to <code>OpsItemGroup</code>. Verify these limits and try again.</p>",
      "exception":true
    },
    "ResourcePolicyMaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "ResourcePolicyParameterNamesList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "ResourceType":{
      "type":"string",
      "enum":[
        "ManagedInstance",
        "EC2Instance"
      ]
    },
    "ResourceTypeForTagging":{
      "type":"string",
      "enum":[
        "Document",
        "ManagedInstance",
        "MaintenanceWindow",
        "Parameter",
        "PatchBaseline",
        "OpsItem",
        "OpsMetadata",
        "Automation",
        "Association"
      ]
    },
    "ResponseCode":{"type":"integer"},
    "ResultAttribute":{
      "type":"structure",
      "required":["TypeName"],
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>Name of the inventory item type. Valid value: <code>AWS:InstanceInformation</code>. Default Value: <code>AWS:InstanceInformation</code>.</p>"
        }
      },
      "documentation":"<p>The inventory item result attribute.</p>"
    },
    "ResultAttributeList":{
      "type":"list",
      "member":{"shape":"ResultAttribute"},
      "max":1,
      "min":1
    },
    "ResumeSessionRequest":{
      "type":"structure",
      "required":["SessionId"],
      "members":{
        "SessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the disconnected session to resume.</p>"
        }
      }
    },
    "ResumeSessionResponse":{
      "type":"structure",
      "members":{
        "SessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session.</p>"
        },
        "TokenValue":{
          "shape":"TokenValue",
          "documentation":"<p>An encrypted token value containing session and caller information. Used to authenticate the connection to the managed node.</p>"
        },
        "StreamUrl":{
          "shape":"StreamUrl",
          "documentation":"<p>A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and receive output from the managed node. Format: <code>wss://ssmmessages.<b>region</b>.amazonaws.com/v1/data-channel/<b>session-id</b>?stream=(input|output)</code>.</p> <p> <b>region</b> represents the Region identifier for an Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as <code>us-east-2</code> for the US East (Ohio) Region. For a list of supported <b>region</b> values, see the <b>Region</b> column in <a href=\"https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region\">Systems Manager service endpoints</a> in the <i>Amazon Web Services General Reference</i>.</p> <p> <b>session-id</b> represents the ID of a Session Manager session, such as <code>1a2b3c4dEXAMPLE</code>.</p>"
        }
      }
    },
    "ReviewInformation":{
      "type":"structure",
      "members":{
        "ReviewedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the reviewer took action on the document review request.</p>"
        },
        "Status":{
          "shape":"ReviewStatus",
          "documentation":"<p>The current status of the document review request.</p>"
        },
        "Reviewer":{
          "shape":"Reviewer",
          "documentation":"<p>The reviewer assigned to take action on the document review request.</p>"
        }
      },
      "documentation":"<p>Information about the result of a document review request.</p>"
    },
    "ReviewInformationList":{
      "type":"list",
      "member":{"shape":"ReviewInformation"},
      "min":1
    },
    "ReviewStatus":{
      "type":"string",
      "enum":[
        "APPROVED",
        "NOT_REVIEWED",
        "PENDING",
        "REJECTED"
      ]
    },
    "Reviewer":{
      "type":"string",
      "max":50,
      "pattern":"^[a-zA-Z0-9_\\-.]{1,128}$"
    },
    "Runbook":{
      "type":"structure",
      "required":["DocumentName"],
      "members":{
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the Automation runbook used in a runbook workflow.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the Automation runbook used in a runbook workflow.</p>",
          "box":true
        },
        "Parameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The key-value map of execution parameters, which were supplied when calling <code>StartChangeRequestExecution</code>.</p>"
        },
        "TargetParameterName":{
          "shape":"AutomationParameterKey",
          "documentation":"<p>The name of the parameter used as the target resource for the rate-controlled runbook workflow. Required if you specify <code>Targets</code>. </p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>A key-value mapping to target resources that the runbook operation performs tasks on. Required if you specify <code>TargetParameterName</code>.</p>"
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of runbook parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The <code>MaxConcurrency</code> value specified by the user when the operation started, indicating the maximum number of resources that the runbook operation can run on at the same time.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The <code>MaxErrors</code> value specified by the user when the execution started, indicating the maximum number of errors that can occur during the operation before the updates are stopped or rolled back.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>Information about the Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Runbook operation.</p>",
          "box":true
        }
      },
      "documentation":"<p>Information about an Automation runbook used in a runbook workflow in Change Manager.</p> <note> <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p> </note>"
    },
    "Runbooks":{
      "type":"list",
      "member":{"shape":"Runbook"},
      "max":1,
      "min":1
    },
    "S3BucketName":{
      "type":"string",
      "max":63,
      "min":3
    },
    "S3KeyPrefix":{
      "type":"string",
      "max":500
    },
    "S3OutputLocation":{
      "type":"structure",
      "members":{
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>The Amazon Web Services Region of the S3 bucket.</p>"
        },
        "OutputS3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The name of the S3 bucket.</p>"
        },
        "OutputS3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>The S3 bucket subfolder.</p>"
        }
      },
      "documentation":"<p>An S3 bucket where you want to store the results of this request.</p>"
    },
    "S3OutputUrl":{
      "type":"structure",
      "members":{
        "OutputUrl":{
          "shape":"Url",
          "documentation":"<p>A URL for an S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>A URL for the Amazon Web Services Systems Manager (Systems Manager) bucket where you want to store the results of this request.</p>"
    },
    "S3Region":{
      "type":"string",
      "max":20,
      "min":3
    },
    "ScheduleExpression":{
      "type":"string",
      "max":256,
      "min":1
    },
    "ScheduleOffset":{
      "type":"integer",
      "max":6,
      "min":1
    },
    "ScheduledWindowExecution":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window to be run.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window to be run.</p>"
        },
        "ExecutionTime":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.</p>"
        }
      },
      "documentation":"<p>Information about a scheduled execution for a maintenance window.</p>"
    },
    "ScheduledWindowExecutionList":{
      "type":"list",
      "member":{"shape":"ScheduledWindowExecution"}
    },
    "SendAutomationSignalRequest":{
      "type":"structure",
      "required":[
        "AutomationExecutionId",
        "SignalType"
      ],
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The unique identifier for an existing Automation execution that you want to send the signal to.</p>"
        },
        "SignalType":{
          "shape":"SignalType",
          "documentation":"<p>The type of signal to send to an Automation execution. </p>"
        },
        "Payload":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The data sent with the signal. The data schema depends on the type of signal used in the request.</p> <p>For <code>Approve</code> and <code>Reject</code> signal types, the payload is an optional comment that you can send with the signal type. For example:</p> <p> <code>Comment=\"Looks good\"</code> </p> <p>For <code>StartStep</code> and <code>Resume</code> signal types, you must send the name of the Automation step to start or resume as the payload. For example:</p> <p> <code>StepName=\"step1\"</code> </p> <p>For the <code>StopStep</code> signal type, you must send the step execution ID as the payload. For example:</p> <p> <code>StepExecutionId=\"97fff367-fc5a-4299-aed8-0123456789ab\"</code> </p>"
        }
      }
    },
    "SendAutomationSignalResult":{
      "type":"structure",
      "members":{
      }
    },
    "SendCommandRequest":{
      "type":"structure",
      "required":["DocumentName"],
      "members":{
        "InstanceIds":{
          "shape":"InstanceIdList",
          "documentation":"<p>The IDs of the managed nodes where the command should run. Specifying managed node IDs is most useful when you are targeting a limited number of managed nodes, though you can specify up to 50 IDs.</p> <p>To target a larger number of managed nodes, or if you prefer not to list individual node IDs, we recommend using the <code>Targets</code> option instead. Using <code>Targets</code>, which accepts tag key-value pairs to identify the managed nodes to send commands to, you can a send command to tens, hundreds, or thousands of nodes at once.</p> <p>For more information about how to use targets, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html\">Using targets and rate controls to send commands to a fleet</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>An array of search criteria that targets managed nodes using a <code>Key,Value</code> combination that you specify. Specifying targets is most useful when you want to send a command to a large number of managed nodes at once. Using <code>Targets</code>, which accepts tag key-value pairs to identify managed nodes, you can send a command to tens, hundreds, or thousands of nodes at once.</p> <p>To send a command to a smaller number of managed nodes, you can use the <code>InstanceIds</code> option instead.</p> <p>For more information about how to use targets, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html\">Sending commands to a fleet</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the Amazon Web Services Systems Manager document (SSM document) to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document Amazon Resource Name (ARN). For more information about how to use shared documents, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html\">Using shared SSM documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <note> <p>If you specify a document name or ARN that hasn't been shared with your account, you receive an <code>InvalidDocument</code> error. </p> </note>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the Command Line Interface (Amazon Web Services CLI), then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:</p> <p>--document-version \"\\$DEFAULT\"</p> <p>--document-version \"\\$LATEST\"</p> <p>--document-version \"3\"</p>"
        },
        "DocumentHash":{
          "shape":"DocumentHash",
          "documentation":"<p>The Sha256 or Sha1 hash created by the system when the document was created. </p> <note> <p>Sha1 hashes have been deprecated.</p> </note>"
        },
        "DocumentHashType":{
          "shape":"DocumentHashType",
          "documentation":"<p>Sha256 or Sha1.</p> <note> <p>Sha1 hashes have been deprecated.</p> </note>"
        },
        "TimeoutSeconds":{
          "shape":"TimeoutSeconds",
          "documentation":"<p>If this time is reached and the command hasn't already started running, it won't run.</p>",
          "box":true
        },
        "Comment":{
          "shape":"Comment",
          "documentation":"<p>User-specified information about the command, such as a brief description of what the command should do.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The required and optional parameters specified in the document being run.</p>"
        },
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>"
        },
        "OutputS3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The name of the S3 bucket where command execution responses should be stored.</p>"
        },
        "OutputS3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>The directory structure within the S3 bucket where the responses should be stored.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>(Optional) The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is <code>50</code>. For more information about how to use <code>MaxConcurrency</code>, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity\">Using concurrency controls</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of <code>MaxErrors</code>, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors\">Using error controls</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The ARN of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.</p> <p>This role must provide the <code>sns:Publish</code> permission for your notification topic. For information about creating and using this service role, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html\">Monitoring Systems Manager status changes using Amazon SNS notifications</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "NotificationConfig":{
          "shape":"NotificationConfig",
          "documentation":"<p>Configurations for sending notifications.</p>"
        },
        "CloudWatchOutputConfig":{
          "shape":"CloudWatchOutputConfig",
          "documentation":"<p>Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a capability of Amazon Web Services Systems Manager.</p>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The CloudWatch alarm you want to apply to your command.</p>"
        }
      }
    },
    "SendCommandResult":{
      "type":"structure",
      "members":{
        "Command":{
          "shape":"Command",
          "documentation":"<p>The request as it was received by Systems Manager. Also provides the command ID which can be used future references to this request.</p>"
        }
      }
    },
    "ServiceRole":{"type":"string"},
    "ServiceSetting":{
      "type":"structure",
      "members":{
        "SettingId":{
          "shape":"ServiceSettingId",
          "documentation":"<p>The ID of the service setting.</p>"
        },
        "SettingValue":{
          "shape":"ServiceSettingValue",
          "documentation":"<p>The value of the service setting.</p>"
        },
        "LastModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>The last time the service setting was modified.</p>"
        },
        "LastModifiedUser":{
          "shape":"String",
          "documentation":"<p>The ARN of the last modified user. This field is populated only if the setting value was overwritten.</p>"
        },
        "ARN":{
          "shape":"String",
          "documentation":"<p>The ARN of the service setting.</p>"
        },
        "Status":{
          "shape":"String",
          "documentation":"<p>The status of the service setting. The value can be Default, Customized or PendingUpdate.</p> <ul> <li> <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service team.</p> </li> <li> <p>Customized: The current setting use a custom value specified by the customer.</p> </li> <li> <p>PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.</p> </li> </ul>"
        }
      },
      "documentation":"<p>The service setting data structure.</p> <p> <code>ServiceSetting</code> 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.</p> <p>Services map a <code>SettingId</code> object to a setting value. Amazon Web Services services teams define the default value for a <code>SettingId</code>. You can't create a new <code>SettingId</code>, but you can overwrite the default value if you have the <code>ssm:UpdateServiceSetting</code> permission for the setting. Use the <a>UpdateServiceSetting</a> API operation to change the default setting. Or, use the <a>ResetServiceSetting</a> to change the value back to the original value defined by the Amazon Web Services service team.</p>"
    },
    "ServiceSettingId":{
      "type":"string",
      "max":1000,
      "min":1
    },
    "ServiceSettingNotFound":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified service setting wasn't found. Either the service name or the setting hasn't been provisioned by the Amazon Web Services service team.</p>",
      "exception":true
    },
    "ServiceSettingValue":{
      "type":"string",
      "max":4096,
      "min":1
    },
    "Session":{
      "type":"structure",
      "members":{
        "SessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session.</p>"
        },
        "Target":{
          "shape":"SessionTarget",
          "documentation":"<p>The managed node that the Session Manager session connected to.</p>"
        },
        "Status":{
          "shape":"SessionStatus",
          "documentation":"<p>The status of the session. For example, \"Connected\" or \"Terminated\".</p>"
        },
        "StartDate":{
          "shape":"DateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, when the session began.</p>"
        },
        "EndDate":{
          "shape":"DateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, when the session was terminated.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, <code>SSM-SessionManagerRunShell</code>.</p>"
        },
        "Owner":{
          "shape":"SessionOwner",
          "documentation":"<p>The ID of the Amazon Web Services user that started the session.</p>"
        },
        "Reason":{
          "shape":"SessionReason",
          "documentation":"<p>The reason for connecting to the instance.</p>"
        },
        "Details":{
          "shape":"SessionDetails",
          "documentation":"<p>Reserved for future use.</p>"
        },
        "OutputUrl":{
          "shape":"SessionManagerOutputUrl",
          "documentation":"<p>Reserved for future use.</p>"
        },
        "MaxSessionDuration":{
          "shape":"MaxSessionDuration",
          "documentation":"<p>The maximum duration of a session before it terminates.</p>"
        }
      },
      "documentation":"<p>Information about a Session Manager connection to a managed node.</p>"
    },
    "SessionDetails":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "SessionFilter":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"SessionFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "value":{
          "shape":"SessionFilterValue",
          "documentation":"<p>The filter value. Valid values for each filter key are as follows:</p> <ul> <li> <p>InvokedAfter: Specify a timestamp to limit your results. For example, specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018, and later.</p> </li> <li> <p>InvokedBefore: Specify a timestamp to limit your results. For example, specify 2018-08-29T00:00:00Z to see sessions that started before August 29, 2018.</p> </li> <li> <p>Target: Specify a managed node to which session connections have been made.</p> </li> <li> <p>Owner: Specify an Amazon Web Services user to see a list of sessions started by that user.</p> </li> <li> <p>Status: Specify a valid session status to see a list of all sessions with that status. Status values you can specify include:</p> <ul> <li> <p>Connected</p> </li> <li> <p>Connecting</p> </li> <li> <p>Disconnected</p> </li> <li> <p>Terminated</p> </li> <li> <p>Terminating</p> </li> <li> <p>Failed</p> </li> </ul> </li> <li> <p>SessionId: Specify a session ID to return details about the session.</p> </li> </ul>"
        }
      },
      "documentation":"<p>Describes a filter for Session Manager information.</p>"
    },
    "SessionFilterKey":{
      "type":"string",
      "enum":[
        "InvokedAfter",
        "InvokedBefore",
        "Target",
        "Owner",
        "Status",
        "SessionId"
      ]
    },
    "SessionFilterList":{
      "type":"list",
      "member":{"shape":"SessionFilter"},
      "max":6,
      "min":1
    },
    "SessionFilterValue":{
      "type":"string",
      "max":400,
      "min":1
    },
    "SessionId":{
      "type":"string",
      "max":96,
      "min":1
    },
    "SessionList":{
      "type":"list",
      "member":{"shape":"Session"}
    },
    "SessionManagerCloudWatchOutputUrl":{
      "type":"string",
      "max":2083,
      "min":1
    },
    "SessionManagerOutputUrl":{
      "type":"structure",
      "members":{
        "S3OutputUrl":{
          "shape":"SessionManagerS3OutputUrl",
          "documentation":"<p>Reserved for future use.</p>"
        },
        "CloudWatchOutputUrl":{
          "shape":"SessionManagerCloudWatchOutputUrl",
          "documentation":"<p>Reserved for future use.</p>"
        }
      },
      "documentation":"<p>Reserved for future use.</p>"
    },
    "SessionManagerParameterName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "SessionManagerParameterValue":{
      "type":"string",
      "max":65535,
      "min":1
    },
    "SessionManagerParameterValueList":{
      "type":"list",
      "member":{"shape":"SessionManagerParameterValue"}
    },
    "SessionManagerParameters":{
      "type":"map",
      "key":{"shape":"SessionManagerParameterName"},
      "value":{"shape":"SessionManagerParameterValueList"}
    },
    "SessionManagerS3OutputUrl":{
      "type":"string",
      "max":2083,
      "min":1
    },
    "SessionMaxResults":{
      "type":"integer",
      "max":200,
      "min":1
    },
    "SessionOwner":{
      "type":"string",
      "max":256,
      "min":1
    },
    "SessionReason":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^.{1,256}$"
    },
    "SessionState":{
      "type":"string",
      "enum":[
        "Active",
        "History"
      ]
    },
    "SessionStatus":{
      "type":"string",
      "enum":[
        "Connected",
        "Connecting",
        "Disconnected",
        "Terminated",
        "Terminating",
        "Failed"
      ]
    },
    "SessionTarget":{
      "type":"string",
      "max":400,
      "min":1
    },
    "SeveritySummary":{
      "type":"structure",
      "members":{
        "CriticalCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources or compliance items that have a severity level of <code>Critical</code>. Critical severity is determined by the organization that published the compliance items.</p>"
        },
        "HighCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources or compliance items that have a severity level of high. High severity is determined by the organization that published the compliance items.</p>"
        },
        "MediumCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources or compliance items that have a severity level of medium. Medium severity is determined by the organization that published the compliance items.</p>"
        },
        "LowCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources or compliance items that have a severity level of low. Low severity is determined by the organization that published the compliance items.</p>"
        },
        "InformationalCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources or compliance items that have a severity level of informational. Informational severity is determined by the organization that published the compliance items.</p>"
        },
        "UnspecifiedCount":{
          "shape":"ComplianceSummaryCount",
          "documentation":"<p>The total number of resources or compliance items that have a severity level of unspecified. Unspecified severity is determined by the organization that published the compliance items.</p>"
        }
      },
      "documentation":"<p>The number of managed nodes found for each patch severity level defined in the request filter.</p>"
    },
    "SharedDocumentVersion":{
      "type":"string",
      "documentation":"<p>The document version shared with other Amazon Web Services accounts. You can share <code>Latest</code>, <code>Default</code> or <code>All versions</code>.</p>",
      "max":8,
      "pattern":"([$]LATEST|[$]DEFAULT|[$]ALL)"
    },
    "SignalType":{
      "type":"string",
      "enum":[
        "Approve",
        "Reject",
        "StartStep",
        "StopStep",
        "Resume"
      ]
    },
    "SnapshotDownloadUrl":{"type":"string"},
    "SnapshotId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "SourceId":{
      "type":"string",
      "max":128,
      "min":0,
      "pattern":"^[a-zA-Z0-9:_-]*$"
    },
    "SourceType":{
      "type":"string",
      "enum":[
        "AWS::EC2::Instance",
        "AWS::IoT::Thing",
        "AWS::SSM::ManagedInstance"
      ]
    },
    "StandardErrorContent":{
      "type":"string",
      "max":8000
    },
    "StandardOutputContent":{
      "type":"string",
      "max":24000
    },
    "StartAssociationsOnceRequest":{
      "type":"structure",
      "required":["AssociationIds"],
      "members":{
        "AssociationIds":{
          "shape":"AssociationIdList",
          "documentation":"<p>The association IDs that you want to run immediately and only one time.</p>"
        }
      }
    },
    "StartAssociationsOnceResult":{
      "type":"structure",
      "members":{
      }
    },
    "StartAutomationExecutionRequest":{
      "type":"structure",
      "required":["DocumentName"],
      "members":{
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document ARN. For more information about how to use shared documents, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html\">Using shared SSM documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the Automation runbook to use for this execution.</p>",
          "box":true
        },
        "Parameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>A key-value map of execution parameters, which match the declared parameters in the Automation runbook.</p>"
        },
        "ClientToken":{
          "shape":"IdempotencyToken",
          "documentation":"<p>User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>"
        },
        "Mode":{
          "shape":"ExecutionMode",
          "documentation":"<p>The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.</p>"
        },
        "TargetParameterName":{
          "shape":"AutomationParameterKey",
          "documentation":"<p>The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>A key-value mapping to target resources. Required if you specify TargetParameterName.</p>"
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is <code>10</code>.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.</p> <p>Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple Amazon Web Services accounts. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html\">Running Automation workflows in multiple Amazon Web Services Regions and Amazon Web Services accounts</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>",
          "box":true
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=environment,Value=test</code> </p> </li> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> </ul> <note> <p>To add tags to an existing automation, use the <a>AddTagsToResource</a> operation.</p> </note>"
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The CloudWatch alarm you want to apply to your automation.</p>"
        }
      }
    },
    "StartAutomationExecutionResult":{
      "type":"structure",
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The unique ID of a newly scheduled automation execution.</p>"
        }
      }
    },
    "StartChangeRequestExecutionRequest":{
      "type":"structure",
      "required":[
        "DocumentName",
        "Runbooks"
      ],
      "members":{
        "ScheduledTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time specified in the change request to run the Automation runbooks.</p> <note> <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p> </note>"
        },
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the change template document to run during the runbook workflow.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the change template document to run during the runbook workflow.</p>",
          "box":true
        },
        "Parameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>A key-value map of parameters that match the declared parameters in the change template document.</p>"
        },
        "ChangeRequestName":{
          "shape":"ChangeRequestName",
          "documentation":"<p>The name of the change request associated with the runbook workflow to be run.</p>"
        },
        "ClientToken":{
          "shape":"IdempotencyToken",
          "documentation":"<p>The user-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>"
        },
        "AutoApprove":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the change request can be approved automatically without the need for manual approvals.</p> <p>If <code>AutoApprovable</code> is enabled in a change template, then setting <code>AutoApprove</code> to <code>true</code> in <code>StartChangeRequestExecution</code> creates a change request that bypasses approver review.</p> <note> <p>Change Calendar restrictions are not bypassed in this scenario. If the state of an associated calendar is <code>CLOSED</code>, change freeze approvers must still grant permission for this change request to run. If they don't, the change won't be processed until the calendar state is again <code>OPEN</code>. </p> </note>"
        },
        "Runbooks":{
          "shape":"Runbooks",
          "documentation":"<p>Information about the Automation runbooks that are run during the runbook workflow.</p> <note> <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p> </note>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:</p> <ul> <li> <p> <code>Key=Environment,Value=Production</code> </p> </li> <li> <p> <code>Key=Region,Value=us-east-2</code> </p> </li> </ul>"
        },
        "ScheduledEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the requester expects the runbook workflow related to the change request to complete. The time is an estimate only that the requester provides for reviewers.</p>"
        },
        "ChangeDetails":{
          "shape":"ChangeDetailsValue",
          "documentation":"<p>User-provided details about the change. If no details are provided, content specified in the <b>Template information</b> section of the associated change template is added.</p>"
        }
      }
    },
    "StartChangeRequestExecutionResult":{
      "type":"structure",
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The unique ID of a runbook workflow operation. (A runbook workflow is a type of Automation operation.) </p>"
        }
      }
    },
    "StartSessionRequest":{
      "type":"structure",
      "required":["Target"],
      "members":{
        "Target":{
          "shape":"SessionTarget",
          "documentation":"<p>The managed node to connect to for the session.</p>"
        },
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document you want to use to define the type of session, input parameters, or preferences for the session. For example, <code>SSM-SessionManagerRunShell</code>. You can call the <a>GetDocument</a> API to verify the document exists before attempting to start a session. If no document name is provided, a shell to the managed node is launched by default. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html\">Start a session</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "Reason":{
          "shape":"SessionReason",
          "documentation":"<p>The reason for connecting to the instance. This value is included in the details for the Amazon CloudWatch Events event created when you start the session.</p>"
        },
        "Parameters":{
          "shape":"SessionManagerParameters",
          "documentation":"<p>The values you want to specify for the parameters defined in the Session document.</p>"
        }
      }
    },
    "StartSessionResponse":{
      "type":"structure",
      "members":{
        "SessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session.</p>"
        },
        "TokenValue":{
          "shape":"TokenValue",
          "documentation":"<p>An encrypted token value containing session and caller information. This token is used to authenticate the connection to the managed node, and is valid only long enough to ensure the connection is successful. Never share your session's token.</p>"
        },
        "StreamUrl":{
          "shape":"StreamUrl",
          "documentation":"<p>A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and receive output from the node. Format: <code>wss://ssmmessages.<b>region</b>.amazonaws.com/v1/data-channel/<b>session-id</b>?stream=(input|output)</code> </p> <p> <b>region</b> represents the Region identifier for an Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as <code>us-east-2</code> for the US East (Ohio) Region. For a list of supported <b>region</b> values, see the <b>Region</b> column in <a href=\"https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region\">Systems Manager service endpoints</a> in the <i>Amazon Web Services General Reference</i>.</p> <p> <b>session-id</b> represents the ID of a Session Manager session, such as <code>1a2b3c4dEXAMPLE</code>.</p>"
        }
      }
    },
    "StatusAdditionalInfo":{
      "type":"string",
      "max":1024
    },
    "StatusDetails":{
      "type":"string",
      "max":100,
      "min":0
    },
    "StatusMessage":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "StatusName":{"type":"string"},
    "StatusUnchanged":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The updated status is the same as the current status.</p>",
      "exception":true
    },
    "StepExecution":{
      "type":"structure",
      "members":{
        "StepName":{
          "shape":"String",
          "documentation":"<p>The name of this execution step.</p>"
        },
        "Action":{
          "shape":"AutomationActionName",
          "documentation":"<p>The action this step performs. The action determines the behavior of the step.</p>"
        },
        "TimeoutSeconds":{
          "shape":"Long",
          "documentation":"<p>The timeout seconds of the step.</p>",
          "box":true
        },
        "OnFailure":{
          "shape":"String",
          "documentation":"<p>The action to take if the step fails. The default value is <code>Abort</code>.</p>"
        },
        "MaxAttempts":{
          "shape":"Integer",
          "documentation":"<p>The maximum number of tries to run the action of the step. The default value is <code>1</code>.</p>",
          "box":true
        },
        "ExecutionStartTime":{
          "shape":"DateTime",
          "documentation":"<p>If a step has begun execution, this contains the time the step started. If the step is in Pending status, this field isn't populated.</p>"
        },
        "ExecutionEndTime":{
          "shape":"DateTime",
          "documentation":"<p>If a step has finished execution, this contains the time the execution ended. If the step hasn't yet concluded, this field isn't populated.</p>"
        },
        "StepStatus":{
          "shape":"AutomationExecutionStatus",
          "documentation":"<p>The execution status for this step.</p>"
        },
        "ResponseCode":{
          "shape":"String",
          "documentation":"<p>The response code returned by the execution of the step.</p>"
        },
        "Inputs":{
          "shape":"NormalStringMap",
          "documentation":"<p>Fully-resolved values passed into the step before execution.</p>"
        },
        "Outputs":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>Returned values from the execution of the step.</p>"
        },
        "Response":{
          "shape":"String",
          "documentation":"<p>A message associated with the response code for an execution.</p>"
        },
        "FailureMessage":{
          "shape":"String",
          "documentation":"<p>If a step failed, this message explains why the execution failed.</p>"
        },
        "FailureDetails":{
          "shape":"FailureDetails",
          "documentation":"<p>Information about the Automation failure.</p>"
        },
        "StepExecutionId":{
          "shape":"String",
          "documentation":"<p>The unique ID of a step execution.</p>"
        },
        "OverriddenParameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>A user-specified list of parameters to override when running a step.</p>"
        },
        "IsEnd":{
          "shape":"Boolean",
          "documentation":"<p>The flag which can be used to end automation no matter whether the step succeeds or fails.</p>",
          "box":true
        },
        "NextStep":{
          "shape":"String",
          "documentation":"<p>The next step after the step succeeds.</p>",
          "box":true
        },
        "IsCritical":{
          "shape":"Boolean",
          "documentation":"<p>The flag which can be used to help decide whether the failure of current step leads to the Automation failure.</p>",
          "box":true
        },
        "ValidNextSteps":{
          "shape":"ValidNextStepList",
          "documentation":"<p>Strategies used when step fails, we support Continue and Abort. Abort will fail the automation when the step fails. Continue will ignore the failure of current step and allow automation to run the next step. With conditional branching, we add step:stepName to support the automation to go to another specific step.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets for the step execution.</p>",
          "box":true
        },
        "TargetLocation":{
          "shape":"TargetLocation",
          "documentation":"<p>The combination of Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Automation execution.</p>",
          "box":true
        },
        "TriggeredAlarms":{
          "shape":"AlarmStateInformationList",
          "documentation":"<p>The CloudWatch alarms that were invoked by the automation.</p>"
        },
        "ParentStepDetails":{
          "shape":"ParentStepDetails",
          "documentation":"<p>Information about the parent step.</p>"
        }
      },
      "documentation":"<p>Detailed information about an the execution state of an Automation step.</p>"
    },
    "StepExecutionFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"StepExecutionFilterKey",
          "documentation":"<p>One or more keys to limit the results.</p>"
        },
        "Values":{
          "shape":"StepExecutionFilterValueList",
          "documentation":"<p>The values of the filter key.</p>"
        }
      },
      "documentation":"<p>A filter to limit the amount of step execution information returned by the call.</p>"
    },
    "StepExecutionFilterKey":{
      "type":"string",
      "enum":[
        "StartTimeBefore",
        "StartTimeAfter",
        "StepExecutionStatus",
        "StepExecutionId",
        "StepName",
        "Action",
        "ParentStepExecutionId",
        "ParentStepIteration",
        "ParentStepIteratorValue"
      ]
    },
    "StepExecutionFilterList":{
      "type":"list",
      "member":{"shape":"StepExecutionFilter"},
      "max":6,
      "min":1
    },
    "StepExecutionFilterValue":{
      "type":"string",
      "max":150,
      "min":1
    },
    "StepExecutionFilterValueList":{
      "type":"list",
      "member":{"shape":"StepExecutionFilterValue"},
      "max":10,
      "min":1
    },
    "StepExecutionList":{
      "type":"list",
      "member":{"shape":"StepExecution"}
    },
    "StopAutomationExecutionRequest":{
      "type":"structure",
      "required":["AutomationExecutionId"],
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The execution ID of the Automation to stop.</p>"
        },
        "Type":{
          "shape":"StopType",
          "documentation":"<p>The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.</p>"
        }
      }
    },
    "StopAutomationExecutionResult":{
      "type":"structure",
      "members":{
      }
    },
    "StopType":{
      "type":"string",
      "enum":[
        "Complete",
        "Cancel"
      ]
    },
    "StreamUrl":{"type":"string"},
    "String":{"type":"string"},
    "StringDateTime":{
      "type":"string",
      "pattern":"^([\\-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d(?!:))?)?(\\17[0-5]\\d([\\.,]\\d)?)?([zZ]|([\\-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$"
    },
    "StringList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "SubTypeCountLimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The sub-type count exceeded the limit for the inventory type.</p>",
      "exception":true
    },
    "Tag":{
      "type":"structure",
      "required":[
        "Key",
        "Value"
      ],
      "members":{
        "Key":{
          "shape":"TagKey",
          "documentation":"<p>The name of the tag.</p>"
        },
        "Value":{
          "shape":"TagValue",
          "documentation":"<p>The value of the tag.</p>"
        }
      },
      "documentation":"<p>Metadata that you assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Amazon Web Services Systems Manager, you can apply tags to Systems Manager documents (SSM documents), managed nodes, maintenance windows, parameters, patch baselines, OpsItems, and OpsMetadata.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "max":1000
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "Target":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"TargetKey",
          "documentation":"<p>User-defined criteria for sending commands that target managed nodes that meet the criteria.</p>"
        },
        "Values":{
          "shape":"TargetValues",
          "documentation":"<p>User-defined criteria that maps to <code>Key</code>. For example, if you specified <code>tag:ServerRole</code>, you could specify <code>value:WebServer</code> to run a command on instances that include EC2 tags of <code>ServerRole,WebServer</code>. </p> <p>Depending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.</p>"
        }
      },
      "documentation":"<p>An array of search criteria that targets managed nodes using a key-value pair that you specify.</p> <note> <p> 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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">Registering maintenance window tasks without targets</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </note> <p>Supported formats include the following.</p> <ul> <li> <p> <code>Key=InstanceIds,Values=&lt;instance-id-1&gt;,&lt;instance-id-2&gt;,&lt;instance-id-3&gt;</code> </p> </li> <li> <p> <code>Key=tag:&lt;my-tag-key&gt;,Values=&lt;my-tag-value-1&gt;,&lt;my-tag-value-2&gt;</code> </p> </li> <li> <p> <code>Key=tag-key,Values=&lt;my-tag-key-1&gt;,&lt;my-tag-key-2&gt;</code> </p> </li> <li> <p> <b>Run Command and Maintenance window targets only</b>: <code>Key=resource-groups:Name,Values=&lt;resource-group-name&gt;</code> </p> </li> <li> <p> <b>Maintenance window targets only</b>: <code>Key=resource-groups:ResourceTypeFilters,Values=&lt;resource-type-1&gt;,&lt;resource-type-2&gt;</code> </p> </li> <li> <p> <b>Automation targets only</b>: <code>Key=ResourceGroup;Values=&lt;resource-group-name&gt;</code> </p> </li> </ul> <p>For example:</p> <ul> <li> <p> <code>Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE</code> </p> </li> <li> <p> <code>Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3</code> </p> </li> <li> <p> <code>Key=tag-key,Values=Name,Instance-Type,CostCenter</code> </p> </li> <li> <p> <b>Run Command and Maintenance window targets only</b>: <code>Key=resource-groups:Name,Values=ProductionResourceGroup</code> </p> <p>This example demonstrates how to target all resources in the resource group <b>ProductionResourceGroup</b> in your maintenance window.</p> </li> <li> <p> <b>Maintenance window targets only</b>: <code>Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC</code> </p> <p>This example demonstrates how to target only Amazon Elastic Compute Cloud (Amazon EC2) instances and VPCs in your maintenance window.</p> </li> <li> <p> <b>Automation targets only</b>: <code>Key=ResourceGroup,Values=MyResourceGroup</code> </p> </li> <li> <p> <b>State Manager association targets only</b>: <code>Key=InstanceIds,Values=*</code> </p> <p>This example demonstrates how to target all managed instances in the Amazon Web Services Region where the association was created.</p> </li> </ul> <p>For more information about how to send commands that target managed nodes using <code>Key,Value</code> parameters, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting\">Targeting multiple instances</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
    },
    "TargetCount":{"type":"integer"},
    "TargetInUseException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You specified the <code>Safe</code> option for the DeregisterTargetFromMaintenanceWindow operation, but the target is still referenced in a task.</p>",
      "exception":true
    },
    "TargetKey":{
      "type":"string",
      "max":163,
      "min":1,
      "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=\\-@]*$|resource-groups:ResourceTypeFilters|resource-groups:Name"
    },
    "TargetLocation":{
      "type":"structure",
      "members":{
        "Accounts":{
          "shape":"Accounts",
          "documentation":"<p>The Amazon Web Services accounts targeted by the current Automation execution.</p>"
        },
        "Regions":{
          "shape":"Regions",
          "documentation":"<p>The Amazon Web Services Regions targeted by the current Automation execution.</p>"
        },
        "TargetLocationMaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of Amazon Web Services Regions and Amazon Web Services accounts allowed to run the Automation concurrently.</p>",
          "box":true
        },
        "TargetLocationMaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The maximum number of errors allowed before the system stops queueing additional Automation executions for the currently running Automation.</p>",
          "box":true
        },
        "ExecutionRoleName":{
          "shape":"ExecutionRoleName",
          "documentation":"<p>The Automation execution role used by the currently running Automation. If not specified, the default value is <code>AWS-SystemsManager-AutomationExecutionRole</code>.</p>",
          "box":true
        },
        "TargetLocationAlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "box":true
        }
      },
      "documentation":"<p>The combination of Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Automation execution.</p>"
    },
    "TargetLocations":{
      "type":"list",
      "member":{"shape":"TargetLocation"},
      "max":100,
      "min":1
    },
    "TargetMap":{
      "type":"map",
      "key":{"shape":"TargetMapKey"},
      "value":{"shape":"TargetMapValueList"},
      "max":20,
      "min":1
    },
    "TargetMapKey":{
      "type":"string",
      "max":50,
      "min":1
    },
    "TargetMapValue":{
      "type":"string",
      "max":50,
      "min":1
    },
    "TargetMapValueList":{
      "type":"list",
      "member":{"shape":"TargetMapValue"},
      "max":25,
      "min":0
    },
    "TargetMaps":{
      "type":"list",
      "member":{"shape":"TargetMap"},
      "max":300,
      "min":0
    },
    "TargetNotConnected":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified target managed node for the session isn't fully configured for use with Session Manager. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html\">Getting started with Session Manager</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. This error is also returned if you attempt to start a session on a managed node that is located in a different account or Region</p>",
      "exception":true
    },
    "TargetParameterList":{
      "type":"list",
      "member":{"shape":"ParameterValue"}
    },
    "TargetType":{
      "type":"string",
      "max":200,
      "pattern":"^\\/[\\w\\.\\-\\:\\/]*$"
    },
    "TargetValue":{"type":"string"},
    "TargetValues":{
      "type":"list",
      "member":{"shape":"TargetValue"},
      "max":50,
      "min":0
    },
    "Targets":{
      "type":"list",
      "member":{"shape":"Target"},
      "max":5,
      "min":0
    },
    "TerminateSessionRequest":{
      "type":"structure",
      "required":["SessionId"],
      "members":{
        "SessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session to terminate.</p>"
        }
      }
    },
    "TerminateSessionResponse":{
      "type":"structure",
      "members":{
        "SessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session that has been terminated.</p>"
        }
      }
    },
    "TimeoutSeconds":{
      "type":"integer",
      "max":2592000,
      "min":30
    },
    "TokenValue":{
      "type":"string",
      "max":300,
      "min":0
    },
    "TooManyTagsError":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The <code>Targets</code> parameter includes too many tags. Remove one or more tags and try the command again.</p>",
      "exception":true
    },
    "TooManyUpdates":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>There are concurrent updates for a resource that supports one update at a time.</p>",
      "exception":true
    },
    "TotalCount":{"type":"integer"},
    "TotalSizeLimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The size of inventory data has exceeded the total size limit for the resource.</p>",
      "exception":true
    },
    "UUID":{
      "type":"string",
      "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
    },
    "UnlabelParameterVersionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "ParameterVersion",
        "Labels"
      ],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter from which you want to delete one or more labels.</p>"
        },
        "ParameterVersion":{
          "shape":"PSParameterVersion",
          "documentation":"<p>The specific version of the parameter which you want to delete one or more labels from. If it isn't present, the call will fail.</p>",
          "box":true
        },
        "Labels":{
          "shape":"ParameterLabelList",
          "documentation":"<p>One or more labels to delete from the specified parameter version.</p>"
        }
      }
    },
    "UnlabelParameterVersionResult":{
      "type":"structure",
      "members":{
        "RemovedLabels":{
          "shape":"ParameterLabelList",
          "documentation":"<p>A list of all labels deleted from the parameter.</p>"
        },
        "InvalidLabels":{
          "shape":"ParameterLabelList",
          "documentation":"<p>The labels that aren't attached to the given parameter version.</p>"
        }
      }
    },
    "UnsupportedCalendarException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The calendar entry contained in the specified SSM document isn't supported.</p>",
      "exception":true
    },
    "UnsupportedFeatureRequiredException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>Patching for applications released by Microsoft is only available on EC2 instances and advanced instances. To patch applications released by Microsoft on on-premises servers and VMs, you must enable advanced instances. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances-advanced.html\">Enabling the advanced-instances tier</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>",
      "exception":true
    },
    "UnsupportedInventoryItemContextException":{
      "type":"structure",
      "members":{
        "TypeName":{"shape":"InventoryItemTypeName"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The <code>Context</code> attribute that you specified for the <code>InventoryItem</code> isn't allowed for this inventory type. You can only use the <code>Context</code> attribute with inventory types like <code>AWS:ComplianceItem</code>.</p>",
      "exception":true
    },
    "UnsupportedInventorySchemaVersionException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>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.</p>",
      "exception":true
    },
    "UnsupportedOperatingSystem":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The operating systems you specified isn't supported, or the operation isn't supported for the operating system.</p>",
      "exception":true
    },
    "UnsupportedParameterType":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The parameter type isn't supported.</p>",
      "exception":true
    },
    "UnsupportedPlatformType":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document doesn't support the platform type of the given managed node ID(s). For example, you sent an document for a Windows managed node to a Linux node.</p>",
      "exception":true
    },
    "UpdateAssociationRequest":{
      "type":"structure",
      "required":["AssociationId"],
      "members":{
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The ID of the association you want to update. </p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The parameters you want to update for the association. If you create a parameter using Parameter Store, a capability of Amazon Web Services Systems Manager, you can reference the parameter using <code>{{ssm:parameter-name}}</code>.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version you want update for the association. </p> <important> <p>State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the <code>default</code> version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to <code>default</code>.</p> </important>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>The cron expression used to schedule the association that you want to update.</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>An S3 bucket where you want to store the results of this request.</p>"
        },
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM Command document or Automation runbook that contains the configuration information for the managed node.</p> <p>You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another account.</p> <p>For Systems Manager document (SSM document) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:</p> <p> <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i> </code> </p> <p>For example:</p> <p> <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p> <p>For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets of the association.</p>"
        },
        "AssociationName":{
          "shape":"AssociationName",
          "documentation":"<p>The name of the association that you want to update.</p>"
        },
        "AssociationVersion":{
          "shape":"AssociationVersion",
          "documentation":"<p>This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify <code>$LATEST</code>, or omit this parameter.</p>"
        },
        "AutomationTargetParameterName":{
          "shape":"AutomationTargetParameterName",
          "documentation":"<p>Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p> <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p> <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>"
        },
        "ComplianceSeverity":{
          "shape":"AssociationComplianceSeverity",
          "documentation":"<p>The severity level to assign to the association.</p>"
        },
        "SyncCompliance":{
          "shape":"AssociationSyncCompliance",
          "documentation":"<p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>"
        },
        "ApplyOnlyAtCronInterval":{
          "shape":"ApplyOnlyAtCronInterval",
          "documentation":"<p>By default, when you update an association, the system runs it immediately after it is updated and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you update it. This parameter isn't supported for rate expressions.</p> <p>If you chose this option when you created an association and later you edit that association or you make changes to the SSM document on which that association is based (by using the Documents page in the console), State Manager applies the association at the next specified cron interval. For example, if you chose the <code>Latest</code> version of an SSM document when you created an association and you edit the association by choosing a different document version on the Documents page, State Manager applies the association at the next specified cron interval if you previously selected this option. If this option wasn't selected, State Manager immediately runs the association.</p> <p>You can reset this option. To do so, specify the <code>no-apply-only-at-cron-interval</code> parameter when you update the association from the command line. This parameter forces the association to run immediately after updating it and according to the interval specified.</p>"
        },
        "CalendarNames":{
          "shape":"CalendarNameOrARNList",
          "documentation":"<p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents you want to gate your associations under. The associations only run when that change calendar is open. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar\">Amazon Web Services Systems Manager Change Calendar</a>.</p>"
        },
        "TargetLocations":{
          "shape":"TargetLocations",
          "documentation":"<p>A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the association. Use this action to update an association in multiple Regions and multiple accounts.</p>"
        },
        "ScheduleOffset":{
          "shape":"ScheduleOffset",
          "documentation":"<p>Number of days to wait after the scheduled day to run an association. For example, if you specified a cron schedule of <code>cron(0 0 ? * THU#2 *)</code>, you could specify an offset of 3 to run the association each Sunday after the second Thursday of the month. For more information about cron schedules for associations, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html\">Reference: Cron and rate expressions for Systems Manager</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p> <note> <p>To use offsets, you must specify the <code>ApplyOnlyAtCronInterval</code> parameter. This option tells the system not to run an association immediately after you create it. </p> </note>",
          "box":true
        },
        "TargetMaps":{
          "shape":"TargetMaps",
          "documentation":"<p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>",
          "box":true
        },
        "AlarmConfiguration":{"shape":"AlarmConfiguration"}
      }
    },
    "UpdateAssociationResult":{
      "type":"structure",
      "members":{
        "AssociationDescription":{
          "shape":"AssociationDescription",
          "documentation":"<p>The description of the association that was updated.</p>"
        }
      }
    },
    "UpdateAssociationStatusRequest":{
      "type":"structure",
      "required":[
        "Name",
        "InstanceId",
        "AssociationStatus"
      ],
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The managed node ID.</p>"
        },
        "AssociationStatus":{
          "shape":"AssociationStatus",
          "documentation":"<p>The association status.</p>"
        }
      }
    },
    "UpdateAssociationStatusResult":{
      "type":"structure",
      "members":{
        "AssociationDescription":{
          "shape":"AssociationDescription",
          "documentation":"<p>Information about the association.</p>"
        }
      }
    },
    "UpdateDocumentDefaultVersionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "DocumentVersion"
      ],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of a custom document that you want to set as the default version.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersionNumber",
          "documentation":"<p>The version of a custom document that you want to set as the default version.</p>"
        }
      }
    },
    "UpdateDocumentDefaultVersionResult":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"DocumentDefaultVersionDescription",
          "documentation":"<p>The description of a custom document that you want to set as the default version.</p>"
        }
      }
    },
    "UpdateDocumentMetadataRequest":{
      "type":"structure",
      "required":[
        "Name",
        "DocumentReviews"
      ],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the change template for which a version's metadata is to be updated.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of a change template in which to update approval metadata.</p>"
        },
        "DocumentReviews":{
          "shape":"DocumentReviews",
          "documentation":"<p>The change template review details to update.</p>"
        }
      }
    },
    "UpdateDocumentMetadataResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateDocumentRequest":{
      "type":"structure",
      "required":[
        "Content",
        "Name"
      ],
      "members":{
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>A valid JSON or YAML string.</p>"
        },
        "Attachments":{
          "shape":"AttachmentsSourceList",
          "documentation":"<p>A list of key-value pairs that describe attachments to a version of a document.</p>"
        },
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the SSM document that you want to update.</p>"
        },
        "DisplayName":{
          "shape":"DocumentDisplayName",
          "documentation":"<p>The friendly name of the SSM document that you want to update. This value can differ for each version of the document. If you don't specify a value for this parameter in your request, the existing value is applied to the new document version.</p>"
        },
        "VersionName":{
          "shape":"DocumentVersionName",
          "documentation":"<p>An optional field specifying the version of the artifact you are updating with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document that you want to update. Currently, Systems Manager supports updating only the latest version of the document. You can specify the version number of the latest version or use the <code>$LATEST</code> variable.</p> <note> <p>If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the <code>apply-only-at-cron-interval</code> parameter.</p> </note>"
        },
        "DocumentFormat":{
          "shape":"DocumentFormat",
          "documentation":"<p>Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.</p>"
        },
        "TargetType":{
          "shape":"TargetType",
          "documentation":"<p>Specify a new target type for the document.</p>"
        }
      }
    },
    "UpdateDocumentResult":{
      "type":"structure",
      "members":{
        "DocumentDescription":{
          "shape":"DocumentDescription",
          "documentation":"<p>A description of the document that was updated.</p>"
        }
      }
    },
    "UpdateMaintenanceWindowRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window to update.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>An optional description for the update request.</p>"
        },
        "StartDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p>"
        },
        "EndDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the maintenance window in the form of a cron or rate expression.</p>"
        },
        "ScheduleTimezone":{
          "shape":"MaintenanceWindowTimezone",
          "documentation":"<p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the <a href=\"https://www.iana.org/time-zones\">Time Zone Database</a> on the IANA website.</p>"
        },
        "ScheduleOffset":{
          "shape":"MaintenanceWindowOffset",
          "documentation":"<p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p> <p>For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.</p> <p> <code>cron(30 23 ? * TUE#3 *)</code> </p> <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>",
          "box":true
        },
        "Duration":{
          "shape":"MaintenanceWindowDurationHours",
          "documentation":"<p>The duration of the maintenance window in hours.</p>",
          "box":true
        },
        "Cutoff":{
          "shape":"MaintenanceWindowCutoff",
          "documentation":"<p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>",
          "box":true
        },
        "AllowUnassociatedTargets":{
          "shape":"MaintenanceWindowAllowUnassociatedTargets",
          "documentation":"<p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>",
          "box":true
        },
        "Enabled":{
          "shape":"MaintenanceWindowEnabled",
          "documentation":"<p>Whether the maintenance window is enabled.</p>",
          "box":true
        },
        "Replace":{
          "shape":"Boolean",
          "documentation":"<p>If <code>True</code>, then all fields that are required by the <a>CreateMaintenanceWindow</a> operation are also required for this API request. Optional fields that aren't specified are set to null. </p>",
          "box":true
        }
      }
    },
    "UpdateMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the created maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The name of the maintenance window.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>An optional description of the update.</p>"
        },
        "StartDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>"
        },
        "EndDate":{
          "shape":"MaintenanceWindowStringDateTime",
          "documentation":"<p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the maintenance window in the form of a cron or rate expression.</p>"
        },
        "ScheduleTimezone":{
          "shape":"MaintenanceWindowTimezone",
          "documentation":"<p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the <a href=\"https://www.iana.org/time-zones\">Time Zone Database</a> on the IANA website.</p>"
        },
        "ScheduleOffset":{
          "shape":"MaintenanceWindowOffset",
          "documentation":"<p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>",
          "box":true
        },
        "Duration":{
          "shape":"MaintenanceWindowDurationHours",
          "documentation":"<p>The duration of the maintenance window in hours.</p>"
        },
        "Cutoff":{
          "shape":"MaintenanceWindowCutoff",
          "documentation":"<p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>"
        },
        "AllowUnassociatedTargets":{
          "shape":"MaintenanceWindowAllowUnassociatedTargets",
          "documentation":"<p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>"
        },
        "Enabled":{
          "shape":"MaintenanceWindowEnabled",
          "documentation":"<p>Whether the maintenance window is enabled.</p>"
        }
      }
    },
    "UpdateMaintenanceWindowTargetRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "WindowTargetId"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The maintenance window ID with which to modify the target.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The target ID to modify.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets to add or replace.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>User-provided value that will be included in any Amazon CloudWatch Events events raised while running tasks for these targets in this maintenance window.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>A name for the update.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>An optional description for the update.</p>"
        },
        "Replace":{
          "shape":"Boolean",
          "documentation":"<p>If <code>True</code>, then all fields that are required by the <a>RegisterTargetWithMaintenanceWindow</a> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>",
          "box":true
        }
      }
    },
    "UpdateMaintenanceWindowTargetResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The maintenance window ID specified in the update request.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The target ID specified in the update request.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The updated targets.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>The updated owner.</p>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The updated name.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>The updated description.</p>"
        }
      }
    },
    "UpdateMaintenanceWindowTaskRequest":{
      "type":"structure",
      "required":[
        "WindowId",
        "WindowTaskId"
      ],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The maintenance window ID that contains the task to modify.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The task ID to modify.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets (either managed nodes or tags) to modify. Managed nodes are specified using the format <code>Key=instanceids,Values=instanceID_1,instanceID_2</code>. Tags are specified using the format <code> Key=tag_name,Values=tag_value</code>. </p> <note> <p>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 <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">Registering maintenance window tasks without targets</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </note>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The task ARN to modify.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run <code>RegisterTaskWithMaintenanceWindow</code>.</p> <p>For more information, see the following topics in the in the <i>Amazon Web Services Systems Manager User Guide</i>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions\">Using service-linked roles for Systems Manager</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role\">Should I use a service-linked role or a custom service role to run maintenance window tasks? </a> </p> </li> </ul>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParameters",
          "documentation":"<p>The parameters to modify.</p> <note> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note> <p>The map has the following format:</p> <p>Key: string, between 1 and 255 characters</p> <p>Value: an array of strings, each string is between 1 and 255 characters</p>"
        },
        "TaskInvocationParameters":{
          "shape":"MaintenanceWindowTaskInvocationParameters",
          "documentation":"<p>The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.</p> <important> <p>When you update a maintenance window task that has options specified in <code>TaskInvocationParameters</code>, you must provide again all the <code>TaskInvocationParameters</code> 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 <code>TaskInvocationParameters</code> values for <code>Comment</code>, <code>NotificationConfig</code>, and <code>OutputS3BucketName</code>. If you update the maintenance window task and specify only a different <code>OutputS3BucketName</code> value, the values for <code>Comment</code> and <code>NotificationConfig</code> are removed.</p> </important>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.</p>",
          "box":true
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The new <code>MaxConcurrency</code> value you want to specify. <code>MaxConcurrency</code> is the number of targets that are allowed to run this task, in parallel.</p> <note> <p>Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">targetless task</a> You must provide a value in all other cases.</p> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't affect the running of your task.</p> </note>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The new <code>MaxErrors</code> value to specify. <code>MaxErrors</code> is the maximum number of errors that are allowed before the task stops being scheduled.</p> <note> <p>Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html\">targetless task</a> You must provide a value in all other cases.</p> <p>For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't affect the running of your task.</p> </note>"
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>The new logging location in Amazon S3 to specify.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The new task name to specify.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>The new task description to specify.</p>"
        },
        "Replace":{
          "shape":"Boolean",
          "documentation":"<p>If True, then all fields that are required by the <a>RegisterTaskWithMaintenanceWindow</a> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>",
          "box":true
        },
        "CutoffBehavior":{
          "shape":"MaintenanceWindowTaskCutoffBehavior",
          "documentation":"<p>Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. </p> <ul> <li> <p> <code>CONTINUE_TASK</code>: When the cutoff time is reached, any tasks that are running continue. The default value.</p> </li> <li> <p> <code>CANCEL_TASK</code>:</p> <ul> <li> <p>For Automation, Lambda, Step Functions tasks: When the cutoff time is reached, any task invocations that are already running continue, but no new task invocations are started.</p> </li> <li> <p>For Run Command tasks: When the cutoff time is reached, the system sends a <a>CancelCommand</a> operation that attempts to cancel the command associated with the task. However, there is no guarantee that the command will be terminated and the underlying process stopped.</p> </li> </ul> <p>The status for tasks that are not completed is <code>TIMED_OUT</code>.</p> </li> </ul>",
          "box":true
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The CloudWatch alarm you want to apply to your maintenance window task.</p>"
        }
      }
    },
    "UpdateMaintenanceWindowTaskResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the maintenance window that was updated.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The task ID of the maintenance window that was updated.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The updated target values.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The updated task ARN value.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParameters",
          "documentation":"<p>The updated parameter values.</p> <note> <p> <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "TaskInvocationParameters":{
          "shape":"MaintenanceWindowTaskInvocationParameters",
          "documentation":"<p>The updated parameter values.</p>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The updated priority value.</p>"
        },
        "MaxConcurrency":{
          "shape":"MaxConcurrency",
          "documentation":"<p>The updated <code>MaxConcurrency</code> value.</p>"
        },
        "MaxErrors":{
          "shape":"MaxErrors",
          "documentation":"<p>The updated <code>MaxErrors</code> value.</p>"
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>The updated logging information in Amazon S3.</p> <note> <p> <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> </note>"
        },
        "Name":{
          "shape":"MaintenanceWindowName",
          "documentation":"<p>The updated task name.</p>"
        },
        "Description":{
          "shape":"MaintenanceWindowDescription",
          "documentation":"<p>The updated task description.</p>"
        },
        "CutoffBehavior":{
          "shape":"MaintenanceWindowTaskCutoffBehavior",
          "documentation":"<p>The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. </p>",
          "box":true
        },
        "AlarmConfiguration":{
          "shape":"AlarmConfiguration",
          "documentation":"<p>The details for the CloudWatch alarm you applied to your maintenance window task.</p>"
        }
      }
    },
    "UpdateManagedInstanceRoleRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "IamRole"
      ],
      "members":{
        "InstanceId":{
          "shape":"ManagedInstanceId",
          "documentation":"<p>The ID of the managed node where you want to update the role.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The name of the Identity and Access Management (IAM) role that you want to assign to the managed node. This IAM role must provide AssumeRole permissions for the Amazon Web Services Systems Manager service principal <code>ssm.amazonaws.com</code>. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-service-role.html\">Create an IAM service role for a hybrid environment</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> <note> <p>You can't specify an IAM service-linked role for this parameter. You must create a unique role.</p> </note>"
        }
      }
    },
    "UpdateManagedInstanceRoleResult":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateOpsItemRequest":{
      "type":"structure",
      "required":["OpsItemId"],
      "members":{
        "Description":{
          "shape":"OpsItemDescription",
          "documentation":"<p>User-defined text that contains information about the OpsItem, in Markdown format. </p>"
        },
        "OperationalData":{
          "shape":"OpsItemOperationalData",
          "documentation":"<p>Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.</p> <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p> <important> <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p> </important> <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <a>DescribeOpsItems</a> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <a>GetOpsItem</a> API operation).</p> <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html\">Creating OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "OperationalDataToDelete":{
          "shape":"OpsItemOpsDataKeysList",
          "documentation":"<p>Keys that you want to remove from the OperationalData map.</p>"
        },
        "Notifications":{
          "shape":"OpsItemNotifications",
          "documentation":"<p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>"
        },
        "Priority":{
          "shape":"OpsItemPriority",
          "documentation":"<p>The importance of this OpsItem in relation to other OpsItems in the system.</p>"
        },
        "RelatedOpsItems":{
          "shape":"RelatedOpsItems",
          "documentation":"<p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>"
        },
        "Status":{
          "shape":"OpsItemStatus",
          "documentation":"<p>The OpsItem status. Status can be <code>Open</code>, <code>In Progress</code>, or <code>Resolved</code>. For more information, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html\">Editing OpsItem details</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "OpsItemId":{
          "shape":"OpsItemId",
          "documentation":"<p>The ID of the OpsItem.</p>"
        },
        "Title":{
          "shape":"OpsItemTitle",
          "documentation":"<p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>"
        },
        "Category":{
          "shape":"OpsItemCategory",
          "documentation":"<p>Specify a new category for an OpsItem.</p>"
        },
        "Severity":{
          "shape":"OpsItemSeverity",
          "documentation":"<p>Specify a new severity for an OpsItem.</p>"
        },
        "ActualStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "ActualEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "PlannedEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>"
        },
        "OpsItemArn":{
          "shape":"OpsItemArn",
          "documentation":"<p>The OpsItem Amazon Resource Name (ARN).</p>"
        }
      }
    },
    "UpdateOpsItemResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateOpsMetadataRequest":{
      "type":"structure",
      "required":["OpsMetadataArn"],
      "members":{
        "OpsMetadataArn":{
          "shape":"OpsMetadataArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OpsMetadata Object to update.</p>"
        },
        "MetadataToUpdate":{
          "shape":"MetadataMap",
          "documentation":"<p>Metadata to add to an OpsMetadata object.</p>"
        },
        "KeysToDelete":{
          "shape":"MetadataKeysToDeleteList",
          "documentation":"<p>The metadata keys to delete from the OpsMetadata object. </p>"
        }
      }
    },
    "UpdateOpsMetadataResult":{
      "type":"structure",
      "members":{
        "OpsMetadataArn":{
          "shape":"OpsMetadataArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the OpsMetadata Object that was updated.</p>"
        }
      }
    },
    "UpdatePatchBaselineRequest":{
      "type":"structure",
      "required":["BaselineId"],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to update.</p>"
        },
        "Name":{
          "shape":"BaselineName",
          "documentation":"<p>The name of the patch baseline.</p>"
        },
        "GlobalFilters":{
          "shape":"PatchFilterGroup",
          "documentation":"<p>A set of global filters used to include patches in the baseline.</p>"
        },
        "ApprovalRules":{
          "shape":"PatchRuleGroup",
          "documentation":"<p>A set of rules used to include patches in the baseline.</p>"
        },
        "ApprovedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly approved patches for the baseline.</p> <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html\">About package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "ApprovedPatchesComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>Assigns a new compliance severity level to an existing patch baseline.</p>"
        },
        "ApprovedPatchesEnableNonSecurity":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>",
          "box":true
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p> <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html\">About package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>"
        },
        "RejectedPatchesAction":{
          "shape":"PatchAction",
          "documentation":"<p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p> <ul> <li> <p> <b> <code>ALLOW_AS_DEPENDENCY</code> </b>: A package in the <code>Rejected</code> patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>InstalledOther</code>. This is the default action if no option is specified.</p> </li> <li> <p> <b> <code>BLOCK</code> </b>: Packages in the <code>RejectedPatches</code> list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the <code>Rejected</code> patches list, it is considered non-compliant with the patch baseline, and its status is reported as <code>InstalledRejected</code>.</p> </li> </ul>"
        },
        "Description":{
          "shape":"BaselineDescription",
          "documentation":"<p>A description of the patch baseline.</p>"
        },
        "Sources":{
          "shape":"PatchSourceList",
          "documentation":"<p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>"
        },
        "Replace":{
          "shape":"Boolean",
          "documentation":"<p>If True, then all fields that are required by the <a>CreatePatchBaseline</a> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>",
          "box":true
        }
      }
    },
    "UpdatePatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the deleted patch baseline.</p>"
        },
        "Name":{
          "shape":"BaselineName",
          "documentation":"<p>The name of the patch baseline.</p>"
        },
        "OperatingSystem":{
          "shape":"OperatingSystem",
          "documentation":"<p>The operating system rule used by the updated patch baseline.</p>"
        },
        "GlobalFilters":{
          "shape":"PatchFilterGroup",
          "documentation":"<p>A set of global filters used to exclude patches from the baseline.</p>"
        },
        "ApprovalRules":{
          "shape":"PatchRuleGroup",
          "documentation":"<p>A set of rules used to include patches in the baseline.</p>"
        },
        "ApprovedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly approved patches for the baseline.</p>"
        },
        "ApprovedPatchesComplianceLevel":{
          "shape":"PatchComplianceLevel",
          "documentation":"<p>The compliance severity level assigned to the patch baseline after the update completed.</p>"
        },
        "ApprovedPatchesEnableNonSecurity":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>",
          "box":true
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p>"
        },
        "RejectedPatchesAction":{
          "shape":"PatchAction",
          "documentation":"<p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date when the patch baseline was created.</p>"
        },
        "ModifiedDate":{
          "shape":"DateTime",
          "documentation":"<p>The date when the patch baseline was last modified.</p>"
        },
        "Description":{
          "shape":"BaselineDescription",
          "documentation":"<p>A description of the patch baseline.</p>"
        },
        "Sources":{
          "shape":"PatchSourceList",
          "documentation":"<p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>"
        }
      }
    },
    "UpdateResourceDataSyncRequest":{
      "type":"structure",
      "required":[
        "SyncName",
        "SyncType",
        "SyncSource"
      ],
      "members":{
        "SyncName":{
          "shape":"ResourceDataSyncName",
          "documentation":"<p>The name of the resource data sync you want to update.</p>"
        },
        "SyncType":{
          "shape":"ResourceDataSyncType",
          "documentation":"<p>The type of resource data sync. The supported <code>SyncType</code> is SyncFromSource.</p>"
        },
        "SyncSource":{
          "shape":"ResourceDataSyncSource",
          "documentation":"<p>Specify information about the data sources to synchronize.</p>"
        }
      }
    },
    "UpdateResourceDataSyncResult":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateServiceSettingRequest":{
      "type":"structure",
      "required":[
        "SettingId",
        "SettingValue"
      ],
      "members":{
        "SettingId":{
          "shape":"ServiceSettingId",
          "documentation":"<p>The Amazon Resource Name (ARN) of the service setting to update. For example, <code>arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled</code>. The setting ID can be one of the following.</p> <ul> <li> <p> <code>/ssm/managed-instance/default-ec2-instance-management-role</code> </p> </li> <li> <p> <code>/ssm/automation/customer-script-log-destination</code> </p> </li> <li> <p> <code>/ssm/automation/customer-script-log-group-name</code> </p> </li> <li> <p> <code>/ssm/documents/console/public-sharing-permission</code> </p> </li> <li> <p> <code>/ssm/managed-instance/activation-tier</code> </p> </li> <li> <p> <code>/ssm/opsinsights/opscenter</code> </p> </li> <li> <p> <code>/ssm/parameter-store/default-parameter-tier</code> </p> </li> <li> <p> <code>/ssm/parameter-store/high-throughput-enabled</code> </p> </li> </ul> <note> <p>Permissions to update the <code>/ssm/managed-instance/default-ec2-instance-management-role</code> setting should only be provided to administrators. Implement least privilege access when allowing individuals to configure or modify the Default Host Management Configuration.</p> </note>"
        },
        "SettingValue":{
          "shape":"ServiceSettingValue",
          "documentation":"<p>The new value to specify for the service setting. The following list specifies the available values for each setting.</p> <ul> <li> <p>For <code>/ssm/managed-instance/default-ec2-instance-management-role</code>, enter the name of an IAM role. </p> </li> <li> <p>For <code>/ssm/automation/customer-script-log-destination</code>, enter <code>CloudWatch</code>.</p> </li> <li> <p>For <code>/ssm/automation/customer-script-log-group-name</code>, enter the name of an Amazon CloudWatch Logs log group.</p> </li> <li> <p>For <code>/ssm/documents/console/public-sharing-permission</code>, enter <code>Enable</code> or <code>Disable</code>.</p> </li> <li> <p>For <code>/ssm/managed-instance/activation-tier</code>, enter <code>standard</code> or <code>advanced</code>.</p> </li> <li> <p> For <code>/ssm/opsinsights/opscenter</code>, enter <code>Enabled</code> or <code>Disabled</code>. </p> </li> <li> <p>For <code>/ssm/parameter-store/default-parameter-tier</code>, enter <code>Standard</code>, <code>Advanced</code>, or <code>Intelligent-Tiering</code> </p> </li> <li> <p>For <code>/ssm/parameter-store/high-throughput-enabled</code>, enter <code>true</code> or <code>false</code>.</p> </li> </ul>"
        }
      },
      "documentation":"<p>The request body of the UpdateServiceSetting API operation.</p>"
    },
    "UpdateServiceSettingResult":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The result body of the UpdateServiceSetting API operation.</p>"
    },
    "Url":{"type":"string"},
    "ValidNextStep":{
      "type":"string",
      "max":65535,
      "min":1
    },
    "ValidNextStepList":{
      "type":"list",
      "member":{"shape":"ValidNextStep"}
    },
    "Version":{
      "type":"string",
      "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$"
    }
  },
  "documentation":"<p>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.</p> <p>This reference is intended to be used with the <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/\">Amazon Web Services Systems Manager User Guide</a>. To get started, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html\">Setting up Amazon Web Services Systems Manager</a>.</p> <p class=\"title\"> <b>Related resources</b> </p> <ul> <li> <p>For information about each of the capabilities that comprise Systems Manager, see <a href=\"https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html#systems-manager-capabilities\">Systems Manager capabilities</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p> </li> <li> <p>For details about predefined runbooks for Automation, a capability of Amazon Web Services Systems Manager, see the <i> <a href=\"https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html\">Systems Manager Automation runbook reference</a> </i>.</p> </li> <li> <p>For information about AppConfig, a capability of Systems Manager, see the <i> <a href=\"https://docs.aws.amazon.com/appconfig/latest/userguide/\">AppConfig User Guide</a> </i> and the <i> <a href=\"https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/\">AppConfig API Reference</a> </i>.</p> </li> <li> <p>For information about Incident Manager, a capability of Systems Manager, see the <i> <a href=\"https://docs.aws.amazon.com/incident-manager/latest/userguide/\">Systems Manager Incident Manager User Guide</a> </i> and the <i> <a href=\"https://docs.aws.amazon.com/incident-manager/latest/APIReference/\">Systems Manager Incident Manager API Reference</a> </i>.</p> </li> </ul>"
}
