{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2014-11-06",
    "endpointPrefix":"ssm",
    "jsonVersion":"1.1",
    "protocol":"json",
    "serviceAbbreviation":"Amazon SSM",
    "serviceFullName":"Amazon Simple Systems Manager (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"}
      ],
      "documentation":"<p>Adds or overwrites one or more tags for the specified resource. Tags are metadata that you assign to your managed instances. Tags enable you to categorize your managed instances in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test. Each resource can have a maximum of 10 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 Amazon EC2 and are interpreted strictly as a string of characters. </p> <p>For more information about tags, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html\">Tagging Your Amazon EC2 Resources</a> in the Amazon EC2 User Guide. </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>"
    },
    "CreateActivation":{
      "name":"CreateActivation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateActivationRequest"},
      "output":{"shape":"CreateActivationResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managed-instances.html\">Setting Up Managed Instances (Linux)</a> or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/managed-instances.html\">Setting Up Managed Instances (Windows)</a> in the Amazon EC2 User Guide. </p>"
    },
    "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"}
      ],
      "documentation":"<p>Associates the specified SSM document with the specified instances or targets.</p> <p>When you associate an SSM document with one or more instances using instance IDs or tags, the SSM agent running on the instance processes the document and configures the instance as specified.</p> <p>If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.</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"}
      ],
      "documentation":"<p>Associates the specified SSM document with the specified instances or targets.</p> <p>When you associate an SSM document with one or more instances using instance IDs or tags, the SSM agent running on the instance processes the document and configures the instance as specified.</p> <p>If you associate a document with an instance that already has an associated document, the system throws 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 an SSM document.</p> <p>After you create an SSM document, you can use CreateAssociation to associate it with one or more running instances.</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>"
    },
    "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>"
    },
    "DeleteActivation":{
      "name":"DeleteActivation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteActivationRequest"},
      "output":{"shape":"DeleteActivationResult"},
      "errors":[
        {"shape":"InvalidActivationId"},
        {"shape":"InvalidActivation"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances.</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 SSM document from the specified instance.</p> <p>When you disassociate an SSM document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.</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 SSM document and all instance associations to the document.</p> <p>Before you delete the SSM document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.</p>"
    },
    "DeleteMaintenanceWindow":{
      "name":"DeleteMaintenanceWindow",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteMaintenanceWindowRequest"},
      "output":{"shape":"DeleteMaintenanceWindowResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Deletes a Maintenance Window.</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.</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>"
    },
    "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 instance again at any time. If you don’t plan to use Run Command on the server, we suggest uninstalling the 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"}
      ],
      "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>Details about the activation, including: the date and time the activation was created, the expiration date, the IAM role assigned to the instances in the activation, and the number of instances activated by this registration.</p>"
    },
    "DescribeAssociation":{
      "name":"DescribeAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssociationRequest"},
      "output":{"shape":"DescribeAssociationResult"},
      "errors":[
        {"shape":"AssociationDoesNotExist"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidInstanceId"}
      ],
      "documentation":"<p>Describes the associations for the specified SSM document or instance.</p>"
    },
    "DescribeAutomationExecutions":{
      "name":"DescribeAutomationExecutions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAutomationExecutionsRequest"},
      "output":{"shape":"DescribeAutomationExecutionsResult"},
      "errors":[
        {"shape":"InvalidNextToken"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Provides details about all active and terminated Automation executions.</p>"
    },
    "DescribeAvailablePatches":{
      "name":"DescribeAvailablePatches",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAvailablePatchesRequest"},
      "output":{"shape":"DescribeAvailablePatchesResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists all patches that could possibly 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 SSM document.</p>"
    },
    "DescribeDocumentPermission":{
      "name":"DescribeDocumentPermission",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeDocumentPermissionRequest"},
      "output":{"shape":"DescribeDocumentPermissionResponse"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidPermissionType"}
      ],
      "documentation":"<p>Describes the permissions for an 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 AWS 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 instance(s).</p>"
    },
    "DescribeEffectivePatchesForPatchBaseline":{
      "name":"DescribeEffectivePatchesForPatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeEffectivePatchesForPatchBaselineRequest"},
      "output":{"shape":"DescribeEffectivePatchesForPatchBaselineResult"},
      "errors":[
        {"shape":"InvalidResourceId"},
        {"shape":"DoesNotExistException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline.</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 instance(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>Describes one or more of your instances. You can use this to get information about instances like the operating system platform, the SSM agent version (Linux), status etc. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error. </p>"
    },
    "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 instances.</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 instances 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 instance and their state relative to the patch baseline being used for the instance.</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 executed 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 executed.</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 (meaning, information about when the Maintenance Window was scheduled to be active and information about tasks registered and run with the 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>"
    },
    "DescribeMaintenanceWindows":{
      "name":"DescribeMaintenanceWindows",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeMaintenanceWindowsRequest"},
      "output":{"shape":"DescribeMaintenanceWindowsResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the Maintenance Windows in an AWS account.</p>"
    },
    "DescribeParameters":{
      "name":"DescribeParameters",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeParametersRequest"},
      "output":{"shape":"DescribeParametersResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilterValue"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Get information about a parameter.</p>"
    },
    "DescribePatchBaselines":{
      "name":"DescribePatchBaselines",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribePatchBaselinesRequest"},
      "output":{"shape":"DescribePatchBaselinesResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Lists the patch baselines in your AWS 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 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>"
    },
    "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>"
    },
    "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>"
    },
    "GetDefaultPatchBaseline":{
      "name":"GetDefaultPatchBaseline",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetDefaultPatchBaselineRequest"},
      "output":{"shape":"GetDefaultPatchBaselineResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the default patch baseline.</p>"
    },
    "GetDeployablePatchSnapshotForInstance":{
      "name":"GetDeployablePatchSnapshotForInstance",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetDeployablePatchSnapshotForInstanceRequest"},
      "output":{"shape":"GetDeployablePatchSnapshotForInstanceResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-ApplyPatchBaseline Systems Manager document. </p>"
    },
    "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 SSM document.</p>"
    },
    "GetInventory":{
      "name":"GetInventory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetInventoryRequest"},
      "output":{"shape":"GetInventoryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidFilter"},
        {"shape":"InvalidNextToken"},
        {"shape":"InvalidTypeNameException"},
        {"shape":"InvalidResultAttributeException"}
      ],
      "documentation":"<p>Query inventory information.</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 task executed as part of 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 executed as part of a Maintenance Window execution.</p>"
    },
    "GetParameterHistory":{
      "name":"GetParameterHistory",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetParameterHistoryRequest"},
      "output":{"shape":"GetParameterHistoryResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"ParameterNotFound"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Query a list of all parameters used by the AWS account.</p>"
    },
    "GetParameters":{
      "name":"GetParameters",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetParametersRequest"},
      "output":{"shape":"GetParametersResult"},
      "errors":[
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Get a list of parameters used by the AWS account.&gt;</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>"
    },
    "ListAssociations":{
      "name":"ListAssociations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssociationsRequest"},
      "output":{"shape":"ListAssociationsResult"},
      "errors":[
        {"shape":"InternalServerError"},
        {"shape":"InvalidNextToken"}
      ],
      "documentation":"<p>Lists the associations for the specified SSM document or instance.</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 instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.</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 AWS account.</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>Describes one or more of your SSM documents.</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>"
    },
    "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>"
    },
    "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>Share a document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify <i>All</i> as the account ID.</p>"
    },
    "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"}
      ],
      "documentation":"<p>Bulk update custom inventory items on one more instance. 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":"UnsupportedParameterType"}
      ],
      "documentation":"<p>Add one or more paramaters to the system.</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.</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":"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"}
      ],
      "documentation":"<p>Removes all tags from the specified resource.</p>"
    },
    "SendCommand":{
      "name":"SendCommand",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SendCommandRequest"},
      "output":{"shape":"SendCommandResult"},
      "errors":[
        {"shape":"DuplicateInstanceId"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidInstanceId"},
        {"shape":"InvalidDocument"},
        {"shape":"InvalidOutputFolder"},
        {"shape":"InvalidParameters"},
        {"shape":"UnsupportedPlatformType"},
        {"shape":"MaxDocumentSizeExceeded"},
        {"shape":"InvalidRole"},
        {"shape":"InvalidNotificationConfig"}
      ],
      "documentation":"<p>Executes commands on one or more remote instances.</p>"
    },
    "StartAutomationExecution":{
      "name":"StartAutomationExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartAutomationExecutionRequest"},
      "output":{"shape":"StartAutomationExecutionResult"},
      "errors":[
        {"shape":"AutomationDefinitionNotFoundException"},
        {"shape":"InvalidAutomationExecutionParametersException"},
        {"shape":"AutomationExecutionLimitExceededException"},
        {"shape":"AutomationDefinitionVersionNotFoundException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Initiates execution of an Automation document.</p>"
    },
    "StopAutomationExecution":{
      "name":"StopAutomationExecution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StopAutomationExecutionRequest"},
      "output":{"shape":"StopAutomationExecutionResult"},
      "errors":[
        {"shape":"AutomationExecutionNotFoundException"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Stop an Automation that is currently executing.</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"}
      ],
      "documentation":"<p>Updates an association. You can only update the document version, schedule, parameters, and Amazon S3 output of an association.</p>"
    },
    "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 SSM document associated with the specified instance.</p>"
    },
    "UpdateDocument":{
      "name":"UpdateDocument",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateDocumentRequest"},
      "output":{"shape":"UpdateDocumentResult"},
      "errors":[
        {"shape":"MaxDocumentSizeExceeded"},
        {"shape":"DocumentVersionLimitExceeded"},
        {"shape":"InternalServerError"},
        {"shape":"DuplicateDocumentContent"},
        {"shape":"InvalidDocumentContent"},
        {"shape":"InvalidDocumentVersion"},
        {"shape":"InvalidDocumentSchemaVersion"},
        {"shape":"InvalidDocument"}
      ],
      "documentation":"<p>The document you want to update.</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>"
    },
    "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>"
    },
    "UpdateManagedInstanceRole":{
      "name":"UpdateManagedInstanceRole",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateManagedInstanceRoleRequest"},
      "output":{"shape":"UpdateManagedInstanceRoleResult"},
      "errors":[
        {"shape":"InvalidInstanceId"},
        {"shape":"InternalServerError"}
      ],
      "documentation":"<p>Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.</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>"
    }
  },
  "shapes":{
    "AccountId":{
      "type":"string",
      "pattern":"(?i)all|[0-9]{12}"
    },
    "AccountIdList":{
      "type":"list",
      "member":{
        "shape":"AccountId",
        "locationName":"AccountId"
      },
      "max":20
    },
    "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 instance when it is created.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The Amazon Identity and Access Management (IAM) role to assign to the managed instance.</p>"
        },
        "RegistrationLimit":{
          "shape":"RegistrationLimit",
          "documentation":"<p>The maximum number of managed instances that can be registered using this activation.</p>"
        },
        "RegistrationsCount":{
          "shape":"RegistrationsCount",
          "documentation":"<p>The number of managed instances already registered with this activation.</p>"
        },
        "ExpirationDate":{
          "shape":"ExpirationDate",
          "documentation":"<p>The date when this activation can no longer be used to register managed instances.</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>"
        }
      },
      "documentation":"<p>An activation registers one or more on-premises servers or virtual machines (VMs) with AWS so that you can configure those servers or VMs using Run Command. A server or VM that has been registered with AWS is called a managed instance.</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>"
        },
        "ResourceId":{
          "shape":"ResourceId",
          "documentation":"<p>The resource ID you want to tag.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p> One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string. </p>"
        }
      }
    },
    "AddTagsToResourceResult":{
      "type":"structure",
      "members":{
      }
    },
    "AgentErrorCode":{
      "type":"string",
      "max":10
    },
    "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
    },
    "ApproveAfterDays":{
      "type":"integer",
      "max":100,
      "min":0
    },
    "AssociatedInstances":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>You must disassociate an SSM document from all instances before you can delete it.</p>",
      "exception":true
    },
    "Association":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the instance.</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>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document used in the association.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The instances targeted by the request to create an association. </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.</p>"
        }
      },
      "documentation":"<p>Describes an association of an SSM document and an instance.</p>"
    },
    "AssociationAlreadyExists":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The specified association already exists.</p>",
      "exception":true
    },
    "AssociationDescription":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the instance.</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>"
        },
        "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 instances 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 Amazon 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>"
        }
      },
      "documentation":"<p>Describes the parameters for a document.</p>"
    },
    "AssociationDescriptionList":{
      "type":"list",
      "member":{
        "shape":"AssociationDescription",
        "locationName":"AssociationDescription"
      }
    },
    "AssociationDoesNotExist":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified association does not exist.</p>",
      "exception":true
    },
    "AssociationFilter":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"AssociationFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "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"
      ]
    },
    "AssociationFilterList":{
      "type":"list",
      "member":{
        "shape":"AssociationFilter",
        "locationName":"AssociationFilter"
      },
      "min":1
    },
    "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}"
    },
    "AssociationLimitExceeded":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>You can have at most 2,000 active associations.</p>",
      "exception":true
    },
    "AssociationList":{
      "type":"list",
      "member":{
        "shape":"Association",
        "locationName":"Association"
      }
    },
    "AssociationOverview":{
      "type":"structure",
      "members":{
        "Status":{
          "shape":"StatusName",
          "documentation":"<p>The status of the association. Status can be: <code>Pending</code>, <code>Success</code>, or <code>Failed</code>.</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 instances, and one of them was successful, this would return the count of instances by status.</p>"
        }
      },
      "documentation":"<p>Information about the association.</p>"
    },
    "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"
      ]
    },
    "AttributeName":{
      "type":"string",
      "max":64,
      "min":1
    },
    "AttributeValue":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "AutomationActionName":{
      "type":"string",
      "pattern":"^aws:[a-zA-Z]{3,25}$"
    },
    "AutomationDefinitionNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An Automation document with the specified name could not be found.</p>",
      "exception":true
    },
    "AutomationDefinitionVersionNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An Automation document with the specified name and version could not 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 document 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 document contains a list of steps that are executed in order.</p>"
        },
        "Parameters":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The key-value map of execution parameters, which were supplied when calling <code>StartAutomationExecution</code>.</p>"
        },
        "Outputs":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The list of execution outputs as defined in the automation document.</p>"
        },
        "FailureMessage":{
          "shape":"String",
          "documentation":"<p>A message describing why an execution has failed, if the status is set to Failed.</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>The aspect of the Automation execution information that should be limited.</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"
      ]
    },
    "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 document 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. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.</p>"
        },
        "ExecutionStartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution started.&gt;</p>"
        },
        "ExecutionEndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the execution finished. This is not populated if the execution is still in progress.</p>"
        },
        "ExecutedBy":{
          "shape":"String",
          "documentation":"<p>The IAM role ARN of the user who executed the Automation.</p>"
        },
        "LogFile":{
          "shape":"String",
          "documentation":"<p>An Amazon S3 bucket where execution information is stored.</p>"
        },
        "Outputs":{
          "shape":"AutomationParameterMap",
          "documentation":"<p>The list of execution outputs as defined in the Automation document.</p>"
        }
      },
      "documentation":"<p>Details about a specific Automation execution.</p>"
    },
    "AutomationExecutionMetadataList":{
      "type":"list",
      "member":{"shape":"AutomationExecutionMetadata"},
      "max":50,
      "min":0
    },
    "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",
        "Success",
        "TimedOut",
        "Cancelled",
        "Failed"
      ]
    },
    "AutomationParameterKey":{
      "type":"string",
      "max":30,
      "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":10,
      "min":0
    },
    "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}$"
    },
    "BatchErrorMessage":{"type":"string"},
    "Boolean":{"type":"boolean"},
    "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 instance IDs on which you want to cancel the command. If not provided, the command is canceled on every instance 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>"
    },
    "ClientToken":{
      "type":"string",
      "max":64,
      "min":1
    },
    "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 SSM document requested for execution.</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 this time is reached and the command has not already started executing, it will not execute. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The parameter values to be inserted in the SSM document when executing the command.</p>"
        },
        "InstanceIds":{
          "shape":"InstanceIdList",
          "documentation":"<p>The instance IDs against which this command was requested.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>An array of search criteria that targets instances using a <code>Key</code>;<code>Value</code> combination that you specify. <code>Targets</code> is required if you don't provide one or more instance 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 <code>Status</code>. For more information about these statuses, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html\">Monitor Commands</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html\">Monitor Commands</a> (Windows). <code>StatusDetails</code> can be one of the following values:</p> <ul> <li> <p>Pending – The command has not been sent to any instances.</p> </li> <li> <p>In Progress – The command has been sent to at least one instance but has not reached a final state on all instances.</p> </li> <li> <p>Success – The command successfully executed on all invocations. This is a terminal state.</p> </li> <li> <p>Delivery Timed Out – The value of <code>MaxErrors</code> or more command invocations shows a status of <code>Delivery Timed Out</code>. This is a terminal state.</p> </li> <li> <p>Execution Timed Out – The value of <code>MaxErrors</code> or more command invocations shows a status of <code>Execution Timed Out</code>. This is a terminal state.</p> </li> <li> <p>Failed – The value of <code>MaxErrors</code> or more command invocations shows a status of <code>Failed</code>. This is a terminal state.</p> </li> <li> <p>Incomplete – The command was attempted on all instances and one or more invocations does not have a value of <code>Success</code> but not enough invocations failed for the status to be <code>Failed</code>. This is a terminal state.</p> </li> <li> <p>Canceled – The command was terminated before it was completed. This is a terminal state.</p> </li> <li> <p>Rate Exceeded – The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before executing it on any instance. This is a terminal state.</p> </li> </ul>"
        },
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>The region where the Amazon Simple Storage Service (Amazon S3) output bucket is located. The default value is the region where Run Command is being called.</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":"VelocityConstraint",
          "documentation":"<p>The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows). </p>"
        },
        "MaxErrors":{
          "shape":"VelocityConstraint",
          "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 50. For more information about how to use <code>MaxErrors</code>, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows).</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: <code>Success</code>, <code>Failed</code>, <code>Execution Timed Out</code>, <code>Delivery Timed Out</code>, <code>Canceled</code>, <code>Terminated</code>, or <code>Undeliverable</code>.</p>"
        },
        "ErrorCount":{
          "shape":"ErrorCount",
          "documentation":"<p>The number of targets for which the status is <code>Failed</code> or <code>Execution Timed Out</code>.</p>"
        },
        "ServiceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role that Run Command 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>"
        }
      },
      "documentation":"<p>Describes a command request.</p>"
    },
    "CommandFilter":{
      "type":"structure",
      "required":[
        "key",
        "value"
      ],
      "members":{
        "key":{
          "shape":"CommandFilterKey",
          "documentation":"<p>The name of the filter. For example, requested date and time.</p>"
        },
        "value":{
          "shape":"CommandFilterValue",
          "documentation":"<p>The filter value. For example: June 30, 2015.</p>"
        }
      },
      "documentation":"<p>Describes a command filter.</p>"
    },
    "CommandFilterKey":{
      "type":"string",
      "enum":[
        "InvokedAfter",
        "InvokedBefore",
        "Status"
      ]
    },
    "CommandFilterList":{
      "type":"list",
      "member":{"shape":"CommandFilter"},
      "max":3,
      "min":1
    },
    "CommandFilterValue":{
      "type":"string",
      "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 instance ID in which this invocation was requested.</p>"
        },
        "InstanceName":{
          "shape":"InstanceTagName",
          "documentation":"<p>The name of the invocation target. For Amazon EC2 instances this is the value for the <code>aws:Name</code> tag. For on-premises instances, this is the name of the instance.</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>"
        },
        "RequestedDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The time and date the request was sent to this instance.</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 instance targeted by the command). <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=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html\">Monitor Commands</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html\">Monitor Commands</a> (Windows). <code>StatusDetails</code> can be one of the following values: </p> <ul> <li> <p>Pending – The command has not been sent to the instance.</p> </li> <li> <p>In Progress – The command has been sent to the instance but has not 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 was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command’s <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is <code>Success</code> or <code>Incomplete</code>. This is a terminal state.</p> </li> <li> <p>Execution Timed Out – Command execution started on the instance, but the execution was not 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 was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Canceled – 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 instance. The instance 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 <code>Success</code> or <code>Incomplete</code>. 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>"
        },
        "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 S3, if the Amazon 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 Amazon S3 bucket was defined for the command.</p>"
        },
        "StandardErrorUrl":{
          "shape":"Url",
          "documentation":"<p>The URL to the plugin’s StdErr file in Amazon S3, if the Amazon 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 Amazon S3 bucket was defined for the command.</p>"
        },
        "CommandPlugins":{"shape":"CommandPluginList"},
        "ServiceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes on a per instance basis.</p>"
        },
        "NotificationConfig":{
          "shape":"NotificationConfig",
          "documentation":"<p>Configurations for sending notifications about command status changes on a per instance basis.</p>"
        }
      },
      "documentation":"<p>An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. A command invocation returns status and detail information about a command you executed. </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: aws:updateAgent, aws:domainjoin, aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or aws:updateSSMAgent. </p>"
        },
        "Status":{
          "shape":"CommandPluginStatus",
          "documentation":"<p>The status of this plugin. You can execute 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 <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=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html\">Monitor Commands</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html\">Monitor Commands</a> (Windows). <code>StatusDetails</code> can be one of the following values:</p> <ul> <li> <p>Pending – The command has not been sent to the instance.</p> </li> <li> <p>In Progress – The command has been sent to the instance but has not 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 was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command’s <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is <code>Success</code> or <code>Incomplete</code>. This is a terminal state.</p> </li> <li> <p>Execution Timed Out – Command execution started on the instance, but the execution was not 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 was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Canceled – 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 instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command’s <code>MaxErrors</code> limit, and they don't contribute to whether the parent command status is <code>Success</code> or <code>Incomplete</code>. 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>"
        },
        "ResponseCode":{
          "shape":"ResponseCode",
          "documentation":"<p>A numeric response code generated after executing the plugin. </p>"
        },
        "ResponseStartDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the plugin started executing. </p>"
        },
        "ResponseFinishDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the plugin stopped executing. 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 Amazon S3 bucket for the command was not 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 is not yet complete, then this string is empty.</p>"
        },
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>The name of the region where the output is stored in Amazon S3.</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>test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript</code> </p> <p> <code>test_folder</code> is the name of the Amazon S3 bucket;</p> <p> <code>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</code> is the name of the S3 prefix;</p> <p> <code>i-1234567876543</code> is the instance 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>test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript</code> </p> <p> <code>test_folder</code> is the name of the Amazon S3 bucket;</p> <p> <code>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</code> is the name of the S3 prefix;</p> <p> <code>i-1234567876543</code> is the instance 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"},
    "ComputerName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "CreateActivationRequest":{
      "type":"structure",
      "required":["IamRole"],
      "members":{
        "Description":{
          "shape":"ActivationDescription",
          "documentation":"<p>A user-defined description of the resource that you want to register with Amazon EC2. </p>"
        },
        "DefaultInstanceName":{
          "shape":"DefaultInstanceName",
          "documentation":"<p>The name of the registered, managed instance as it will appear in the Amazon EC2 console or when you use the AWS command line tools to list EC2 resources.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. </p>"
        },
        "RegistrationLimit":{
          "shape":"RegistrationLimit",
          "documentation":"<p>Specify the maximum number of managed instances you want to register. The default value is 1 instance.</p>",
          "box":true
        },
        "ExpirationDate":{
          "shape":"ExpirationDate",
          "documentation":"<p>The date by which this activation request should expire. The default value is 24 hours.</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",
        "locationName":"entries"
      },
      "min":1
    },
    "CreateAssociationBatchRequestEntry":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p> The name of the configuration document. </p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p> The ID of the instance. </p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>A description of the parameters for a document. </p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The instances 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 Amazon S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p> Describes the association of an SSM document and an instance. </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":"DocumentName",
          "documentation":"<p>The name of the SSM document.</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>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The instance ID.</p>"
        },
        "Parameters":{
          "shape":"Parameters",
          "documentation":"<p>The parameters for the documents runtime configuration. </p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets (either instances or tags) for the association. Instances are specified using Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.</p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>A cron expression when the association will be applied to the target(s). Supported expressions are every half, 1, 2, 4, 8 or 12 hour(s); every specified day and time of the week. For example: cron(0 0/30 * 1/1 * ? *) to run every thirty minutes; cron(0 0 0/4 1/1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN *) to run every Sunday at 10 a.m.</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>An Amazon S3 bucket where you want to store the output details of the request. For example:</p> <p> <code>\"{ \\\"S3Location\\\": { \\\"OutputS3Region\\\": \\\"&lt;region&gt;\\\", \\\"OutputS3BucketName\\\": \\\"bucket name\\\", \\\"OutputS3KeyPrefix\\\": \\\"folder name\\\" } }\"</code> </p>"
        }
      }
    },
    "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>A valid JSON string.</p>"
        },
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>A name for the SSM document.</p>"
        },
        "DocumentType":{
          "shape":"DocumentType",
          "documentation":"<p>The type of document to create. Valid document types include: Policy, Automation, and Command.</p>"
        }
      }
    },
    "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>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</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 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>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateMaintenanceWindowResult":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the created Maintenance Window.</p>"
        }
      }
    },
    "CreatePatchBaselineRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"BaselineName",
          "documentation":"<p>The name of 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>"
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p>"
        },
        "Description":{
          "shape":"BaselineDescription",
          "documentation":"<p>A description of the patch baseline.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>Caller-provided idempotency token.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreatePatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the created patch baseline.</p>"
        }
      }
    },
    "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":"DocumentName",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the instance.</p>"
        },
        "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 SSM document.</p>"
        }
      }
    },
    "DeleteDocumentResult":{
      "type":"structure",
      "members":{
      }
    },
    "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>"
        }
      }
    },
    "DeleteParameterRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter to delete.</p>"
        }
      }
    },
    "DeleteParameterResult":{
      "type":"structure",
      "members":{
      }
    },
    "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>"
        }
      }
    },
    "DeregisterManagedInstanceRequest":{
      "type":"structure",
      "required":["InstanceId"],
      "members":{
        "InstanceId":{
          "shape":"ManagedInstanceId",
          "documentation":"<p>The ID assigned to the managed instance 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>"
        }
      }
    },
    "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 AWS 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>"
        }
      }
    },
    "DescribeAssociationRequest":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The instance ID.</p>"
        },
        "AssociationId":{
          "shape":"AssociationId",
          "documentation":"<p>The association ID for which you want information.</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>"
        }
      }
    },
    "DescribeAvailablePatchesRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Filters used to scope down the returned patches.</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>"
        }
      }
    },
    "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>"
        }
      }
    },
    "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 AWS account or <i>All</i>.</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>"
        }
      }
    },
    "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 instance 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 instance.</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 instance 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>One or more filters. Use a filter to return a more specific list of instances.</p>"
        },
        "Filters":{
          "shape":"InstanceInformationStringFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list of instances.</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. </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 instance 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> <p>Key (string 1 ≤ length ≤ 200)</p> <p> Values (array containing a single string)</p> <p> Type (string “Equal”, “NotEqual”, “LessThan”, “GreaterThan”)</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 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 instances. </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 instance whose 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 instances to return (per page).</p>",
          "box":true
        }
      }
    },
    "DescribeInstancePatchStatesResult":{
      "type":"structure",
      "members":{
        "InstancePatchStates":{
          "shape":"InstancePatchStateList",
          "documentation":"<p>The high-level patch state for the requested instances.</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 instance whose patch state information should be retrieved.</p>"
        },
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Each entry in the array is a structure containing:</p> <p>Key (string, 1 ≤ length ≤ 128)</p> <p>Values (array of strings 1 ≤ length ≤ 256)</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 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> <p>Title (string)</p> <p>KBId (string)</p> <p>Classification (string)</p> <p>Severity (string)</p> <p>State (string – “INSTALLED”, “INSTALLED_OTHER”, “MISSING”, “NOT_APPLICABLE”, “FAILED”)</p> <p>InstalledTime (DateTime)</p> <p>InstalledBy (string)</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>"
        }
      }
    },
    "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 STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.</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 STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED. </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> <p>Key (string, 1 ≤ length ≤ 128)</p> <p>Values (array of strings 1 ≤ length ≤ 256)</p> <p>The supported Keys are <code>ExecutedBefore</code> and <code>ExecutedAfter</code> with the value being a date/time string such as 2016-11-04T05:00:00Z.</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>"
        }
      }
    },
    "DescribeMaintenanceWindowExecutionsResult":{
      "type":"structure",
      "members":{
        "WindowExecutions":{
          "shape":"MaintenanceWindowExecutionList",
          "documentation":"<p>Information about the Maintenance Windows 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>"
        }
      }
    },
    "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>"
        }
      }
    },
    "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>.</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>"
        }
      }
    },
    "DescribeParametersRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"ParametersFilterList",
          "documentation":"<p>One or more filters. Use a filter to return a more specific list 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
        },
        "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. If there are no additional items to return, the string is empty.</p>"
        }
      }
    },
    "DescribePatchBaselinesRequest":{
      "type":"structure",
      "members":{
        "Filters":{
          "shape":"PatchOrchestratorFilterList",
          "documentation":"<p>Each element in the array is a structure containing: </p> <p>Key: (string, “NAME_PREFIX” or “OWNER”)</p> <p>Value: (array of strings, exactly 1 entry, 1 ≤ length ≤ 255)</p>"
        },
        "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 PatchBaselineIdentity 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 instances in the patch group.</p>"
        },
        "InstancesWithInstalledPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of instances with installed patches.</p>"
        },
        "InstancesWithInstalledOtherPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of instances with patches installed that aren’t defined in the patch baseline.</p>"
        },
        "InstancesWithMissingPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of instances with missing patches from the patch baseline.</p>"
        },
        "InstancesWithFailedPatches":{
          "shape":"Integer",
          "documentation":"<p>The number of instances with patches from the patch baseline that failed to install.</p>"
        },
        "InstancesWithNotApplicablePatches":{
          "shape":"Integer",
          "documentation":"<p>The number of instances with patches that aren’t applicable.</p>"
        }
      }
    },
    "DescribePatchGroupsRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"PatchBaselineMaxResults",
          "documentation":"<p>The maximum number of patch groups 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>"
        }
      }
    },
    "DescribePatchGroupsResult":{
      "type":"structure",
      "members":{
        "Mappings":{
          "shape":"PatchGroupPatchBaselineMappingList",
          "documentation":"<p>Each entry in the array contains:</p> <p>PatchGroup: string (1 ≤ length ≤ 256, Regex: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$)</p> <p>PatchBaselineIdentity: A PatchBaselineIdentity element. </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>"
        }
      }
    },
    "DescriptionInDocument":{"type":"string"},
    "DocumentARN":{
      "type":"string",
      "pattern":"^[a-zA-Z0-9_\\-.:/]{3,128}$"
    },
    "DocumentAlreadyExists":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified SSM document already exists.</p>",
      "exception":true
    },
    "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>"
        }
      },
      "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 purposes.</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>Sha256 or Sha1.</p> <note> <p>Sha1 hashes have been deprecated.</p> </note>"
        },
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "Owner":{
          "shape":"DocumentOwner",
          "documentation":"<p>The AWS user account of the person who created the document.</p>"
        },
        "CreatedDate":{
          "shape":"DateTime",
          "documentation":"<p> The date when the SSM document was created. </p>"
        },
        "Status":{
          "shape":"DocumentStatus",
          "documentation":"<p>The status of the SSM document.</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 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>"
        }
      },
      "documentation":"<p> Describes an SSM document. </p>"
    },
    "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>Describes a filter.</p>"
    },
    "DocumentFilterKey":{
      "type":"string",
      "enum":[
        "Name",
        "Owner",
        "PlatformTypes",
        "DocumentType"
      ]
    },
    "DocumentFilterList":{
      "type":"list",
      "member":{
        "shape":"DocumentFilter",
        "locationName":"DocumentFilter"
      },
      "min":1
    },
    "DocumentFilterValue":{
      "type":"string",
      "min":1
    },
    "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>"
        },
        "Owner":{
          "shape":"DocumentOwner",
          "documentation":"<p>The AWS user account of the person who created the document.</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>"
        }
      },
      "documentation":"<p>Describes the name of an SSM document.</p>"
    },
    "DocumentIdentifierList":{
      "type":"list",
      "member":{
        "shape":"DocumentIdentifier",
        "locationName":"DocumentIdentifier"
      }
    },
    "DocumentLimitExceeded":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You can have at most 200 active SSM documents.</p>",
      "exception":true
    },
    "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 the SSM document that execute on the server when the command is run. </p>"
    },
    "DocumentParameterDefaultValue":{"type":"string"},
    "DocumentParameterDescrption":{"type":"string"},
    "DocumentParameterList":{
      "type":"list",
      "member":{
        "shape":"DocumentParameter",
        "locationName":"DocumentParameter"
      }
    },
    "DocumentParameterName":{"type":"string"},
    "DocumentParameterType":{
      "type":"string",
      "enum":[
        "String",
        "StringList"
      ]
    },
    "DocumentPermissionLimit":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document cannot be shared with more AWS user accounts. You can share a document with a maximum of 20 accounts. You can publicly share up to five documents. If you need to increase this limit, contact AWS Support.</p>",
      "exception":true
    },
    "DocumentPermissionType":{
      "type":"string",
      "enum":["Share"]
    },
    "DocumentSchemaVersion":{
      "type":"string",
      "pattern":"([0-9]+)\\.([0-9]+)"
    },
    "DocumentSha1":{"type":"string"},
    "DocumentStatus":{
      "type":"string",
      "enum":[
        "Creating",
        "Active",
        "Updating",
        "Deleting"
      ]
    },
    "DocumentType":{
      "type":"string",
      "enum":[
        "Command",
        "Policy",
        "Automation"
      ]
    },
    "DocumentVersion":{
      "type":"string",
      "pattern":"([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)"
    },
    "DocumentVersionInfo":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The document name.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</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>"
        }
      },
      "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
    },
    "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 (e.g. a Maintenance Window) doesn’t exist.</p>",
      "exception":true
    },
    "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
    },
    "DuplicateInstanceId":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>You cannot specify an instance 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 EffectivePatch 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"},
    "ExpirationDate":{"type":"timestamp"},
    "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",
        "locationName":"FailedCreateAssociationEntry"
      }
    },
    "Fault":{
      "type":"string",
      "enum":[
        "Client",
        "Server",
        "Unknown"
      ]
    },
    "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 <code>StartAutomationExecution</code> when the execution of an Automation document is initiated.</p>"
        }
      }
    },
    "GetAutomationExecutionResult":{
      "type":"structure",
      "members":{
        "AutomationExecution":{
          "shape":"AutomationExecution",
          "documentation":"<p>Detailed information about the current state of an automation execution.</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 instance targeted by the command. A managed instance can be an Amazon EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.</p>"
        },
        "PluginName":{
          "shape":"CommandPluginName",
          "documentation":"<p>(Optional) The name of the plugin for which you want detailed results. If the SSM document contains only one plugin, the name can be omitted and the details will be returned.</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 instance targeted by the command. A managed instance can be an Amazon EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.</p>"
        },
        "Comment":{
          "shape":"Comment",
          "documentation":"<p>The comment text for the command.</p>"
        },
        "DocumentName":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the SSM document that was executed. For example, AWS-RunShellScript is an SSM document.</p>"
        },
        "PluginName":{
          "shape":"CommandPluginName",
          "documentation":"<p>The name of the plugin for which you want detailed results. For example, aws:RunShellScript 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 has not started executing on the instance, or it was not received by the instance.</p>"
        },
        "ExecutionStartDateTime":{
          "shape":"StringDateTime",
          "documentation":"<p>The date and time the plugin started executing. Date and time are written in ISO 8601 format. For example, August 28, 2016 is represented as 2016-08-28. If the plugin has not started to execute, 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 was finished executing. Date and time are written in ISO 8601 format. For example, August 28, 2016 is represented as 2016-08-28. If the plugin has not started to execute, the string is empty.</p>"
        },
        "Status":{
          "shape":"CommandInvocationStatus",
          "documentation":"<p>The status of the parent command for this invocation. 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=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html\">Monitor Commands</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html\">Monitor Commands</a> (Windows). <code>StatusDetails</code> can be one of the following values: </p> <ul> <li> <p>Pending – The command has not been sent to the instance.</p> </li> <li> <p>In Progress – The command has been sent to the instance but has not reached a terminal state.</p> </li> <li> <p>Delayed – The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again.</p> </li> <li> <p>Success – The command or plugin was executed successfully. This is a terminal state.</p> </li> <li> <p>Delivery Timed Out – The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command’s <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is <code>Success</code> or <code>Incomplete</code>. This is a terminal state.</p> </li> <li> <p>Execution Timed Out – The command started to execute on the instance, but the execution was not 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 executed successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p> </li> <li> <p>Canceled – 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 instance. The instance 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 <code>Success</code> or <code>Incomplete</code>. 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 stdout. If the command has not finished executing, if <code>ExecutionStatus</code> is neither <code>Succeeded</code> nor <code>Failed</code>, then this string is empty.</p>"
        },
        "StandardOutputUrl":{
          "shape":"Url",
          "documentation":"<p>The URL for the complete text written by the plugin to stdout in Amazon S3. If an Amazon S3 bucket was not specified, then this string is empty.</p>"
        },
        "StandardErrorContent":{
          "shape":"StandardErrorContent",
          "documentation":"<p>The first 8,000 characters written by the plugin to stderr. If the command has not finished executing, then this string is empty.</p>"
        },
        "StandardErrorUrl":{
          "shape":"Url",
          "documentation":"<p>The URL for the complete text written by the plugin to stderr. If the command has not finished executing, then this string is empty.</p>"
        }
      }
    },
    "GetDefaultPatchBaselineRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetDefaultPatchBaselineResult":{
      "type":"structure",
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the default patch baseline.</p>"
        }
      }
    },
    "GetDeployablePatchSnapshotForInstanceRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "SnapshotId"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the instance for which the appropriate patch snapshot should be retrieved.</p>"
        },
        "SnapshotId":{
          "shape":"SnapshotId",
          "documentation":"<p>The user-defined snapshot ID.</p>"
        }
      }
    },
    "GetDeployablePatchSnapshotForInstanceResult":{
      "type":"structure",
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the instance.</p>"
        },
        "SnapshotId":{
          "shape":"SnapshotId",
          "documentation":"<p>The user-defined snapshot ID.</p>"
        },
        "SnapshotDownloadUrl":{
          "shape":"SnapshotDownloadUrl",
          "documentation":"<p>A pre-signed Amazon S3 URL that can be used to download the patch snapshot.</p>"
        }
      }
    },
    "GetDocumentRequest":{
      "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.</p>"
        }
      }
    },
    "GetDocumentResult":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version.</p>"
        },
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>The contents of the SSM document.</p>"
        },
        "DocumentType":{
          "shape":"DocumentType",
          "documentation":"<p>The document type.</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>"
        },
        "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 instance 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
        }
      }
    },
    "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. Only available for certain status values.</p>"
        },
        "StartTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the Maintenance Window started executing.</p>"
        },
        "EndTime":{
          "shape":"DateTime",
          "documentation":"<p>The time the Maintenance Window finished executing.</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 ARN of the executed task.</p>"
        },
        "ServiceRole":{
          "shape":"ServiceRole",
          "documentation":"<p>The role that was assumed when executing the task.</p>"
        },
        "Type":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task executed.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParametersList",
          "documentation":"<p>The parameters passed to the task when it was executed. The map has the following format:</p> <p>Key: string, 1 ≤ length ≤ 255</p> <p>Value: an array of strings where each string 1 ≤ length ≤ 255</p>"
        },
        "Priority":{
          "shape":"MaintenanceWindowTaskPriority",
          "documentation":"<p>The priority of the task.</p>"
        },
        "MaxConcurrency":{
          "shape":"VelocityConstraint",
          "documentation":"<p>The defined maximum number of task executions that could be run in parallel.</p>"
        },
        "MaxErrors":{
          "shape":"VelocityConstraint",
          "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. Only available for certain 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>"
        }
      }
    },
    "GetMaintenanceWindowRequest":{
      "type":"structure",
      "required":["WindowId"],
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The ID of the desired Maintenance Window.</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>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</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 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 Windows 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>"
        }
      }
    },
    "GetParameterHistoryRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of a parameter you want to query.</p>"
        },
        "WithDecryption":{
          "shape":"Boolean",
          "documentation":"<p>Return decrypted values for secure string parameters. This flag is ignored for String and StringList 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>"
        }
      }
    },
    "GetParametersRequest":{
      "type":"structure",
      "required":["Names"],
      "members":{
        "Names":{
          "shape":"ParameterNameList",
          "documentation":"<p>Names of the parameters for which you want to query information.</p>"
        },
        "WithDecryption":{
          "shape":"Boolean",
          "documentation":"<p>Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.</p>",
          "box":true
        }
      }
    },
    "GetParametersResult":{
      "type":"structure",
      "members":{
        "Parameters":{
          "shape":"ParameterList",
          "documentation":"<p>A list of parameters used by the AWS account.</p>"
        },
        "InvalidParameters":{
          "shape":"ParameterNameList",
          "documentation":"<p>A list of parameters that are not formatted correctly or do not run when executed.</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>"
        }
      }
    },
    "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>"
        }
      }
    },
    "GetPatchBaselineRequest":{
      "type":"structure",
      "required":["BaselineId"],
      "members":{
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline to retrieve.</p>"
        }
      }
    },
    "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>"
        },
        "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>"
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</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>"
        }
      }
    },
    "IPAddress":{
      "type":"string",
      "max":46,
      "min":1
    },
    "IamRole":{
      "type":"string",
      "max":64
    },
    "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
    },
    "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 instance(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 instance ID.</p>"
        },
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>The content of the association document for the instance(s).</p>"
        }
      },
      "documentation":"<p>One or more association documents on the instance. </p>"
    },
    "InstanceAssociationExecutionSummary":{
      "type":"string",
      "max":512,
      "min":1
    },
    "InstanceAssociationList":{
      "type":"list",
      "member":{"shape":"InstanceAssociation"}
    },
    "InstanceAssociationOutputLocation":{
      "type":"structure",
      "members":{
        "S3Location":{
          "shape":"S3OutputLocation",
          "documentation":"<p>An Amazon S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>An Amazon S3 bucket where you want to store the results of this request.</p>"
    },
    "InstanceAssociationOutputUrl":{
      "type":"structure",
      "members":{
        "S3OutputUrl":{
          "shape":"S3OutputUrl",
          "documentation":"<p>The URL of Amazon S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>The URL of Amazon 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":"DocumentName",
          "documentation":"<p>The name of the association.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The association document verions.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The instance ID where the association was created.</p>"
        },
        "ExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the instance association executed. </p>"
        },
        "Status":{
          "shape":"StatusName",
          "documentation":"<p>Status information about the instance association.</p>"
        },
        "DetailedStatus":{
          "shape":"StatusName",
          "documentation":"<p>Detailed status information about the instance 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 Amazon S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>Status information about the instance 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 instance ID. </p>"
        },
        "PingStatus":{
          "shape":"PingStatus",
          "documentation":"<p>Connection status of the SSM agent. </p>"
        },
        "LastPingDateTime":{
          "shape":"DateTime",
          "documentation":"<p>The date and time when agent last pinged Systems Manager service. </p>",
          "box":true
        },
        "AgentVersion":{
          "shape":"Version",
          "documentation":"<p>The version of the SSM agent running on your Linux instance. </p>"
        },
        "IsLatestVersion":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether latest version of the SSM agent is running on your instance. </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 instance. </p>"
        },
        "PlatformVersion":{
          "shape":"String",
          "documentation":"<p>The version of the OS platform running on your instance. </p>"
        },
        "ActivationId":{
          "shape":"ActivationId",
          "documentation":"<p>The activation ID created by Systems Manager when the server or VM was registered.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances. </p>"
        },
        "RegistrationDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the server or VM was registered with AWS as a managed instance.</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 of the managed instance.</p>"
        },
        "IPAddress":{
          "shape":"IPAddress",
          "documentation":"<p>The IP address of the managed instance.</p>"
        },
        "ComputerName":{
          "shape":"ComputerName",
          "documentation":"<p>The fully qualified host name of the managed instance.</p>"
        },
        "AssociationStatus":{
          "shape":"StatusName",
          "documentation":"<p>The status of the association.</p>"
        },
        "LastAssociationExecutionDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the association was last executed.</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>"
        }
      },
      "documentation":"<p>Describes a filter for a specific list of instances. </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 instances. </p>"
    },
    "InstanceInformationFilterKey":{
      "type":"string",
      "enum":[
        "InstanceIds",
        "AgentVersion",
        "PingStatus",
        "PlatformTypes",
        "ActivationIds",
        "IamRole",
        "ResourceType",
        "AssociationStatus"
      ]
    },
    "InstanceInformationFilterList":{
      "type":"list",
      "member":{
        "shape":"InstanceInformationFilter",
        "locationName":"InstanceInformationFilter"
      },
      "min":0
    },
    "InstanceInformationFilterValue":{
      "type":"string",
      "min":1
    },
    "InstanceInformationFilterValueSet":{
      "type":"list",
      "member":{
        "shape":"InstanceInformationFilterValue",
        "locationName":"InstanceInformationFilterValue"
      },
      "max":100,
      "min":1
    },
    "InstanceInformationList":{
      "type":"list",
      "member":{
        "shape":"InstanceInformation",
        "locationName":"InstanceInformation"
      }
    },
    "InstanceInformationStringFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"InstanceInformationStringFilterKey",
          "documentation":"<p>The filter key name to describe your instances. For example:</p> <p>\"InstanceIds\"|\"AgentVersion\"|\"PingStatus\"|\"PlatformTypes\"|\"ActivationIds\"|\"IamRole\"|\"ResourceType\"|”AssociationStatus”|”Tag Key”</p>"
        },
        "Values":{
          "shape":"InstanceInformationFilterValueSet",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>The filters to describe or get information about your managed instances.</p>"
    },
    "InstanceInformationStringFilterKey":{
      "type":"string",
      "min":1
    },
    "InstanceInformationStringFilterList":{
      "type":"list",
      "member":{
        "shape":"InstanceInformationStringFilter",
        "locationName":"InstanceInformationStringFilter"
      },
      "min":0
    },
    "InstancePatchState":{
      "type":"structure",
      "required":[
        "InstanceId",
        "PatchGroup",
        "BaselineId",
        "OperationStartTime",
        "OperationEndTime",
        "Operation"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the managed instance the high-level patch compliance information was collected for.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group the managed instance belongs to.</p>"
        },
        "BaselineId":{
          "shape":"BaselineId",
          "documentation":"<p>The ID of the patch baseline used to patch the instance.</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>"
        },
        "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 instance.</p>"
        },
        "InstalledOtherCount":{
          "shape":"PatchInstalledOtherCount",
          "documentation":"<p>The number of patches not specified in the patch baseline that are installed on the instance.</p>"
        },
        "MissingCount":{
          "shape":"PatchMissingCount",
          "documentation":"<p>The number of patches from the patch baseline that are applicable for the instance 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>"
        },
        "NotApplicableCount":{
          "shape":"PatchNotApplicableCount",
          "documentation":"<p>The number of patches from the patch baseline that aren’t applicable for the instance and hence aren’t installed on the instance.</p>"
        },
        "OperationStartTime":{
          "shape":"PatchOperationStartTime",
          "documentation":"<p>The time the most recent patching operation was started on the instance.</p>"
        },
        "OperationEndTime":{
          "shape":"PatchOperationEndTime",
          "documentation":"<p>The time the most recent patching operation completed on the instance.</p>"
        },
        "Operation":{
          "shape":"PatchOperationType",
          "documentation":"<p>The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).</p>"
        }
      },
      "documentation":"<p>Defines the high-level patch compliance state for a managed instance, 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 instance.</p>"
    },
    "InstancePatchStateFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values",
        "Type"
      ],
      "members":{
        "Key":{
          "shape":"InstancePatchStateFilterKey",
          "documentation":"<p>The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.</p>"
        },
        "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: Equal, NotEqual, LessThan or GreaterThan.</p>"
        }
      },
      "documentation":"<p>Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the information returned by the API.</p>"
    },
    "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
    },
    "Integer":{"type":"integer"},
    "InternalServerError":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An error occurred on the server side.</p>",
      "exception":true
    },
    "InvalidActivation":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The activation is not valid. The activation might have been deleted, or the ActivationId and the ActivationCode do not match.</p>",
      "exception":true
    },
    "InvalidActivationId":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The activation ID is not valid. Verify the you entered the correct ActivationId or ActivationCode and try again.</p>",
      "exception":true
    },
    "InvalidAutomationExecutionParametersException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The supplied parameters for invoking the specified Automation document are incorrect. For example, they may not match the set of parameters permitted for the specified Automation document.</p>",
      "exception":true
    },
    "InvalidCommandId":{
      "type":"structure",
      "members":{
      },
      "exception":true
    },
    "InvalidDocument":{
      "type":"structure",
      "members":{
        "Message":{
          "shape":"String",
          "documentation":"<p>The SSM document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus. </p>"
        }
      },
      "documentation":"<p>The specified document does not 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 SSM document is not 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 is not supported.</p>",
      "exception":true
    },
    "InvalidDocumentVersion":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document version is not valid or does not exist.</p>",
      "exception":true
    },
    "InvalidFilter":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The filter name is not valid. Verify the you entered the correct name and try again.</p>",
      "exception":true
    },
    "InvalidFilterKey":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The specified key is not valid.</p>",
      "exception":true
    },
    "InvalidFilterValue":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The filter value is not 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> <p>You do not have permission to access the instance.</p> <p>The SSM agent is not running. On managed instances and Linux instances, verify that the SSM agent is running. On EC2 Windows instances, verify that the EC2Config service is running.</p> <p>The SSM agent or EC2Config service is not registered to the SSM endpoint. Try reinstalling the SSM agent or EC2Config service.</p> <p>The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. Invalid states are: Shutting-down and Terminated.</p>",
      "exception":true
    },
    "InvalidInstanceInformationFilterValue":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The specified filter value is not valid.</p>",
      "exception":true
    },
    "InvalidItemContentException":{
      "type":"structure",
      "members":{
        "TypeName":{"shape":"InventoryItemTypeName"},
        "Message":{"shape":"String"}
      },
      "documentation":"<p>One or more content items is not valid.</p>",
      "exception":true
    },
    "InvalidKeyId":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The query key ID is not valid.</p>",
      "exception":true
    },
    "InvalidNextToken":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The specified token is not valid.</p>",
      "exception":true
    },
    "InvalidNotificationConfig":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>One or more configuration items is not valid. Verify that a valid Amazon Resource Name (ARN) was provided for an Amazon SNS topic.</p>",
      "exception":true
    },
    "InvalidOutputFolder":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The S3 bucket does not exist.</p>",
      "exception":true
    },
    "InvalidOutputLocation":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The output location is not valid or does not exist.</p>",
      "exception":true
    },
    "InvalidParameters":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>You must specify values for all required parameters in the 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 is not supported. <i>Share</i> is the only supported permission type.</p>",
      "exception":true
    },
    "InvalidPluginName":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The plugin name is not valid.</p>",
      "exception":true
    },
    "InvalidResourceId":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The resource ID is not valid. Verify that you entered the correct ID and try again.</p>",
      "exception":true
    },
    "InvalidResourceType":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The resource type is not valid. If you are attempting to tag an instance, the instance must be a registered, managed instance.</p>",
      "exception":true
    },
    "InvalidResultAttributeException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The specified inventory item result attribute is not 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=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rc-sns.html\">Getting Amazon SNS Notifications When a Command Changes Status</a> in the <i>Amazon Elastic Compute Cloud 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
    },
    "InvalidTarget":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The target is not valid or does not exist. It might not be configured for EC2 Systems Manager or you might not have permission to perform the operation.</p>",
      "exception":true
    },
    "InvalidTypeNameException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The parameter type name is not valid.</p>",
      "exception":true
    },
    "InvalidUpdate":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The update is not valid.</p>",
      "exception":true
    },
    "InventoryAttributeDataType":{
      "type":"string",
      "enum":[
        "string",
        "number"
      ]
    },
    "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 instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal </p>"
        },
        "Type":{
          "shape":"InventoryQueryOperatorType",
          "documentation":"<p>The type of filter. Valid values include the following: \"Equal\"|\"NotEqual\"|\"BeginWith\"|\"LessThan\"|\"GreaterThan\"</p>"
        }
      },
      "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",
        "locationName":"InventoryFilter"
      },
      "max":5,
      "min":1
    },
    "InventoryFilterValue":{"type":"string"},
    "InventoryFilterValueList":{
      "type":"list",
      "member":{
        "shape":"InventoryFilterValue",
        "locationName":"FilterValue"
      },
      "max":20,
      "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 <code>Custom</code>. 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 <code>PutInventory</code> API does not update the inventory item type contents if the MD5 hash has not changed since last update. </p>"
        },
        "Content":{
          "shape":"InventoryItemEntryList",
          "documentation":"<p>The inventory data of the inventory type.</p>"
        }
      },
      "documentation":"<p>Information collected from managed instances 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",
        "locationName":"Attribute"
      },
      "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)$"
    },
    "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",
        "locationName":"Item"
      },
      "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 <code>AWS</code>. Custom inventory type names will start with <code>Custom</code>. 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>"
        }
      },
      "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"
      ]
    },
    "InventoryResultEntity":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"InventoryResultEntityId",
          "documentation":"<p>ID of the inventory result entity. For example, for managed instance inventory the result will be the managed instance 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",
        "locationName":"Entity"
      }
    },
    "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 <code>PutInventory</code> API does not update the inventory item type contents if the MD5 hash has not 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"}
    },
    "InvocationDoesNotExist":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The command ID and instance ID you specified did not match any invocations. Verify the command ID adn the instance ID and try again. </p>",
      "exception":true
    },
    "InvocationTraceOutput":{
      "type":"string",
      "max":2500
    },
    "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"}
    },
    "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>"
        },
        "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 instance 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. By default this is set to False. </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 instance 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>"
        }
      }
    },
    "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>"
        }
      }
    },
    "ListDocumentVersionsRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document about which you want version 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>"
        }
      }
    },
    "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>One or more filters. Use a filter to return a more specific list 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
        },
        "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 instance 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 instance ID targeted by the request to query inventory information.</p>"
        },
        "SchemaVersion":{
          "shape":"InventoryItemSchemaVersion",
          "documentation":"<p>The inventory schema version used by the instance(s).</p>"
        },
        "CaptureTime":{
          "shape":"InventoryItemCaptureTime",
          "documentation":"<p>The time that inventory information was collected for the instance(s).</p>"
        },
        "Entries":{
          "shape":"InventoryItemEntryList",
          "documentation":"<p>A list of inventory items on the instance(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>"
        }
      }
    },
    "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 Amazon S3 bucket where execution logs are stored .</p>"
        },
        "S3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>(Optional) The Amazon S3 bucket subfolder. </p>"
        },
        "S3Region":{
          "shape":"S3Region",
          "documentation":"<p>The region where the Amazon S3 bucket is located.</p>"
        }
      },
      "documentation":"<p>Information about an Amazon S3 bucket to write instance-level logs to.</p>"
    },
    "MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"},
    "MaintenanceWindowCutoff":{
      "type":"integer",
      "max":23,
      "min":0
    },
    "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. Only available for certain 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. Only available for certain 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 ARN of the executed task.</p>"
        },
        "TaskType":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of executed 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 RUN_COMMAND, this value is the command ID.</p>"
        },
        "Parameters":{
          "shape":"MaintenanceWindowExecutionTaskInvocationParameters",
          "documentation":"<p>The parameters that were provided for the invocation when it was executed.</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. Only available for certain 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 CloudWatch 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.</p>"
    },
    "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>"
        },
        "Enabled":{
          "shape":"MaintenanceWindowEnabled",
          "documentation":"<p>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 Systems Manager stops scheduling new tasks for execution.</p>"
        }
      },
      "documentation":"<p>Information about the Maintenance Window.</p>"
    },
    "MaintenanceWindowIdentityList":{
      "type":"list",
      "member":{"shape":"MaintenanceWindowIdentity"}
    },
    "MaintenanceWindowMaxResults":{
      "type":"integer",
      "max":100,
      "min":10
    },
    "MaintenanceWindowName":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
    },
    "MaintenanceWindowResourceType":{
      "type":"string",
      "enum":["INSTANCE"]
    },
    "MaintenanceWindowSchedule":{
      "type":"string",
      "max":256,
      "min":1
    },
    "MaintenanceWindowTarget":{
      "type":"structure",
      "members":{
        "WindowId":{
          "shape":"MaintenanceWindowId",
          "documentation":"<p>The Maintenance Window ID where the target is registered.</p>"
        },
        "WindowTargetId":{
          "shape":"MaintenanceWindowTargetId",
          "documentation":"<p>The ID of the target.</p>"
        },
        "ResourceType":{
          "shape":"MaintenanceWindowResourceType",
          "documentation":"<p>The type of target.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets (either instances or tags). Instances are specified using Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.</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 Maintenance Window ID where the task is registered.</p>"
        },
        "WindowTaskId":{
          "shape":"MaintenanceWindowTaskId",
          "documentation":"<p>The task ID.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The ARN of the task to execute.</p>"
        },
        "Type":{
          "shape":"MaintenanceWindowTaskType",
          "documentation":"<p>The type of task.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>The targets (either instances or tags). Instances are specified using Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.</p>"
        },
        "TaskParameters":{
          "shape":"MaintenanceWindowTaskParameters",
          "documentation":"<p>The parameters that should be passed to the task when it is executed.</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>"
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>Information about an Amazon S3 bucket to write task-level logs to.</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The role that should be assumed when executing the task</p>"
        },
        "MaxConcurrency":{
          "shape":"VelocityConstraint",
          "documentation":"<p>The maximum number of targets this task can be run for in parallel.</p>"
        },
        "MaxErrors":{
          "shape":"VelocityConstraint",
          "documentation":"<p>The maximum number of errors allowed before this task stops being scheduled.</p>"
        }
      },
      "documentation":"<p>Information about a task defined for a Maintenance Window.</p>"
    },
    "MaintenanceWindowTaskArn":{
      "type":"string",
      "max":1600,
      "min":1
    },
    "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}$"
    },
    "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"]
    },
    "ManagedInstanceId":{
      "type":"string",
      "pattern":"^mi-[0-9a-f]{17}$"
    },
    "MaxDocumentSizeExceeded":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The size limit of an SSM document is 64 KB.</p>",
      "exception":true
    },
    "MaxResults":{
      "type":"integer",
      "max":50,
      "min":1
    },
    "MaxResultsEC2Compatible":{
      "type":"integer",
      "max":50,
      "min":5
    },
    "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 AWS user accounts 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 AWS user accounts that should no longer have access to the document. The AWS user account 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 account ID to add and the same ID to remove, the system removes access to the document.</p>"
        }
      }
    },
    "ModifyDocumentPermissionResponse":{
      "type":"structure",
      "members":{
      }
    },
    "NextToken":{"type":"string"},
    "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 a Simple Notification Service (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. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html\">Monitoring Commands</a> in the <i>Amazon Elastic Compute Cloud User Guide </i>.</p>"
        },
        "NotificationType":{
          "shape":"NotificationType",
          "documentation":"<p>Command: Receive notification when the status of a command changes. Invocation: For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes. </p>"
        }
      },
      "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"
      ]
    },
    "OwnerInformation":{
      "type":"string",
      "max":128,
      "min":1,
      "sensitive":true
    },
    "PSParameterName":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^(?!^([aA][wW][sS]|[sS][sS][mM]))(?=^[a-zA-Z0-9_.-]*$).*$"
    },
    "PSParameterValue":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^(?:(?!(\\{\\{.*\\}\\})).)*$"
    },
    "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: String, String list, Secure string.</p>"
        },
        "Value":{
          "shape":"PSParameterValue",
          "documentation":"<p>The parameter value.</p>"
        }
      },
      "documentation":"<p>An Amazon EC2 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
    },
    "ParameterDescription":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "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 AWS 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>"
        }
      },
      "documentation":"<p>Information about parameter usage.</p>"
    },
    "ParameterHistoryList":{
      "type":"list",
      "member":{"shape":"ParameterHistory"}
    },
    "ParameterKeyId":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^([a-zA-Z0-9:/_-]+)$"
    },
    "ParameterLimitExceeded":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You have exceeded the number of parameters for this AWS account. Delete one or more parameters and try again.</p>",
      "exception":true
    },
    "ParameterList":{
      "type":"list",
      "member":{"shape":"Parameter"}
    },
    "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: String, String list, Secure string.</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 AWS user who last changed the parameter.</p>"
        },
        "Description":{
          "shape":"ParameterDescription",
          "documentation":"<p>Description of the parameter actions.</p>"
        }
      },
      "documentation":"<p>Metada 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 could not be found. Verify the name and try again.</p>",
      "exception":true
    },
    "ParameterType":{
      "type":"string",
      "enum":[
        "String",
        "StringList",
        "SecureString"
      ]
    },
    "ParameterValue":{"type":"string"},
    "ParameterValueList":{
      "type":"list",
      "member":{"shape":"ParameterValue"}
    },
    "Parameters":{
      "type":"map",
      "key":{"shape":"ParameterName"},
      "value":{"shape":"ParameterValueList"}
    },
    "ParametersFilter":{
      "type":"structure",
      "required":["Values"],
      "members":{
        "Key":{
          "shape":"ParametersFilterKey",
          "documentation":"<p>The name of the filter.</p>"
        },
        "Values":{
          "shape":"ParametersFilterValueList",
          "documentation":"<p>The filter values.</p>"
        }
      },
      "documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
    },
    "ParametersFilterKey":{
      "type":"string",
      "enum":[
        "Name",
        "Type",
        "KeyId"
      ]
    },
    "ParametersFilterList":{
      "type":"list",
      "member":{"shape":"ParametersFilter"}
    },
    "ParametersFilterValue":{
      "type":"string",
      "max":100,
      "min":1
    },
    "ParametersFilterValueList":{
      "type":"list",
      "member":{"shape":"ParametersFilterValue"},
      "max":50,
      "min":1
    },
    "Patch":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"PatchId",
          "documentation":"<p>The ID of the patch (this is different than the Microsoft Knowledge Base ID).</p>"
        },
        "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, Windows).</p>"
        },
        "Product":{
          "shape":"PatchProduct",
          "documentation":"<p>The specific product the patch is applicable for (for example, WindowsServer2016).</p>"
        },
        "Classification":{
          "shape":"PatchClassification",
          "documentation":"<p>The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).</p>"
        },
        "MsrcSeverity":{
          "shape":"PatchMsrcSeverity",
          "documentation":"<p>The severity of the patch (for example Critical, Important, Moderate).</p>"
        },
        "KbNumber":{
          "shape":"PatchKbNumber",
          "documentation":"<p>The Microsoft Knowledge Base ID of the patch.</p>"
        },
        "MsrcNumber":{
          "shape":"PatchMsrcNumber",
          "documentation":"<p>The ID of the MSRC bulletin the patch is related to.</p>"
        },
        "Language":{
          "shape":"PatchLanguage",
          "documentation":"<p>The language of the patch if it’s language-specific.</p>"
        }
      },
      "documentation":"<p>Represents metadata about a patch.</p>"
    },
    "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>"
        },
        "BaselineDescription":{
          "shape":"BaselineDescription",
          "documentation":"<p>The description of the patch baseline.</p>"
        },
        "DefaultBaseline":{
          "shape":"DefaultBaseline",
          "documentation":"<p>Whether this is the default baseline.</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
    },
    "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 Microsoft Knowledge Base ID of the patch.</p>"
        },
        "Classification":{
          "shape":"PatchClassification",
          "documentation":"<p>The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).</p>"
        },
        "Severity":{
          "shape":"PatchSeverity",
          "documentation":"<p>The severity of the patch (for example, Critical, Important, Moderate).</p>"
        },
        "State":{
          "shape":"PatchComplianceDataState",
          "documentation":"<p>The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).</p>"
        },
        "InstalledTime":{
          "shape":"PatchInstalledTime",
          "documentation":"<p>The date/time the patch was installed on the instance.</p>"
        }
      },
      "documentation":"<p>Information about the state of a patch on a particular instance as it relates to the patch baseline used to patch the instance.</p>"
    },
    "PatchComplianceDataList":{
      "type":"list",
      "member":{"shape":"PatchComplianceData"}
    },
    "PatchComplianceDataState":{
      "type":"string",
      "enum":[
        "INSTALLED",
        "INSTALLED_OTHER",
        "MISSING",
        "NOT_APPLICABLE",
        "FAILED"
      ]
    },
    "PatchComplianceMaxResults":{
      "type":"integer",
      "max":100,
      "min":10
    },
    "PatchContentUrl":{"type":"string"},
    "PatchDeploymentStatus":{
      "type":"string",
      "enum":[
        "APPROVED",
        "PENDING_APPROVAL",
        "EXPLICIT_APPROVED",
        "EXPLICIT_REJECTED"
      ]
    },
    "PatchDescription":{"type":"string"},
    "PatchFailedCount":{"type":"integer"},
    "PatchFilter":{
      "type":"structure",
      "required":[
        "Key",
        "Values"
      ],
      "members":{
        "Key":{
          "shape":"PatchFilterKey",
          "documentation":"<p>The key for the filter (PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID)</p>"
        },
        "Values":{
          "shape":"PatchFilterValueList",
          "documentation":"<p>The value for the filter key.</p>"
        }
      },
      "documentation":"<p>Defines a patch filter.</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":[
        "PRODUCT",
        "CLASSIFICATION",
        "MSRC_SEVERITY",
        "PATCH_ID"
      ]
    },
    "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",
      "pattern":"(^KB[0-9]{1,7}$)|(^MS[0-9]{2}\\-[0-9]{3}$)"
    },
    "PatchIdList":{
      "type":"list",
      "member":{"shape":"PatchId"},
      "max":50,
      "min":0
    },
    "PatchInstalledCount":{"type":"integer"},
    "PatchInstalledOtherCount":{"type":"integer"},
    "PatchInstalledTime":{"type":"timestamp"},
    "PatchKbNumber":{"type":"string"},
    "PatchLanguage":{"type":"string"},
    "PatchList":{
      "type":"list",
      "member":{"shape":"Patch"}
    },
    "PatchMissingCount":{"type":"integer"},
    "PatchMsrcNumber":{"type":"string"},
    "PatchMsrcSeverity":{"type":"string"},
    "PatchNotApplicableCount":{"type":"integer"},
    "PatchOperationEndTime":{"type":"timestamp"},
    "PatchOperationStartTime":{"type":"timestamp"},
    "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.</p>"
    },
    "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"}
    },
    "PatchProduct":{"type":"string"},
    "PatchProductFamily":{"type":"string"},
    "PatchRule":{
      "type":"structure",
      "required":[
        "PatchFilterGroup",
        "ApproveAfterDays"
      ],
      "members":{
        "PatchFilterGroup":{
          "shape":"PatchFilterGroup",
          "documentation":"<p>The patch filter group that defines the criteria for the rule.</p>"
        },
        "ApproveAfterDays":{
          "shape":"ApproveAfterDays",
          "documentation":"<p>The number of days after the release date of each patch matched by the rule the patch is marked as approved in the patch baseline.</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
    },
    "PatchSeverity":{"type":"string"},
    "PatchStatus":{
      "type":"structure",
      "members":{
        "DeploymentStatus":{
          "shape":"PatchDeploymentStatus",
          "documentation":"<p>The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).</p>"
        },
        "ApprovalDate":{
          "shape":"DateTime",
          "documentation":"<p>The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).</p>"
        }
      },
      "documentation":"<p>Information about the approval status of a patch.</p>"
    },
    "PatchTitle":{"type":"string"},
    "PatchVendor":{"type":"string"},
    "PingStatus":{
      "type":"string",
      "enum":[
        "Online",
        "ConnectionLost",
        "Inactive"
      ]
    },
    "PlatformType":{
      "type":"string",
      "enum":[
        "Windows",
        "Linux"
      ]
    },
    "PlatformTypeList":{
      "type":"list",
      "member":{
        "shape":"PlatformType",
        "locationName":"PlatformType"
      }
    },
    "PutInventoryRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "Items"
      ],
      "members":{
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>One or more instance IDs 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 instances.</p>"
        }
      }
    },
    "PutInventoryResult":{
      "type":"structure",
      "members":{
      }
    },
    "PutParameterRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Value",
        "Type"
      ],
      "members":{
        "Name":{
          "shape":"PSParameterName",
          "documentation":"<p>The name of the parameter that you want to add to the system.</p>"
        },
        "Description":{
          "shape":"ParameterDescription",
          "documentation":"<p>Information about the parameter that you want to add to the system</p>"
        },
        "Value":{
          "shape":"PSParameterValue",
          "documentation":"<p>The parameter value that you want to add to the system.</p>"
        },
        "Type":{
          "shape":"ParameterType",
          "documentation":"<p>The type of parameter that you want to add to the system.</p>"
        },
        "KeyId":{
          "shape":"ParameterKeyId",
          "documentation":"<p>The parameter key ID that you want to add to the system.</p>"
        },
        "Overwrite":{
          "shape":"Boolean",
          "documentation":"<p>Overwrite an existing parameter.</p>",
          "box":true
        }
      }
    },
    "PutParameterResult":{
      "type":"structure",
      "members":{
      }
    },
    "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 the patch group with.</p>"
        },
        "PatchGroup":{
          "shape":"PatchGroup",
          "documentation":"<p>The name of the patch group that should 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 (either instances or tags). Instances are specified using Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.</p>"
        },
        "OwnerInformation":{
          "shape":"OwnerInformation",
          "documentation":"<p>User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.</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",
        "Targets",
        "TaskArn",
        "ServiceRoleArn",
        "TaskType",
        "MaxConcurrency",
        "MaxErrors"
      ],
      "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 instances or tags). Instances are specified using Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.</p>"
        },
        "TaskArn":{
          "shape":"MaintenanceWindowTaskArn",
          "documentation":"<p>The ARN of the task to execute </p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The role that should be assumed when executing the task.</p>"
        },
        "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 executed.</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":"VelocityConstraint",
          "documentation":"<p>The maximum number of targets this task can be run for in parallel.</p>"
        },
        "MaxErrors":{
          "shape":"VelocityConstraint",
          "documentation":"<p>The maximum number of errors allowed before this task stops being scheduled.</p>"
        },
        "LoggingInfo":{
          "shape":"LoggingInfo",
          "documentation":"<p>A structure containing information about an Amazon S3 bucket to write instance-level logs to. </p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>User-provided idempotency token.</p>",
          "idempotencyToken":true
        }
      }
    },
    "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
    },
    "RegistrationsCount":{
      "type":"integer",
      "max":1000,
      "min":1
    },
    "RemoveTagsFromResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceType",
        "ResourceId",
        "TagKeys"
      ],
      "members":{
        "ResourceType":{
          "shape":"ResourceTypeForTagging",
          "documentation":"<p>The type of resource of which you want to remove a tag.</p>"
        },
        "ResourceId":{
          "shape":"ResourceId",
          "documentation":"<p>The resource ID for which you want to remove tags.</p>"
        },
        "TagKeys":{
          "shape":"KeyList",
          "documentation":"<p>Tag keys that you want to remove from the specified resource.</p>"
        }
      }
    },
    "RemoveTagsFromResourceResult":{
      "type":"structure",
      "members":{
      }
    },
    "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 limits (e.g. too many Maintenance Windows have been created).</p>",
      "exception":true
    },
    "ResourceType":{
      "type":"string",
      "enum":[
        "ManagedInstance",
        "Document",
        "EC2Instance"
      ]
    },
    "ResourceTypeForTagging":{
      "type":"string",
      "enum":[
        "ManagedInstance",
        "MaintenanceWindow",
        "Parameter"
      ]
    },
    "ResponseCode":{"type":"integer"},
    "ResultAttribute":{
      "type":"structure",
      "required":["TypeName"],
      "members":{
        "TypeName":{
          "shape":"InventoryItemTypeName",
          "documentation":"<p>Name of the inventory item type. Valid value: “AWS:InstanceInformation”. Default Value: “AWS:InstanceInformation”.</p>"
        }
      },
      "documentation":"<p>The inventory item result attribute.</p>"
    },
    "ResultAttributeList":{
      "type":"list",
      "member":{
        "shape":"ResultAttribute",
        "locationName":"ResultAttribute"
      },
      "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 S3 region where the association information is stored.</p>"
        },
        "OutputS3BucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The name of the Amazon S3 bucket.</p>"
        },
        "OutputS3KeyPrefix":{
          "shape":"S3KeyPrefix",
          "documentation":"<p>The Amazon S3 bucket subfolder.</p>"
        }
      },
      "documentation":"<p>An Amazon 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 Amazon S3 bucket where you want to store the results of this request.</p>"
        }
      },
      "documentation":"<p>A URL for the Amazon S3 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
    },
    "SendCommandRequest":{
      "type":"structure",
      "required":["DocumentName"],
      "members":{
        "InstanceIds":{
          "shape":"InstanceIdList",
          "documentation":"<p>Required. The instance IDs where the command should execute. You can specify a maximum of 50 IDs.</p>"
        },
        "Targets":{
          "shape":"Targets",
          "documentation":"<p>(Optional) An array of search criteria that targets instances using a <code>Key</code>;<code>Value</code> combination that you specify. <code>Targets</code> is required if you don't provide one or more instance IDs in the call. For more information about how to use <code>Targets</code>, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows).</p>"
        },
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>Required. The name of the SSM document to execute. This can be an SSM public document or a custom document.</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 has not already started executing, it will not execute.</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 SSM document being executed.</p>"
        },
        "OutputS3Region":{
          "shape":"S3Region",
          "documentation":"<p>(Optional) The region where the Amazon Simple Storage Service (Amazon S3) output bucket is located. The default value is the region where Run Command is being called.</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":"VelocityConstraint",
          "documentation":"<p>(Optional) The maximum number of instances that are allowed to execute the command at the same time. You can specify a number such as “10” or a percentage such as “10%”. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows).</p>"
        },
        "MaxErrors":{
          "shape":"VelocityConstraint",
          "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 50. For more information about how to use <code>MaxErrors</code>, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows).</p>"
        },
        "ServiceRoleArn":{
          "shape":"ServiceRole",
          "documentation":"<p>The IAM role that Systems Manager uses to send notifications. </p>"
        },
        "NotificationConfig":{
          "shape":"NotificationConfig",
          "documentation":"<p>Configurations for sending notifications.</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"},
    "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}$"
    },
    "StandardErrorContent":{
      "type":"string",
      "max":8000
    },
    "StandardOutputContent":{
      "type":"string",
      "max":24000
    },
    "StartAutomationExecutionRequest":{
      "type":"structure",
      "required":["DocumentName"],
      "members":{
        "DocumentName":{
          "shape":"DocumentARN",
          "documentation":"<p>The name of the Automation document to use for this execution.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the Automation document 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 document.</p>"
        }
      }
    },
    "StartAutomationExecutionResult":{
      "type":"structure",
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The unique ID of a newly scheduled automation execution.</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>"
        },
        "ExecutionStartTime":{
          "shape":"DateTime",
          "documentation":"<p>If a step has begun execution, this contains the time the step started. If the step is in <code>Pending</code> status, this field is not populated.</p>"
        },
        "ExecutionEndTime":{
          "shape":"DateTime",
          "documentation":"<p>If a step has finished execution, this contains the time the execution ended. If the step has not yet concluded, this field is not populated.</p>"
        },
        "StepStatus":{
          "shape":"AutomationExecutionStatus",
          "documentation":"<p>The execution status for this step. Valid values include: <code>Pending</code>, <code>InProgress</code>, <code>Success</code>, <code>Cancelled</code>, <code>Failed</code>, and <code>TimedOut</code>.</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>"
        }
      },
      "documentation":"<p>Detailed information about an the execution state of an Automation step.</p>"
    },
    "StepExecutionList":{
      "type":"list",
      "member":{"shape":"StepExecution"},
      "max":100,
      "min":0
    },
    "StopAutomationExecutionRequest":{
      "type":"structure",
      "required":["AutomationExecutionId"],
      "members":{
        "AutomationExecutionId":{
          "shape":"AutomationExecutionId",
          "documentation":"<p>The execution ID of the Automation to stop.</p>"
        }
      }
    },
    "StopAutomationExecutionResult":{
      "type":"structure",
      "members":{
      }
    },
    "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"}
    },
    "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 managed instances. Tags enable you to categorize your managed instances in different ways, for example, by purpose, owner, or environment.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!^(?i)aws:)(?=^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$).*$"
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"}
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "Target":{
      "type":"structure",
      "members":{
        "Key":{
          "shape":"TargetKey",
          "documentation":"<p>User-defined criteria for sending commands that target instances that meet the criteria. <code>Key</code> can be <code>tag:&lt;Amazon EC2 tag&gt;</code> or <code>name:&lt;Amazon EC2 instance ID&gt;</code>. For example, <code>tag:ServerRole</code> or <code>name:0123456789012345</code>. For more information about how to send commands that target instances using <code>Key</code>;<code>Value</code> parameters, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows).</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 execute a command on instances that include Amazon EC2 tags of ServerRole;WebServer. For more information about how to send commands that target instances using <code>Key</code>;<code>Value</code> parameters, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Linux) or <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html\">Executing a Command Using Amazon EC2 Run Command</a> (Windows).</p>"
        }
      },
      "documentation":"<p>An array of search criteria that targets instances using a <code>Key</code>;<code>Value</code> combination that you specify. <code>Targets</code> is required if you don't provide one or more instance IDs in the call.</p>"
    },
    "TargetCount":{"type":"integer"},
    "TargetKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=\\-@]*$"
    },
    "TargetValue":{"type":"string"},
    "TargetValues":{
      "type":"list",
      "member":{"shape":"TargetValue"},
      "max":50,
      "min":0
    },
    "Targets":{
      "type":"list",
      "member":{"shape":"Target"},
      "max":5,
      "min":0
    },
    "TimeoutSeconds":{
      "type":"integer",
      "max":2592000,
      "min":30
    },
    "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":{
      },
      "documentation":"<p>There are concurrent updates for a resource that supports one update at a time.</p>",
      "exception":true
    },
    "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
    },
    "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 <code>GetInventorySchema</code> to see the available schema version for each type.</p>",
      "exception":true
    },
    "UnsupportedParameterType":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The parameter type is not supported.</p>",
      "exception":true
    },
    "UnsupportedPlatformType":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>The document does not support the platform type of the given instance ID(s). For example, you sent an SSM document for a Windows instance to a Linux instance.</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, you can reference the parameter using {{ssm:parameter-name}}</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The document version you want update for the association. </p>"
        },
        "ScheduleExpression":{
          "shape":"ScheduleExpression",
          "documentation":"<p>The cron expression used to schedule the association that you want to update. Supported expressions are every half, 1, 2, 4, 8 or 12 hour(s); every specified day and time of the week. For example: cron(0 0/30 * 1/1 * ? *) to run every thirty minutes; cron(0 0 0/4 1/1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN *) to run every Sunday at 10 a.m.</p>"
        },
        "OutputLocation":{
          "shape":"InstanceAssociationOutputLocation",
          "documentation":"<p>An Amazon S3 bucket where you want to store the results of this request.</p> <p> <code>\"{ \\\"S3Location\\\": { \\\"OutputS3Region\\\": \\\"&lt;region&gt;\\\", \\\"OutputS3BucketName\\\": \\\"bucket name\\\", \\\"OutputS3KeyPrefix\\\": \\\"folder name\\\" } }\"</code> </p>"
        }
      }
    },
    "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":"DocumentName",
          "documentation":"<p>The name of the SSM document.</p>"
        },
        "InstanceId":{
          "shape":"InstanceId",
          "documentation":"<p>The ID of the instance.</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>"
        }
      }
    },
    "UpdateDocumentRequest":{
      "type":"structure",
      "required":[
        "Content",
        "Name"
      ],
      "members":{
        "Content":{
          "shape":"DocumentContent",
          "documentation":"<p>The content in a document that you want to update.</p>"
        },
        "Name":{
          "shape":"DocumentName",
          "documentation":"<p>The name of the document that you want to update.</p>"
        },
        "DocumentVersion":{
          "shape":"DocumentVersion",
          "documentation":"<p>The version of the document that you want to update.</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>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</p>"
        },
        "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 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
        }
      }
    },
    "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>"
        },
        "Schedule":{
          "shape":"MaintenanceWindowSchedule",
          "documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</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 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>"
        }
      }
    },
    "UpdateManagedInstanceRoleRequest":{
      "type":"structure",
      "required":[
        "InstanceId",
        "IamRole"
      ],
      "members":{
        "InstanceId":{
          "shape":"ManagedInstanceId",
          "documentation":"<p>The ID of the managed instance where you want to update the role.</p>"
        },
        "IamRole":{
          "shape":"IamRole",
          "documentation":"<p>The IAM role you want to assign or change.</p>"
        }
      }
    },
    "UpdateManagedInstanceRoleResult":{
      "type":"structure",
      "members":{
      }
    },
    "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 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>"
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</p>"
        },
        "Description":{
          "shape":"BaselineDescription",
          "documentation":"<p>A description of the patch baseline.</p>"
        }
      }
    },
    "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>"
        },
        "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>"
        },
        "RejectedPatches":{
          "shape":"PatchIdList",
          "documentation":"<p>A list of explicitly rejected patches for the baseline.</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>"
        }
      }
    },
    "Url":{"type":"string"},
    "VelocityConstraint":{
      "type":"string",
      "max":7,
      "min":1,
      "pattern":"^[1-9]\\d*$|[0-9][%]|[1-9][0-9][%]|[1][0][0][%]|[0-9]?"
    },
    "Version":{
      "type":"string",
      "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$"
    }
  },
  "documentation":"<p>Amazon EC2 Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager works with managed instances: Amazon EC2 instances and servers or virtual machines (VMs) in your on-premises environment that are configured for Systems Manager. </p> <p>This references is intended to be used with the EC2 Systems Manager User Guide (<a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/systems-manager.html\">Linux</a>) (<a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/systems-manager.html\">Windows</a>).</p> <p>To get started, verify prerequisites and configure managed instances (<a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/systems-manager-prereqs.html\">Linux</a>) (<a href=\"http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/systems-manager-prereqs.html\">Windows</a>).</p>"
}
