-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Simple Systems Manager (SSM) SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.SSM</a> or <a>the AWS documentation</a> to get
--   started.
@package amazonka-ssm
@version 1.4.5


module Network.AWS.SSM.Types

-- | API version <tt>2014-11-06</tt> of the Amazon Simple Systems Manager
--   (SSM) SDK configuration.
ssm :: Service

-- | An Automation document with the specified name and version could not
--   be found.
_AutomationDefinitionVersionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The document version is not valid or does not exist.
_InvalidDocumentVersion :: AsError a => Getting (First ServiceError) a ServiceError

-- | The schedule is invalid. Verify your cron or rate expression and try
--   again.
_InvalidSchedule :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter type is not supported.
_UnsupportedParameterType :: AsError a => Getting (First ServiceError) a ServiceError

-- | The plugin name is not valid.
_InvalidPluginName :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_UnsupportedPlatformType :: AsError a => Getting (First ServiceError) a ServiceError

-- | The filter value is not valid. Verify the value and try again.
_InvalidFilterValue :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more content items is not valid.
_InvalidItemContentException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The permission type is not supported. <i>Share</i> is the only
--   supported permission type.
_InvalidPermissionType :: AsError a => Getting (First ServiceError) a ServiceError

-- | You must disassociate an SSM document from all instances before you
--   can delete it.
_AssociatedInstances :: AsError a => Getting (First ServiceError) a ServiceError

-- | The following problems can cause this exception:
--   
--   You do not have permission to access the instance.
--   
--   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.
--   
--   The SSM agent or EC2Config service is not registered to the SSM
--   endpoint. Try reinstalling the SSM agent or EC2Config service.
--   
--   The instance is not in valid state. Valid states are: Running,
--   Pending, Stopped, Stopping. Invalid states are: Shutting-down and
--   Terminated.
_InvalidInstanceId :: AsError a => Getting (First ServiceError) a ServiceError

-- | The updated status is the same as the current status.
_StatusUnchanged :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified token is not valid.
_InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError

-- | The S3 bucket does not exist.
_InvalidOutputFolder :: AsError a => Getting (First ServiceError) a ServiceError

-- | The activation ID is not valid. Verify the you entered the correct
--   ActivationId or ActivationCode and try again.
_InvalidActivationId :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified inventory item result attribute is not valid.
_InvalidResultAttributeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Error returned when the caller has exceeded the default resource
--   limits (e.g. too many Maintenance Windows have been created).
_ResourceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Prism for InvalidCommandId' errors.
_InvalidCommandId :: AsError a => Getting (First ServiceError) a ServiceError

-- | You cannot specify an instance ID in more than one association.
_DuplicateInstanceId :: AsError a => Getting (First ServiceError) a ServiceError

-- | The resource type is not valid. If you are attempting to tag an
--   instance, the instance must be a registered, managed instance.
_InvalidResourceType :: AsError a => Getting (First ServiceError) a ServiceError

-- | Inventory item type schema version has to match supported versions in
--   the service. Check output of <tt>GetInventorySchema</tt> to see the
--   available schema version for each type.
_UnsupportedInventorySchemaVersionException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified document does not exist.
_InvalidDocument :: AsError a => Getting (First ServiceError) a ServiceError

-- | An Automation document with the specified name could not be found.
_AutomationDefinitionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified key is not valid.
_InvalidFilterKey :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_InvalidAutomationExecutionParametersException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no automation execution information for the requested
--   automation execution ID.
_AutomationExecutionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter type name is not valid.
_InvalidTypeNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The inventory item size has exceeded the size limit.
_ItemSizeLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Error returned when the ID specified for a resource (e.g. a
--   Maintenance Window) doesn’t exist.
_DoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of simultaneously running Automation executions exceeded
--   the allowable limit.
_AutomationExecutionLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_IdempotentParameterMismatch :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified filter value is not valid.
_InvalidInstanceInformationFilterValue :: AsError a => Getting (First ServiceError) a ServiceError

-- | The inventory item has invalid content.
_ItemContentMismatchException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter already exists. You can't create duplicate parameters.
_ParameterAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified association already exists.
_AssociationAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

-- | The content for the SSM document is not valid.
_InvalidDocumentContent :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the number of parameters for this AWS account.
--   Delete one or more parameters and try again.
_ParameterLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | You can have at most 2,000 active associations.
_AssociationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified association does not exist.
_AssociationDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter could not be found. Verify the name and try again.
_ParameterNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | An error occurred on the server side.
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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>Getting Amazon SNS Notifications When a
--   Command Changes Status</a> in the <i>Amazon Elastic Compute Cloud User
--   Guide </i> .
_InvalidRole :: AsError a => Getting (First ServiceError) a ServiceError

-- | There are concurrent updates for a resource that supports one update
--   at a time.
_TooManyUpdates :: AsError a => Getting (First ServiceError) a ServiceError

-- | The activation is not valid. The activation might have been deleted,
--   or the ActivationId and the ActivationCode do not match.
_InvalidActivation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The version of the document schema is not supported.
_InvalidDocumentSchemaVersion :: AsError a => Getting (First ServiceError) a ServiceError

-- | The size limit of an SSM document is 64 KB.
_MaxDocumentSizeExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The update is not valid.
_InvalidUpdate :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the limit for custom schemas. Delete one or more
--   custom schemas and try again.
_CustomSchemaCountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_InvalidTarget :: AsError a => Getting (First ServiceError) a ServiceError

-- | You attempted to delete a document while it is still shared. You must
--   stop sharing the document before you can delete it.
_InvalidDocumentOperation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The command ID and instance ID you specified did not match any
--   invocations. Verify the command ID adn the instance ID and try again.
_InvocationDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError

-- | The document has too many versions. Delete one or more document
--   versions and try again.
_DocumentVersionLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The output location is not valid or does not exist.
_InvalidOutputLocation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The query key ID is not valid.
_InvalidKeyId :: AsError a => Getting (First ServiceError) a ServiceError

-- | You must specify values for all required parameters in the SSM
--   document. You can only supply values to parameters defined in the SSM
--   document.
_InvalidParameters :: AsError a => Getting (First ServiceError) a ServiceError

-- | The resource ID is not valid. Verify that you entered the correct ID
--   and try again.
_InvalidResourceId :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more configuration items is not valid. Verify that a valid
--   Amazon Resource Name (ARN) was provided for an Amazon SNS topic.
_InvalidNotificationConfig :: AsError a => Getting (First ServiceError) a ServiceError

-- | The size of inventory data has exceeded the total size limit for the
--   resource.
_TotalSizeLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The <tt>Targets</tt> parameter includes too many tags. Remove one or
--   more tags and try the command again.
_TooManyTagsError :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_DocumentPermissionLimit :: AsError a => Getting (First ServiceError) a ServiceError

-- | The content of the association document matches another document.
--   Change the content of the document and try again.
_DuplicateDocumentContent :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified SSM document already exists.
_DocumentAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

-- | You can have at most 200 active SSM documents.
_DocumentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The filter name is not valid. Verify the you entered the correct name
--   and try again.
_InvalidFilter :: AsError a => Getting (First ServiceError) a ServiceError
data AssociationFilterKey
AFKAssociationId :: AssociationFilterKey
AFKAssociationStatusName :: AssociationFilterKey
AFKInstanceId :: AssociationFilterKey
AFKLastExecutedAfter :: AssociationFilterKey
AFKLastExecutedBefore :: AssociationFilterKey
AFKName :: AssociationFilterKey
data AssociationStatusName
ASNFailed :: AssociationStatusName
ASNPending :: AssociationStatusName
ASNSuccess :: AssociationStatusName
data AutomationExecutionFilterKey
DocumentNamePrefix :: AutomationExecutionFilterKey
ExecutionStatus :: AutomationExecutionFilterKey
data AutomationExecutionStatus
AESCancelled :: AutomationExecutionStatus
AESFailed :: AutomationExecutionStatus
AESInProgress :: AutomationExecutionStatus
AESPending :: AutomationExecutionStatus
AESSuccess :: AutomationExecutionStatus
AESTimedOut :: AutomationExecutionStatus
data CommandFilterKey
CommandInvokedAfter :: CommandFilterKey
CommandInvokedBefore :: CommandFilterKey
CommandStatus :: CommandFilterKey
data CommandInvocationStatus
CISCancelled :: CommandInvocationStatus
CISCancelling :: CommandInvocationStatus
CISDelayed :: CommandInvocationStatus
CISFailed :: CommandInvocationStatus
CISInProgress :: CommandInvocationStatus
CISPending :: CommandInvocationStatus
CISSuccess :: CommandInvocationStatus
CISTimedOut :: CommandInvocationStatus
data CommandPluginStatus
CPSCancelled :: CommandPluginStatus
CPSFailed :: CommandPluginStatus
CPSInProgress :: CommandPluginStatus
CPSPending :: CommandPluginStatus
CPSSuccess :: CommandPluginStatus
CPSTimedOut :: CommandPluginStatus
data CommandStatus
Cancelled :: CommandStatus
Cancelling :: CommandStatus
Failed :: CommandStatus
InProgress :: CommandStatus
Pending :: CommandStatus
Success :: CommandStatus
TimedOut :: CommandStatus
data DescribeActivationsFilterKeys
ActivationIds :: DescribeActivationsFilterKeys
DefaultInstanceName :: DescribeActivationsFilterKeys
IAMRole :: DescribeActivationsFilterKeys
data DocumentFilterKey
DocumentType :: DocumentFilterKey
Name :: DocumentFilterKey
Owner :: DocumentFilterKey
PlatformTypes :: DocumentFilterKey
data DocumentHashType
HashSHA1 :: DocumentHashType
HashSHA256 :: DocumentHashType
data DocumentParameterType
DPTString :: DocumentParameterType
DPTStringList :: DocumentParameterType
data DocumentPermissionType
Share :: DocumentPermissionType
data DocumentStatus
Active :: DocumentStatus
Creating :: DocumentStatus
Deleting :: DocumentStatus
Updating :: DocumentStatus
data DocumentType
DTAutomation :: DocumentType
DTCommand :: DocumentType
DTPolicy :: DocumentType
data Fault
Client :: Fault
Server :: Fault
Unknown :: Fault
data InstanceInformationFilterKey
IIFKActivationIds :: InstanceInformationFilterKey
IIFKAgentVersion :: InstanceInformationFilterKey
IIFKAssociationStatus :: InstanceInformationFilterKey
IIFKIAMRole :: InstanceInformationFilterKey
IIFKInstanceIds :: InstanceInformationFilterKey
IIFKPingStatus :: InstanceInformationFilterKey
IIFKPlatformTypes :: InstanceInformationFilterKey
IIFKResourceType :: InstanceInformationFilterKey
data InventoryAttributeDataType
IADTNumber :: InventoryAttributeDataType
IADTString :: InventoryAttributeDataType
data InventoryQueryOperatorType
BeginWith :: InventoryQueryOperatorType
Equal :: InventoryQueryOperatorType
GreaterThan :: InventoryQueryOperatorType
LessThan :: InventoryQueryOperatorType
NotEqual :: InventoryQueryOperatorType
data MaintenanceWindowExecutionStatus
MWESCancelled :: MaintenanceWindowExecutionStatus
MWESCancelling :: MaintenanceWindowExecutionStatus
MWESFailed :: MaintenanceWindowExecutionStatus
MWESInProgress :: MaintenanceWindowExecutionStatus
MWESPending :: MaintenanceWindowExecutionStatus
MWESSkippedOverlapping :: MaintenanceWindowExecutionStatus
MWESSuccess :: MaintenanceWindowExecutionStatus
MWESTimedOut :: MaintenanceWindowExecutionStatus
data MaintenanceWindowResourceType
Instance :: MaintenanceWindowResourceType
data MaintenanceWindowTaskType
RunCommand :: MaintenanceWindowTaskType
data NotificationEvent
NEAll :: NotificationEvent
NECancelled :: NotificationEvent
NEFailed :: NotificationEvent
NEInProgress :: NotificationEvent
NESuccess :: NotificationEvent
NETimedOut :: NotificationEvent
data NotificationType
Command :: NotificationType
Invocation :: NotificationType
data ParameterType
SecureString :: ParameterType
String :: ParameterType
StringList :: ParameterType
data ParametersFilterKey
PFKKeyId :: ParametersFilterKey
PFKName :: ParametersFilterKey
PFKType :: ParametersFilterKey
data PingStatus
ConnectionLost :: PingStatus
Inactive :: PingStatus
Online :: PingStatus
data PlatformType
Linux :: PlatformType
Windows :: PlatformType
data ResourceType
Document :: ResourceType
EC2Instance :: ResourceType
ManagedInstance :: ResourceType
data ResourceTypeForTagging
RTFTMaintenanceWindow :: ResourceTypeForTagging
RTFTManagedInstance :: ResourceTypeForTagging
RTFTParameter :: ResourceTypeForTagging

-- | 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.
--   
--   <i>See:</i> <a>activation</a> smart constructor.
data Activation

-- | Creates a value of <a>Activation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aExpired</a> - Whether or not the activation is expired.</li>
--   <li><a>aDefaultInstanceName</a> - A name for the managed instance when
--   it is created.</li>
--   <li><a>aActivationId</a> - The ID created by Systems Manager when you
--   submitted the activation.</li>
--   <li><a>aCreatedDate</a> - The date the activation was created.</li>
--   <li><a>aRegistrationLimit</a> - The maximum number of managed
--   instances that can be registered using this activation.</li>
--   <li><a>aExpirationDate</a> - The date when this activation can no
--   longer be used to register managed instances.</li>
--   <li><a>aDescription</a> - A user defined description of the
--   activation.</li>
--   <li><a>aRegistrationsCount</a> - The number of managed instances
--   already registered with this activation.</li>
--   <li><a>aIAMRole</a> - The Amazon Identity and Access Management (IAM)
--   role to assign to the managed instance.</li>
--   </ul>
activation :: Activation

-- | Whether or not the activation is expired.
aExpired :: Lens' Activation (Maybe Bool)

-- | A name for the managed instance when it is created.
aDefaultInstanceName :: Lens' Activation (Maybe Text)

-- | The ID created by Systems Manager when you submitted the activation.
aActivationId :: Lens' Activation (Maybe Text)

-- | The date the activation was created.
aCreatedDate :: Lens' Activation (Maybe UTCTime)

-- | The maximum number of managed instances that can be registered using
--   this activation.
aRegistrationLimit :: Lens' Activation (Maybe Natural)

-- | The date when this activation can no longer be used to register
--   managed instances.
aExpirationDate :: Lens' Activation (Maybe UTCTime)

-- | A user defined description of the activation.
aDescription :: Lens' Activation (Maybe Text)

-- | The number of managed instances already registered with this
--   activation.
aRegistrationsCount :: Lens' Activation (Maybe Natural)

-- | The Amazon Identity and Access Management (IAM) role to assign to the
--   managed instance.
aIAMRole :: Lens' Activation (Maybe Text)

-- | Describes an association of an SSM document and an instance.
--   
--   <i>See:</i> <a>association</a> smart constructor.
data Association

-- | Creates a value of <a>Association</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aAssociationId</a> - 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.</li>
--   <li><a>aInstanceId</a> - The ID of the instance.</li>
--   <li><a>aOverview</a> - Information about the association.</li>
--   <li><a>aLastExecutionDate</a> - The date on which the association was
--   last run.</li>
--   <li><a>aScheduleExpression</a> - A cron expression that specifies a
--   schedule when the association runs.</li>
--   <li><a>aName</a> - The name of the SSM document.</li>
--   <li><a>aTargets</a> - The instances targeted by the request to create
--   an association.</li>
--   <li><a>aDocumentVersion</a> - The version of the document used in the
--   association.</li>
--   </ul>
association :: Association

-- | 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.
aAssociationId :: Lens' Association (Maybe Text)

-- | The ID of the instance.
aInstanceId :: Lens' Association (Maybe Text)

-- | Information about the association.
aOverview :: Lens' Association (Maybe AssociationOverview)

-- | The date on which the association was last run.
aLastExecutionDate :: Lens' Association (Maybe UTCTime)

-- | A cron expression that specifies a schedule when the association runs.
aScheduleExpression :: Lens' Association (Maybe Text)

-- | The name of the SSM document.
aName :: Lens' Association (Maybe Text)

-- | The instances targeted by the request to create an association.
aTargets :: Lens' Association [Target]

-- | The version of the document used in the association.
aDocumentVersion :: Lens' Association (Maybe Text)

-- | Describes the parameters for a document.
--   
--   <i>See:</i> <a>associationDescription</a> smart constructor.
data AssociationDescription

-- | Creates a value of <a>AssociationDescription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adAssociationId</a> - The association ID.</li>
--   <li><a>adInstanceId</a> - The ID of the instance.</li>
--   <li><a>adStatus</a> - The association status.</li>
--   <li><a>adLastSuccessfulExecutionDate</a> - The last date on which the
--   association was successfully run.</li>
--   <li><a>adOverview</a> - Information about the association.</li>
--   <li><a>adLastUpdateAssociationDate</a> - The date when the association
--   was last updated.</li>
--   <li><a>adDate</a> - The date when the association was made.</li>
--   <li><a>adLastExecutionDate</a> - The date on which the association was
--   last run.</li>
--   <li><a>adScheduleExpression</a> - A cron expression that specifies a
--   schedule when the association runs.</li>
--   <li><a>adName</a> - The name of the SSM document.</li>
--   <li><a>adOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the output details of the request.</li>
--   <li><a>adTargets</a> - The instances targeted by the request.</li>
--   <li><a>adParameters</a> - A description of the parameters for a
--   document.</li>
--   <li><a>adDocumentVersion</a> - The document version.</li>
--   </ul>
associationDescription :: AssociationDescription

-- | The association ID.
adAssociationId :: Lens' AssociationDescription (Maybe Text)

-- | The ID of the instance.
adInstanceId :: Lens' AssociationDescription (Maybe Text)

-- | The association status.
adStatus :: Lens' AssociationDescription (Maybe AssociationStatus)

-- | The last date on which the association was successfully run.
adLastSuccessfulExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | Information about the association.
adOverview :: Lens' AssociationDescription (Maybe AssociationOverview)

-- | The date when the association was last updated.
adLastUpdateAssociationDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | The date when the association was made.
adDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | The date on which the association was last run.
adLastExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | A cron expression that specifies a schedule when the association runs.
adScheduleExpression :: Lens' AssociationDescription (Maybe Text)

-- | The name of the SSM document.
adName :: Lens' AssociationDescription (Maybe Text)

-- | An Amazon S3 bucket where you want to store the output details of the
--   request.
adOutputLocation :: Lens' AssociationDescription (Maybe InstanceAssociationOutputLocation)

-- | The instances targeted by the request.
adTargets :: Lens' AssociationDescription [Target]

-- | A description of the parameters for a document.
adParameters :: Lens' AssociationDescription (HashMap Text [Text])

-- | The document version.
adDocumentVersion :: Lens' AssociationDescription (Maybe Text)

-- | Describes a filter.
--   
--   <i>See:</i> <a>associationFilter</a> smart constructor.
data AssociationFilter

-- | Creates a value of <a>AssociationFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>afKey</a> - The name of the filter.</li>
--   <li><a>afValue</a> - The filter value.</li>
--   </ul>
associationFilter :: AssociationFilterKey -> Text -> AssociationFilter

-- | The name of the filter.
afKey :: Lens' AssociationFilter AssociationFilterKey

-- | The filter value.
afValue :: Lens' AssociationFilter Text

-- | Information about the association.
--   
--   <i>See:</i> <a>associationOverview</a> smart constructor.
data AssociationOverview

-- | Creates a value of <a>AssociationOverview</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aoDetailedStatus</a> - A detailed status of the
--   association.</li>
--   <li><a>aoStatus</a> - The status of the association. Status can be:
--   <tt>Pending</tt> , <tt>Success</tt> , or <tt>Failed</tt> .</li>
--   <li><a>aoAssociationStatusAggregatedCount</a> - 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.</li>
--   </ul>
associationOverview :: AssociationOverview

-- | A detailed status of the association.
aoDetailedStatus :: Lens' AssociationOverview (Maybe Text)

-- | The status of the association. Status can be: <tt>Pending</tt> ,
--   <tt>Success</tt> , or <tt>Failed</tt> .
aoStatus :: Lens' AssociationOverview (Maybe Text)

-- | 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.
aoAssociationStatusAggregatedCount :: Lens' AssociationOverview (HashMap Text Int)

-- | Describes an association status.
--   
--   <i>See:</i> <a>associationStatus</a> smart constructor.
data AssociationStatus

-- | Creates a value of <a>AssociationStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asAdditionalInfo</a> - A user-defined string.</li>
--   <li><a>asDate</a> - The date when the status changed.</li>
--   <li><a>asName</a> - The status.</li>
--   <li><a>asMessage</a> - The reason for the status.</li>
--   </ul>
associationStatus :: UTCTime -> AssociationStatusName -> Text -> AssociationStatus

-- | A user-defined string.
asAdditionalInfo :: Lens' AssociationStatus (Maybe Text)

-- | The date when the status changed.
asDate :: Lens' AssociationStatus UTCTime

-- | The status.
asName :: Lens' AssociationStatus AssociationStatusName

-- | The reason for the status.
asMessage :: Lens' AssociationStatus Text

-- | Detailed information about the current state of an individual
--   Automation execution.
--   
--   <i>See:</i> <a>automationExecution</a> smart constructor.
data AutomationExecution

-- | Creates a value of <a>AutomationExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeDocumentName</a> - The name of the Automation document used
--   during the execution.</li>
--   <li><a>aeExecutionEndTime</a> - The time the execution finished.</li>
--   <li><a>aeFailureMessage</a> - A message describing why an execution
--   has failed, if the status is set to Failed.</li>
--   <li><a>aeAutomationExecutionStatus</a> - The execution status of the
--   Automation.</li>
--   <li><a>aeOutputs</a> - The list of execution outputs as defined in the
--   automation document.</li>
--   <li><a>aeExecutionStartTime</a> - The time the execution started.</li>
--   <li><a>aeParameters</a> - The key-value map of execution parameters,
--   which were supplied when calling <tt>StartAutomationExecution</tt>
--   .</li>
--   <li><a>aeDocumentVersion</a> - The version of the document to use
--   during execution.</li>
--   <li><a>aeAutomationExecutionId</a> - The execution ID.</li>
--   <li><a>aeStepExecutions</a> - 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.</li>
--   </ul>
automationExecution :: AutomationExecution

-- | The name of the Automation document used during the execution.
aeDocumentName :: Lens' AutomationExecution (Maybe Text)

-- | The time the execution finished.
aeExecutionEndTime :: Lens' AutomationExecution (Maybe UTCTime)

-- | A message describing why an execution has failed, if the status is set
--   to Failed.
aeFailureMessage :: Lens' AutomationExecution (Maybe Text)

-- | The execution status of the Automation.
aeAutomationExecutionStatus :: Lens' AutomationExecution (Maybe AutomationExecutionStatus)

-- | The list of execution outputs as defined in the automation document.
aeOutputs :: Lens' AutomationExecution (HashMap Text [Text])

-- | The time the execution started.
aeExecutionStartTime :: Lens' AutomationExecution (Maybe UTCTime)

-- | The key-value map of execution parameters, which were supplied when
--   calling <tt>StartAutomationExecution</tt> .
aeParameters :: Lens' AutomationExecution (HashMap Text [Text])

-- | The version of the document to use during execution.
aeDocumentVersion :: Lens' AutomationExecution (Maybe Text)

-- | The execution ID.
aeAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)

-- | 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.
aeStepExecutions :: Lens' AutomationExecution [StepExecution]

-- | A filter used to match specific automation executions. This is used to
--   limit the scope of Automation execution information returned.
--   
--   <i>See:</i> <a>automationExecutionFilter</a> smart constructor.
data AutomationExecutionFilter

-- | Creates a value of <a>AutomationExecutionFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aefKey</a> - The aspect of the Automation execution information
--   that should be limited.</li>
--   <li><a>aefValues</a> - The values used to limit the execution
--   information associated with the filter's key.</li>
--   </ul>
automationExecutionFilter :: AutomationExecutionFilterKey -> NonEmpty Text -> AutomationExecutionFilter

-- | The aspect of the Automation execution information that should be
--   limited.
aefKey :: Lens' AutomationExecutionFilter AutomationExecutionFilterKey

-- | The values used to limit the execution information associated with the
--   filter's key.
aefValues :: Lens' AutomationExecutionFilter (NonEmpty Text)

-- | Details about a specific Automation execution.
--   
--   <i>See:</i> <a>automationExecutionMetadata</a> smart constructor.
data AutomationExecutionMetadata

-- | Creates a value of <a>AutomationExecutionMetadata</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aemLogFile</a> - An Amazon S3 bucket where execution
--   information is stored.</li>
--   <li><a>aemExecutedBy</a> - The IAM role ARN of the user who executed
--   the Automation.</li>
--   <li><a>aemDocumentName</a> - The name of the Automation document used
--   during execution.</li>
--   <li><a>aemExecutionEndTime</a> - The time the execution finished. This
--   is not populated if the execution is still in progress.</li>
--   <li><a>aemAutomationExecutionStatus</a> - The status of the execution.
--   Valid values include: Running, Succeeded, Failed, Timed out, or
--   Cancelled.</li>
--   <li><a>aemOutputs</a> - The list of execution outputs as defined in
--   the Automation document.</li>
--   <li><a>aemExecutionStartTime</a> - The time the execution
--   started.&gt;</li>
--   <li><a>aemDocumentVersion</a> - The document version used during the
--   execution.</li>
--   <li><a>aemAutomationExecutionId</a> - The execution ID.</li>
--   </ul>
automationExecutionMetadata :: AutomationExecutionMetadata

-- | An Amazon S3 bucket where execution information is stored.
aemLogFile :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The IAM role ARN of the user who executed the Automation.
aemExecutedBy :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The name of the Automation document used during execution.
aemDocumentName :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The time the execution finished. This is not populated if the
--   execution is still in progress.
aemExecutionEndTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)

-- | The status of the execution. Valid values include: Running, Succeeded,
--   Failed, Timed out, or Cancelled.
aemAutomationExecutionStatus :: Lens' AutomationExecutionMetadata (Maybe AutomationExecutionStatus)

-- | The list of execution outputs as defined in the Automation document.
aemOutputs :: Lens' AutomationExecutionMetadata (HashMap Text [Text])

-- | The time the execution started.&gt;
aemExecutionStartTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)

-- | The document version used during the execution.
aemDocumentVersion :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The execution ID.
aemAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | Describes a command request.
--   
--   <i>See:</i> <a>command</a> smart constructor.
data Command

-- | Creates a value of <a>Command</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cStatus</a> - The status of the command.</li>
--   <li><a>cExpiresAfter</a> - 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.</li>
--   <li><a>cNotificationConfig</a> - Configurations for sending
--   notifications about command status changes.</li>
--   <li><a>cTargetCount</a> - The number of targets for the command.</li>
--   <li><a>cOutputS3KeyPrefix</a> - The S3 directory path inside the
--   bucket where the responses to the command executions should be stored.
--   This was requested when issuing the command.</li>
--   <li><a>cDocumentName</a> - The name of the SSM document requested for
--   execution.</li>
--   <li><a>cErrorCount</a> - The number of targets for which the status is
--   <tt>Failed</tt> or <tt>Execution Timed Out</tt> .</li>
--   <li><a>cStatusDetails</a> - A detailed status of the command
--   execution. <tt>StatusDetails</tt> includes more information than
--   <tt>Status</tt> because it includes states resulting from error and
--   concurrency control parameters. <tt>StatusDetails</tt> can show
--   different results than <tt>Status</tt> . For more information about
--   these statuses, see <a>Monitor Commands</a> (Linux) or <a>Monitor
--   Commands</a> (Windows). <tt>StatusDetails</tt> can be one of the
--   following values: * Pending – The command has not been sent to any
--   instances. * In Progress – The command has been sent to at least one
--   instance but has not reached a final state on all instances. * Success
--   – The command successfully executed on all invocations. This is a
--   terminal state. * Delivery Timed Out – The value of <tt>MaxErrors</tt>
--   or more command invocations shows a status of <tt>Delivery Timed
--   Out</tt> . This is a terminal state. * Execution Timed Out – The value
--   of <tt>MaxErrors</tt> or more command invocations shows a status of
--   <tt>Execution Timed Out</tt> . This is a terminal state. * Failed –
--   The value of <tt>MaxErrors</tt> or more command invocations shows a
--   status of <tt>Failed</tt> . This is a terminal state. * Incomplete –
--   The command was attempted on all instances and one or more invocations
--   does not have a value of <tt>Success</tt> but not enough invocations
--   failed for the status to be <tt>Failed</tt> . This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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.</li>
--   <li><a>cMaxErrors</a> - 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 <tt>MaxErrors</tt> , see <a>Executing a Command Using Amazon
--   EC2 Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Windows).</li>
--   <li><a>cInstanceIds</a> - The instance IDs against which this command
--   was requested.</li>
--   <li><a>cOutputS3Region</a> - 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.</li>
--   <li><a>cTargets</a> - An array of search criteria that targets
--   instances using a <tt>Key</tt> ;<tt>Value</tt> combination that you
--   specify. <tt>Targets</tt> is required if you don't provide one or more
--   instance IDs in the call.</li>
--   <li><a>cCommandId</a> - A unique identifier for this command.</li>
--   <li><a>cParameters</a> - The parameter values to be inserted in the
--   SSM document when executing the command.</li>
--   <li><a>cComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>cCompletedCount</a> - The number of targets for which the
--   command invocation reached a terminal state. Terminal states include
--   the following: <tt>Success</tt> , <tt>Failed</tt> , <tt>Execution
--   Timed Out</tt> , <tt>Delivery Timed Out</tt> , <tt>Canceled</tt> ,
--   <tt>Terminated</tt> , or <tt>Undeliverable</tt> .</li>
--   <li><a>cOutputS3BucketName</a> - The S3 bucket where the responses to
--   the command executions should be stored. This was requested when
--   issuing the command.</li>
--   <li><a>cMaxConcurrency</a> - 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
--   <tt>MaxConcurrency</tt> , see <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Windows).</li>
--   <li><a>cRequestedDateTime</a> - The date and time the command was
--   requested.</li>
--   <li><a>cServiceRole</a> - The IAM service role that Run Command uses
--   to act on your behalf when sending notifications about command status
--   changes.</li>
--   </ul>
command :: Command

-- | The status of the command.
cStatus :: Lens' Command (Maybe CommandStatus)

-- | 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.
cExpiresAfter :: Lens' Command (Maybe UTCTime)

-- | Configurations for sending notifications about command status changes.
cNotificationConfig :: Lens' Command (Maybe NotificationConfig)

-- | The number of targets for the command.
cTargetCount :: Lens' Command (Maybe Int)

-- | The S3 directory path inside the bucket where the responses to the
--   command executions should be stored. This was requested when issuing
--   the command.
cOutputS3KeyPrefix :: Lens' Command (Maybe Text)

-- | The name of the SSM document requested for execution.
cDocumentName :: Lens' Command (Maybe Text)

-- | The number of targets for which the status is <tt>Failed</tt> or
--   <tt>Execution Timed Out</tt> .
cErrorCount :: Lens' Command (Maybe Int)

-- | A detailed status of the command execution. <tt>StatusDetails</tt>
--   includes more information than <tt>Status</tt> because it includes
--   states resulting from error and concurrency control parameters.
--   <tt>StatusDetails</tt> can show different results than <tt>Status</tt>
--   . For more information about these statuses, see <a>Monitor
--   Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to any instances. * In Progress – The
--   command has been sent to at least one instance but has not reached a
--   final state on all instances. * Success – The command successfully
--   executed on all invocations. This is a terminal state. * Delivery
--   Timed Out – The value of <tt>MaxErrors</tt> or more command
--   invocations shows a status of <tt>Delivery Timed Out</tt> . This is a
--   terminal state. * Execution Timed Out – The value of
--   <tt>MaxErrors</tt> or more command invocations shows a status of
--   <tt>Execution Timed Out</tt> . This is a terminal state. * Failed –
--   The value of <tt>MaxErrors</tt> or more command invocations shows a
--   status of <tt>Failed</tt> . This is a terminal state. * Incomplete –
--   The command was attempted on all instances and one or more invocations
--   does not have a value of <tt>Success</tt> but not enough invocations
--   failed for the status to be <tt>Failed</tt> . This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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.
cStatusDetails :: Lens' Command (Maybe Text)

-- | 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 <tt>MaxErrors</tt> , see
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Windows).
cMaxErrors :: Lens' Command (Maybe Text)

-- | The instance IDs against which this command was requested.
cInstanceIds :: Lens' Command [Text]

-- | 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.
cOutputS3Region :: Lens' Command (Maybe Text)

-- | An array of search criteria that targets instances using a
--   <tt>Key</tt> ;<tt>Value</tt> combination that you specify.
--   <tt>Targets</tt> is required if you don't provide one or more instance
--   IDs in the call.
cTargets :: Lens' Command [Target]

-- | A unique identifier for this command.
cCommandId :: Lens' Command (Maybe Text)

-- | The parameter values to be inserted in the SSM document when executing
--   the command.
cParameters :: Lens' Command (HashMap Text [Text])

-- | User-specified information about the command, such as a brief
--   description of what the command should do.
cComment :: Lens' Command (Maybe Text)

-- | The number of targets for which the command invocation reached a
--   terminal state. Terminal states include the following:
--   <tt>Success</tt> , <tt>Failed</tt> , <tt>Execution Timed Out</tt> ,
--   <tt>Delivery Timed Out</tt> , <tt>Canceled</tt> , <tt>Terminated</tt>
--   , or <tt>Undeliverable</tt> .
cCompletedCount :: Lens' Command (Maybe Int)

-- | The S3 bucket where the responses to the command executions should be
--   stored. This was requested when issuing the command.
cOutputS3BucketName :: Lens' Command (Maybe Text)

-- | 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 <tt>MaxConcurrency</tt> ,
--   see <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Windows).
cMaxConcurrency :: Lens' Command (Maybe Text)

-- | The date and time the command was requested.
cRequestedDateTime :: Lens' Command (Maybe UTCTime)

-- | The IAM service role that Run Command uses to act on your behalf when
--   sending notifications about command status changes.
cServiceRole :: Lens' Command (Maybe Text)

-- | Describes a command filter.
--   
--   <i>See:</i> <a>commandFilter</a> smart constructor.
data CommandFilter

-- | Creates a value of <a>CommandFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfKey</a> - The name of the filter. For example, requested date
--   and time.</li>
--   <li><a>cfValue</a> - The filter value. For example: June 30,
--   2015.</li>
--   </ul>
commandFilter :: CommandFilterKey -> Text -> CommandFilter

-- | The name of the filter. For example, requested date and time.
cfKey :: Lens' CommandFilter CommandFilterKey

-- | The filter value. For example: June 30, 2015.
cfValue :: Lens' CommandFilter Text

-- | 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.
--   
--   <i>See:</i> <a>commandInvocation</a> smart constructor.
data CommandInvocation

-- | Creates a value of <a>CommandInvocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciInstanceId</a> - The instance ID in which this invocation was
--   requested.</li>
--   <li><a>ciStatus</a> - Whether or not the invocation succeeded, failed,
--   or is pending.</li>
--   <li><a>ciNotificationConfig</a> - Configurations for sending
--   notifications about command status changes on a per instance
--   basis.</li>
--   <li><a>ciCommandPlugins</a> - Undocumented member.</li>
--   <li><a>ciDocumentName</a> - The document name that was requested for
--   execution.</li>
--   <li><a>ciStandardErrorURL</a> - 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, <tt>StandardErrorUrl</tt> is populated if there is
--   just one plugin defined for the command, and the Amazon S3 bucket was
--   defined for the command.</li>
--   <li><a>ciStatusDetails</a> - A detailed status of the command
--   execution for each invocation (each instance targeted by the command).
--   <tt>StatusDetails</tt> includes more information than <tt>Status</tt>
--   because it includes states resulting from error and concurrency
--   control parameters. <tt>StatusDetails</tt> can show different results
--   than <tt>Status</tt> . For more information about these statuses, see
--   <a>Monitor Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * Success – The execution of the command or plugin was
--   successfully completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, but they do contribute to whether
--   the parent command status is <tt>Success</tt> or <tt>Incomplete</tt> .
--   This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit and don't contribute to
--   whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.</li>
--   <li><a>ciStandardOutputURL</a> - 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, <tt>StandardOutputUrl</tt> is populated if
--   there is just one plugin defined for the command, and the Amazon S3
--   bucket was defined for the command.</li>
--   <li><a>ciCommandId</a> - The command against which this invocation was
--   requested.</li>
--   <li><a>ciComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>ciTraceOutput</a> - Gets the trace output sent by the
--   agent.</li>
--   <li><a>ciInstanceName</a> - The name of the invocation target. For
--   Amazon EC2 instances this is the value for the <tt>aws:Name</tt> tag.
--   For on-premises instances, this is the name of the instance.</li>
--   <li><a>ciRequestedDateTime</a> - The time and date the request was
--   sent to this instance.</li>
--   <li><a>ciServiceRole</a> - 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.</li>
--   </ul>
commandInvocation :: CommandInvocation

-- | The instance ID in which this invocation was requested.
ciInstanceId :: Lens' CommandInvocation (Maybe Text)

-- | Whether or not the invocation succeeded, failed, or is pending.
ciStatus :: Lens' CommandInvocation (Maybe CommandInvocationStatus)

-- | Configurations for sending notifications about command status changes
--   on a per instance basis.
ciNotificationConfig :: Lens' CommandInvocation (Maybe NotificationConfig)

-- | Undocumented member.
ciCommandPlugins :: Lens' CommandInvocation [CommandPlugin]

-- | The document name that was requested for execution.
ciDocumentName :: Lens' CommandInvocation (Maybe Text)

-- | 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,
--   <tt>StandardErrorUrl</tt> is populated if there is just one plugin
--   defined for the command, and the Amazon S3 bucket was defined for the
--   command.
ciStandardErrorURL :: Lens' CommandInvocation (Maybe Text)

-- | A detailed status of the command execution for each invocation (each
--   instance targeted by the command). <tt>StatusDetails</tt> includes
--   more information than <tt>Status</tt> because it includes states
--   resulting from error and concurrency control parameters.
--   <tt>StatusDetails</tt> can show different results than <tt>Status</tt>
--   . For more information about these statuses, see <a>Monitor
--   Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * Success – The execution of the command or plugin was
--   successfully completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, but they do contribute to whether
--   the parent command status is <tt>Success</tt> or <tt>Incomplete</tt> .
--   This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit and don't contribute to
--   whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.
ciStatusDetails :: Lens' CommandInvocation (Maybe Text)

-- | 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,
--   <tt>StandardOutputUrl</tt> is populated if there is just one plugin
--   defined for the command, and the Amazon S3 bucket was defined for the
--   command.
ciStandardOutputURL :: Lens' CommandInvocation (Maybe Text)

-- | The command against which this invocation was requested.
ciCommandId :: Lens' CommandInvocation (Maybe Text)

-- | User-specified information about the command, such as a brief
--   description of what the command should do.
ciComment :: Lens' CommandInvocation (Maybe Text)

-- | Gets the trace output sent by the agent.
ciTraceOutput :: Lens' CommandInvocation (Maybe Text)

-- | The name of the invocation target. For Amazon EC2 instances this is
--   the value for the <tt>aws:Name</tt> tag. For on-premises instances,
--   this is the name of the instance.
ciInstanceName :: Lens' CommandInvocation (Maybe Text)

-- | The time and date the request was sent to this instance.
ciRequestedDateTime :: Lens' CommandInvocation (Maybe UTCTime)

-- | 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.
ciServiceRole :: Lens' CommandInvocation (Maybe Text)

-- | Describes plugin details.
--   
--   <i>See:</i> <a>commandPlugin</a> smart constructor.
data CommandPlugin

-- | Creates a value of <a>CommandPlugin</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpStatus</a> - The status of this plugin. You can execute a
--   document with multiple plugins.</li>
--   <li><a>cpResponseStartDateTime</a> - The time the plugin started
--   executing.</li>
--   <li><a>cpOutputS3KeyPrefix</a> - 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.</li>
--   <li><a>cpStandardErrorURL</a> - The URL for the complete text written
--   by the plugin to stderr. If execution is not yet complete, then this
--   string is empty.</li>
--   <li><a>cpResponseCode</a> - A numeric response code generated after
--   executing the plugin.</li>
--   <li><a>cpStatusDetails</a> - A detailed status of the plugin
--   execution. <tt>StatusDetails</tt> includes more information than
--   <tt>Status</tt> because it includes states resulting from error and
--   concurrency control parameters. <tt>StatusDetails</tt> can show
--   different results than <tt>Status</tt> . For more information about
--   these statuses, see <a>Monitor Commands</a> (Linux) or <a>Monitor
--   Commands</a> (Windows). <tt>StatusDetails</tt> can be one of the
--   following values: * Pending – The command has not been sent to the
--   instance. * In Progress – The command has been sent to the instance
--   but has not reached a terminal state. * Success – The execution of the
--   command or plugin was successfully completed. This is a terminal
--   state. * 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 <tt>MaxErrors</tt> limit, but they
--   do contribute to whether the parent command status is <tt>Success</tt>
--   or <tt>Incomplete</tt> . This is a terminal state. * 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 <tt>MaxErrors</tt> limit of the parent command. This
--   is a terminal state. * 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 <tt>MaxErrors</tt> limit of the parent command. This is a
--   terminal state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, and they don't
--   contribute to whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.</li>
--   <li><a>cpOutput</a> - Output of the plugin execution.</li>
--   <li><a>cpStandardOutputURL</a> - 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.</li>
--   <li><a>cpName</a> - 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.</li>
--   <li><a>cpOutputS3Region</a> - The name of the region where the output
--   is stored in Amazon S3.</li>
--   <li><a>cpOutputS3BucketName</a> - 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.</li>
--   <li><a>cpResponseFinishDateTime</a> - The time the plugin stopped
--   executing. Could stop prematurely if, for example, a cancel command
--   was sent.</li>
--   </ul>
commandPlugin :: CommandPlugin

-- | The status of this plugin. You can execute a document with multiple
--   plugins.
cpStatus :: Lens' CommandPlugin (Maybe CommandPluginStatus)

-- | The time the plugin started executing.
cpResponseStartDateTime :: Lens' CommandPlugin (Maybe UTCTime)

-- | 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.
cpOutputS3KeyPrefix :: Lens' CommandPlugin (Maybe Text)

-- | The URL for the complete text written by the plugin to stderr. If
--   execution is not yet complete, then this string is empty.
cpStandardErrorURL :: Lens' CommandPlugin (Maybe Text)

-- | A numeric response code generated after executing the plugin.
cpResponseCode :: Lens' CommandPlugin (Maybe Int)

-- | A detailed status of the plugin execution. <tt>StatusDetails</tt>
--   includes more information than <tt>Status</tt> because it includes
--   states resulting from error and concurrency control parameters.
--   <tt>StatusDetails</tt> can show different results than <tt>Status</tt>
--   . For more information about these statuses, see <a>Monitor
--   Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * Success – The execution of the command or plugin was
--   successfully completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, but they do contribute to whether
--   the parent command status is <tt>Success</tt> or <tt>Incomplete</tt> .
--   This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, and they don't
--   contribute to whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.
cpStatusDetails :: Lens' CommandPlugin (Maybe Text)

-- | Output of the plugin execution.
cpOutput :: Lens' CommandPlugin (Maybe Text)

-- | 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.
cpStandardOutputURL :: Lens' CommandPlugin (Maybe Text)

-- | 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.
cpName :: Lens' CommandPlugin (Maybe Text)

-- | The name of the region where the output is stored in Amazon S3.
cpOutputS3Region :: Lens' CommandPlugin (Maybe Text)

-- | 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.
cpOutputS3BucketName :: Lens' CommandPlugin (Maybe Text)

-- | The time the plugin stopped executing. Could stop prematurely if, for
--   example, a cancel command was sent.
cpResponseFinishDateTime :: Lens' CommandPlugin (Maybe UTCTime)

-- | Describes the association of an SSM document and an instance.
--   
--   <i>See:</i> <a>createAssociationBatchRequestEntry</a> smart
--   constructor.
data CreateAssociationBatchRequestEntry

-- | Creates a value of <a>CreateAssociationBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cabreInstanceId</a> - The ID of the instance.</li>
--   <li><a>cabreScheduleExpression</a> - A cron expression that specifies
--   a schedule when the association runs.</li>
--   <li><a>cabreOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the results of this request.</li>
--   <li><a>cabreTargets</a> - The instances targeted by the request.</li>
--   <li><a>cabreParameters</a> - A description of the parameters for a
--   document.</li>
--   <li><a>cabreDocumentVersion</a> - The document version.</li>
--   <li><a>cabreName</a> - The name of the configuration document.</li>
--   </ul>
createAssociationBatchRequestEntry :: Text -> CreateAssociationBatchRequestEntry

-- | The ID of the instance.
cabreInstanceId :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)

-- | A cron expression that specifies a schedule when the association runs.
cabreScheduleExpression :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
cabreOutputLocation :: Lens' CreateAssociationBatchRequestEntry (Maybe InstanceAssociationOutputLocation)

-- | The instances targeted by the request.
cabreTargets :: Lens' CreateAssociationBatchRequestEntry [Target]

-- | A description of the parameters for a document.
cabreParameters :: Lens' CreateAssociationBatchRequestEntry (HashMap Text [Text])

-- | The document version.
cabreDocumentVersion :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)

-- | The name of the configuration document.
cabreName :: Lens' CreateAssociationBatchRequestEntry Text

-- | Filter for the DescribeActivation API.
--   
--   <i>See:</i> <a>describeActivationsFilter</a> smart constructor.
data DescribeActivationsFilter

-- | Creates a value of <a>DescribeActivationsFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dafFilterKey</a> - The name of the filter.</li>
--   <li><a>dafFilterValues</a> - The filter values.</li>
--   </ul>
describeActivationsFilter :: DescribeActivationsFilter

-- | The name of the filter.
dafFilterKey :: Lens' DescribeActivationsFilter (Maybe DescribeActivationsFilterKeys)

-- | The filter values.
dafFilterValues :: Lens' DescribeActivationsFilter [Text]

-- | A default version of a document.
--   
--   <i>See:</i> <a>documentDefaultVersionDescription</a> smart
--   constructor.
data DocumentDefaultVersionDescription

-- | Creates a value of <a>DocumentDefaultVersionDescription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddvdDefaultVersion</a> - The default version of the
--   document.</li>
--   <li><a>ddvdName</a> - The name of the document.</li>
--   </ul>
documentDefaultVersionDescription :: DocumentDefaultVersionDescription

-- | The default version of the document.
ddvdDefaultVersion :: Lens' DocumentDefaultVersionDescription (Maybe Text)

-- | The name of the document.
ddvdName :: Lens' DocumentDefaultVersionDescription (Maybe Text)

-- | Describes an SSM document.
--   
--   <i>See:</i> <a>documentDescription</a> smart constructor.
data DocumentDescription

-- | Creates a value of <a>DocumentDescription</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dStatus</a> - The status of the SSM document.</li>
--   <li><a>dDocumentType</a> - The type of document.</li>
--   <li><a>dHash</a> - The Sha256 or Sha1 hash created by the system when
--   the document was created.</li>
--   <li><a>dSchemaVersion</a> - The schema version.</li>
--   <li><a>dSha1</a> - The SHA1 hash of the document, which you can use
--   for verification purposes.</li>
--   <li><a>dDefaultVersion</a> - The default version.</li>
--   <li><a>dOwner</a> - The AWS user account of the person who created the
--   document.</li>
--   <li><a>dPlatformTypes</a> - The list of OS platforms compatible with
--   this SSM document.</li>
--   <li><a>dCreatedDate</a> - The date when the SSM document was
--   created.</li>
--   <li><a>dName</a> - The name of the SSM document.</li>
--   <li><a>dHashType</a> - Sha256 or Sha1.</li>
--   <li><a>dParameters</a> - A description of the parameters for a
--   document.</li>
--   <li><a>dDocumentVersion</a> - The document version.</li>
--   <li><a>dDescription</a> - A description of the document.</li>
--   <li><a>dLatestVersion</a> - The latest version of the document.</li>
--   </ul>
documentDescription :: DocumentDescription

-- | The status of the SSM document.
dStatus :: Lens' DocumentDescription (Maybe DocumentStatus)

-- | The type of document.
dDocumentType :: Lens' DocumentDescription (Maybe DocumentType)

-- | The Sha256 or Sha1 hash created by the system when the document was
--   created.
dHash :: Lens' DocumentDescription (Maybe Text)

-- | The schema version.
dSchemaVersion :: Lens' DocumentDescription (Maybe Text)

-- | The SHA1 hash of the document, which you can use for verification
--   purposes.
dSha1 :: Lens' DocumentDescription (Maybe Text)

-- | The default version.
dDefaultVersion :: Lens' DocumentDescription (Maybe Text)

-- | The AWS user account of the person who created the document.
dOwner :: Lens' DocumentDescription (Maybe Text)

-- | The list of OS platforms compatible with this SSM document.
dPlatformTypes :: Lens' DocumentDescription [PlatformType]

-- | The date when the SSM document was created.
dCreatedDate :: Lens' DocumentDescription (Maybe UTCTime)

-- | The name of the SSM document.
dName :: Lens' DocumentDescription (Maybe Text)

-- | Sha256 or Sha1.
dHashType :: Lens' DocumentDescription (Maybe DocumentHashType)

-- | A description of the parameters for a document.
dParameters :: Lens' DocumentDescription [DocumentParameter]

-- | The document version.
dDocumentVersion :: Lens' DocumentDescription (Maybe Text)

-- | A description of the document.
dDescription :: Lens' DocumentDescription (Maybe Text)

-- | The latest version of the document.
dLatestVersion :: Lens' DocumentDescription (Maybe Text)

-- | Describes a filter.
--   
--   <i>See:</i> <a>documentFilter</a> smart constructor.
data DocumentFilter

-- | Creates a value of <a>DocumentFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfKey</a> - The name of the filter.</li>
--   <li><a>dfValue</a> - The value of the filter.</li>
--   </ul>
documentFilter :: DocumentFilterKey -> Text -> DocumentFilter

-- | The name of the filter.
dfKey :: Lens' DocumentFilter DocumentFilterKey

-- | The value of the filter.
dfValue :: Lens' DocumentFilter Text

-- | Describes the name of an SSM document.
--   
--   <i>See:</i> <a>documentIdentifier</a> smart constructor.
data DocumentIdentifier

-- | Creates a value of <a>DocumentIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diDocumentType</a> - The document type.</li>
--   <li><a>diSchemaVersion</a> - The schema version.</li>
--   <li><a>diOwner</a> - The AWS user account of the person who created
--   the document.</li>
--   <li><a>diPlatformTypes</a> - The operating system platform.</li>
--   <li><a>diName</a> - The name of the SSM document.</li>
--   <li><a>diDocumentVersion</a> - The document version.</li>
--   </ul>
documentIdentifier :: DocumentIdentifier

-- | The document type.
diDocumentType :: Lens' DocumentIdentifier (Maybe DocumentType)

-- | The schema version.
diSchemaVersion :: Lens' DocumentIdentifier (Maybe Text)

-- | The AWS user account of the person who created the document.
diOwner :: Lens' DocumentIdentifier (Maybe Text)

-- | The operating system platform.
diPlatformTypes :: Lens' DocumentIdentifier [PlatformType]

-- | The name of the SSM document.
diName :: Lens' DocumentIdentifier (Maybe Text)

-- | The document version.
diDocumentVersion :: Lens' DocumentIdentifier (Maybe Text)

-- | Parameters specified in the SSM document that execute on the server
--   when the command is run.
--   
--   <i>See:</i> <a>documentParameter</a> smart constructor.
data DocumentParameter

-- | Creates a value of <a>DocumentParameter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpName</a> - The name of the parameter.</li>
--   <li><a>dpDefaultValue</a> - If specified, the default values for the
--   parameters. Parameters without a default value are required.
--   Parameters with a default value are optional.</li>
--   <li><a>dpType</a> - The type of parameter. The type can be either
--   “String” or “StringList”.</li>
--   <li><a>dpDescription</a> - A description of what the parameter does,
--   how to use it, the default value, and whether or not the parameter is
--   optional.</li>
--   </ul>
documentParameter :: DocumentParameter

-- | The name of the parameter.
dpName :: Lens' DocumentParameter (Maybe Text)

-- | If specified, the default values for the parameters. Parameters
--   without a default value are required. Parameters with a default value
--   are optional.
dpDefaultValue :: Lens' DocumentParameter (Maybe Text)

-- | The type of parameter. The type can be either “String” or
--   “StringList”.
dpType :: Lens' DocumentParameter (Maybe DocumentParameterType)

-- | A description of what the parameter does, how to use it, the default
--   value, and whether or not the parameter is optional.
dpDescription :: Lens' DocumentParameter (Maybe Text)

-- | Version information about the document.
--   
--   <i>See:</i> <a>documentVersionInfo</a> smart constructor.
data DocumentVersionInfo

-- | Creates a value of <a>DocumentVersionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dviCreatedDate</a> - The date the document was created.</li>
--   <li><a>dviName</a> - The document name.</li>
--   <li><a>dviDocumentVersion</a> - The document version.</li>
--   <li><a>dviIsDefaultVersion</a> - An identifier for the default version
--   of the document.</li>
--   </ul>
documentVersionInfo :: DocumentVersionInfo

-- | The date the document was created.
dviCreatedDate :: Lens' DocumentVersionInfo (Maybe UTCTime)

-- | The document name.
dviName :: Lens' DocumentVersionInfo (Maybe Text)

-- | The document version.
dviDocumentVersion :: Lens' DocumentVersionInfo (Maybe Text)

-- | An identifier for the default version of the document.
dviIsDefaultVersion :: Lens' DocumentVersionInfo (Maybe Bool)

-- | Describes a failed association.
--   
--   <i>See:</i> <a>failedCreateAssociation</a> smart constructor.
data FailedCreateAssociation

-- | Creates a value of <a>FailedCreateAssociation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcaEntry</a> - The association.</li>
--   <li><a>fcaFault</a> - The source of the failure.</li>
--   <li><a>fcaMessage</a> - A description of the failure.</li>
--   </ul>
failedCreateAssociation :: FailedCreateAssociation

-- | The association.
fcaEntry :: Lens' FailedCreateAssociation (Maybe CreateAssociationBatchRequestEntry)

-- | The source of the failure.
fcaFault :: Lens' FailedCreateAssociation (Maybe Fault)

-- | A description of the failure.
fcaMessage :: Lens' FailedCreateAssociation (Maybe Text)

-- | Status information about the aggregated associations.
--   
--   <i>See:</i> <a>instanceAggregatedAssociationOverview</a> smart
--   constructor.
data InstanceAggregatedAssociationOverview

-- | Creates a value of <a>InstanceAggregatedAssociationOverview</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaaoDetailedStatus</a> - Detailed status information about the
--   aggregated associations.</li>
--   <li><a>iaaoInstanceAssociationStatusAggregatedCount</a> - The number
--   of associations for the instance(s).</li>
--   </ul>
instanceAggregatedAssociationOverview :: InstanceAggregatedAssociationOverview

-- | Detailed status information about the aggregated associations.
iaaoDetailedStatus :: Lens' InstanceAggregatedAssociationOverview (Maybe Text)

-- | The number of associations for the instance(s).
iaaoInstanceAssociationStatusAggregatedCount :: Lens' InstanceAggregatedAssociationOverview (HashMap Text Int)

-- | One or more association documents on the instance.
--   
--   <i>See:</i> <a>instanceAssociation</a> smart constructor.
data InstanceAssociation

-- | Creates a value of <a>InstanceAssociation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaAssociationId</a> - The association ID.</li>
--   <li><a>iaInstanceId</a> - The instance ID.</li>
--   <li><a>iaContent</a> - The content of the association document for the
--   instance(s).</li>
--   </ul>
instanceAssociation :: InstanceAssociation

-- | The association ID.
iaAssociationId :: Lens' InstanceAssociation (Maybe Text)

-- | The instance ID.
iaInstanceId :: Lens' InstanceAssociation (Maybe Text)

-- | The content of the association document for the instance(s).
iaContent :: Lens' InstanceAssociation (Maybe Text)

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
--   
--   <i>See:</i> <a>instanceAssociationOutputLocation</a> smart
--   constructor.
data InstanceAssociationOutputLocation

-- | Creates a value of <a>InstanceAssociationOutputLocation</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaolS3Location</a> - An Amazon S3 bucket where you want to
--   store the results of this request.</li>
--   </ul>
instanceAssociationOutputLocation :: InstanceAssociationOutputLocation

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
iaolS3Location :: Lens' InstanceAssociationOutputLocation (Maybe S3OutputLocation)

-- | The URL of Amazon S3 bucket where you want to store the results of
--   this request.
--   
--   <i>See:</i> <a>instanceAssociationOutputURL</a> smart constructor.
data InstanceAssociationOutputURL

-- | Creates a value of <a>InstanceAssociationOutputURL</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaouS3OutputURL</a> - The URL of Amazon S3 bucket where you
--   want to store the results of this request.</li>
--   </ul>
instanceAssociationOutputURL :: InstanceAssociationOutputURL

-- | The URL of Amazon S3 bucket where you want to store the results of
--   this request.
iaouS3OutputURL :: Lens' InstanceAssociationOutputURL (Maybe S3OutputURL)

-- | Status information about the instance association.
--   
--   <i>See:</i> <a>instanceAssociationStatusInfo</a> smart constructor.
data InstanceAssociationStatusInfo

-- | Creates a value of <a>InstanceAssociationStatusInfo</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iasiAssociationId</a> - The association ID.</li>
--   <li><a>iasiInstanceId</a> - The instance ID where the association was
--   created.</li>
--   <li><a>iasiDetailedStatus</a> - Detailed status information about the
--   instance association.</li>
--   <li><a>iasiStatus</a> - Status information about the instance
--   association.</li>
--   <li><a>iasiOutputURL</a> - A URL for an Amazon S3 bucket where you
--   want to store the results of this request.</li>
--   <li><a>iasiExecutionSummary</a> - Summary information about
--   association execution.</li>
--   <li><a>iasiName</a> - The name of the association.</li>
--   <li><a>iasiErrorCode</a> - An error code returned by the request to
--   create the association.</li>
--   <li><a>iasiDocumentVersion</a> - The association document
--   verions.</li>
--   <li><a>iasiExecutionDate</a> - The date the instance association
--   executed.</li>
--   </ul>
instanceAssociationStatusInfo :: InstanceAssociationStatusInfo

-- | The association ID.
iasiAssociationId :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The instance ID where the association was created.
iasiInstanceId :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | Detailed status information about the instance association.
iasiDetailedStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | Status information about the instance association.
iasiStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | A URL for an Amazon S3 bucket where you want to store the results of
--   this request.
iasiOutputURL :: Lens' InstanceAssociationStatusInfo (Maybe InstanceAssociationOutputURL)

-- | Summary information about association execution.
iasiExecutionSummary :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The name of the association.
iasiName :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | An error code returned by the request to create the association.
iasiErrorCode :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The association document verions.
iasiDocumentVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The date the instance association executed.
iasiExecutionDate :: Lens' InstanceAssociationStatusInfo (Maybe UTCTime)

-- | Describes a filter for a specific list of instances.
--   
--   <i>See:</i> <a>instanceInformation</a> smart constructor.
data InstanceInformation

-- | Creates a value of <a>InstanceInformation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiInstanceId</a> - The instance ID.</li>
--   <li><a>iiPingStatus</a> - Connection status of the SSM agent.</li>
--   <li><a>iiIPAddress</a> - The IP address of the managed instance.</li>
--   <li><a>iiResourceType</a> - The type of instance. Instances are either
--   EC2 instances or managed instances.</li>
--   <li><a>iiRegistrationDate</a> - The date the server or VM was
--   registered with AWS as a managed instance.</li>
--   <li><a>iiPlatformVersion</a> - The version of the OS platform running
--   on your instance.</li>
--   <li><a>iiIsLatestVersion</a> - Indicates whether latest version of the
--   SSM agent is running on your instance.</li>
--   <li><a>iiAgentVersion</a> - The version of the SSM agent running on
--   your Linux instance.</li>
--   <li><a>iiLastPingDateTime</a> - The date and time when agent last
--   pinged Systems Manager service.</li>
--   <li><a>iiLastSuccessfulAssociationExecutionDate</a> - The last date
--   the association was successfully run.</li>
--   <li><a>iiActivationId</a> - The activation ID created by Systems
--   Manager when the server or VM was registered.</li>
--   <li><a>iiName</a> - The name of the managed instance.</li>
--   <li><a>iiPlatformType</a> - The operating system platform type.</li>
--   <li><a>iiAssociationOverview</a> - Information about the
--   association.</li>
--   <li><a>iiAssociationStatus</a> - The status of the association.</li>
--   <li><a>iiLastAssociationExecutionDate</a> - The date the association
--   was last executed.</li>
--   <li><a>iiPlatformName</a> - The name of the operating system platform
--   running on your instance.</li>
--   <li><a>iiComputerName</a> - The fully qualified host name of the
--   managed instance.</li>
--   <li><a>iiIAMRole</a> - The Amazon Identity and Access Management (IAM)
--   role assigned to EC2 instances or managed instances.</li>
--   </ul>
instanceInformation :: InstanceInformation

-- | The instance ID.
iiInstanceId :: Lens' InstanceInformation (Maybe Text)

-- | Connection status of the SSM agent.
iiPingStatus :: Lens' InstanceInformation (Maybe PingStatus)

-- | The IP address of the managed instance.
iiIPAddress :: Lens' InstanceInformation (Maybe Text)

-- | The type of instance. Instances are either EC2 instances or managed
--   instances.
iiResourceType :: Lens' InstanceInformation (Maybe ResourceType)

-- | The date the server or VM was registered with AWS as a managed
--   instance.
iiRegistrationDate :: Lens' InstanceInformation (Maybe UTCTime)

-- | The version of the OS platform running on your instance.
iiPlatformVersion :: Lens' InstanceInformation (Maybe Text)

-- | Indicates whether latest version of the SSM agent is running on your
--   instance.
iiIsLatestVersion :: Lens' InstanceInformation (Maybe Bool)

-- | The version of the SSM agent running on your Linux instance.
iiAgentVersion :: Lens' InstanceInformation (Maybe Text)

-- | The date and time when agent last pinged Systems Manager service.
iiLastPingDateTime :: Lens' InstanceInformation (Maybe UTCTime)

-- | The last date the association was successfully run.
iiLastSuccessfulAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)

-- | The activation ID created by Systems Manager when the server or VM was
--   registered.
iiActivationId :: Lens' InstanceInformation (Maybe Text)

-- | The name of the managed instance.
iiName :: Lens' InstanceInformation (Maybe Text)

-- | The operating system platform type.
iiPlatformType :: Lens' InstanceInformation (Maybe PlatformType)

-- | Information about the association.
iiAssociationOverview :: Lens' InstanceInformation (Maybe InstanceAggregatedAssociationOverview)

-- | The status of the association.
iiAssociationStatus :: Lens' InstanceInformation (Maybe Text)

-- | The date the association was last executed.
iiLastAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)

-- | The name of the operating system platform running on your instance.
iiPlatformName :: Lens' InstanceInformation (Maybe Text)

-- | The fully qualified host name of the managed instance.
iiComputerName :: Lens' InstanceInformation (Maybe Text)

-- | The Amazon Identity and Access Management (IAM) role assigned to EC2
--   instances or managed instances.
iiIAMRole :: Lens' InstanceInformation (Maybe Text)

-- | Describes a filter for a specific list of instances.
--   
--   <i>See:</i> <a>instanceInformationFilter</a> smart constructor.
data InstanceInformationFilter

-- | Creates a value of <a>InstanceInformationFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iifKey</a> - The name of the filter.</li>
--   <li><a>iifValueSet</a> - The filter values.</li>
--   </ul>
instanceInformationFilter :: InstanceInformationFilterKey -> NonEmpty Text -> InstanceInformationFilter

-- | The name of the filter.
iifKey :: Lens' InstanceInformationFilter InstanceInformationFilterKey

-- | The filter values.
iifValueSet :: Lens' InstanceInformationFilter (NonEmpty Text)

-- | The filters to describe or get information about your managed
--   instances.
--   
--   <i>See:</i> <a>instanceInformationStringFilter</a> smart constructor.
data InstanceInformationStringFilter

-- | Creates a value of <a>InstanceInformationStringFilter</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iisfKey</a> - The filter key name to describe your instances.
--   For example:
--   <a>InstanceIds</a>|<a>AgentVersion</a>|<a>PingStatus</a>|<a>PlatformTypes</a>|<a>ActivationIds</a>|<a>IamRole</a>|<a>ResourceType</a>|”AssociationStatus”|”Tag
--   Key”</li>
--   <li><a>iisfValues</a> - The filter values.</li>
--   </ul>
instanceInformationStringFilter :: Text -> NonEmpty Text -> InstanceInformationStringFilter

-- | The filter key name to describe your instances. For example:
--   <a>InstanceIds</a>|<a>AgentVersion</a>|<a>PingStatus</a>|<a>PlatformTypes</a>|<a>ActivationIds</a>|<a>IamRole</a>|<a>ResourceType</a>|”AssociationStatus”|”Tag
--   Key”
iisfKey :: Lens' InstanceInformationStringFilter Text

-- | The filter values.
iisfValues :: Lens' InstanceInformationStringFilter (NonEmpty Text)

-- | One or more filters. Use a filter to return a more specific list of
--   results.
--   
--   <i>See:</i> <a>inventoryFilter</a> smart constructor.
data InventoryFilter

-- | Creates a value of <a>InventoryFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ifType</a> - The type of filter. Valid values include the
--   following:
--   <a>Equal</a>|<a>NotEqual</a>|<a>BeginWith</a>|<a>LessThan</a>|<a>GreaterThan</a></li>
--   <li><a>ifKey</a> - The name of the filter key.</li>
--   <li><a>ifValues</a> - Inventory filter values. Example: inventory
--   filter where instance IDs are specified as values
--   Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
--   i-1a2b3c4d5e6,Type=Equal</li>
--   </ul>
inventoryFilter :: Text -> NonEmpty Text -> InventoryFilter

-- | The type of filter. Valid values include the following:
--   <a>Equal</a>|<a>NotEqual</a>|<a>BeginWith</a>|<a>LessThan</a>|<a>GreaterThan</a>
ifType :: Lens' InventoryFilter (Maybe InventoryQueryOperatorType)

-- | The name of the filter key.
ifKey :: Lens' InventoryFilter Text

-- | Inventory filter values. Example: inventory filter where instance IDs
--   are specified as values Key=AWS:InstanceInformation.InstanceId,Values=
--   i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal
ifValues :: Lens' InventoryFilter (NonEmpty Text)

-- | Information collected from managed instances based on your inventory
--   policy document
--   
--   <i>See:</i> <a>inventoryItem</a> smart constructor.
data InventoryItem

-- | Creates a value of <a>InventoryItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiContentHash</a> - MD5 hash of the inventory item type
--   contents. The content hash is used to determine whether to update
--   inventory information. The <tt>PutInventory</tt> API does not update
--   the inventory item type contents if the MD5 hash has not changed since
--   last update.</li>
--   <li><a>iiContent</a> - The inventory data of the inventory type.</li>
--   <li><a>iiTypeName</a> - The name of the inventory type. Default
--   inventory item type names start with <tt>AWS</tt> . Custom inventory
--   type names will start with <tt>Custom</tt> . Default inventory item
--   types include the following: <tt>AWS:AWSComponent</tt> ,
--   <tt>AWS:Application</tt> , <tt>AWS:InstanceInformation</tt> ,
--   <tt>AWS:Network</tt> , and <tt>AWS:WindowsUpdate</tt> .</li>
--   <li><a>iiSchemaVersion</a> - The schema version for the inventory
--   item.</li>
--   <li><a>iiCaptureTime</a> - The time the inventory information was
--   collected.</li>
--   </ul>
inventoryItem :: Text -> Text -> Text -> InventoryItem

-- | MD5 hash of the inventory item type contents. The content hash is used
--   to determine whether to update inventory information. The
--   <tt>PutInventory</tt> API does not update the inventory item type
--   contents if the MD5 hash has not changed since last update.
iiContentHash :: Lens' InventoryItem (Maybe Text)

-- | The inventory data of the inventory type.
iiContent :: Lens' InventoryItem [HashMap Text Text]

-- | The name of the inventory type. Default inventory item type names
--   start with <tt>AWS</tt> . Custom inventory type names will start with
--   <tt>Custom</tt> . Default inventory item types include the following:
--   <tt>AWS:AWSComponent</tt> , <tt>AWS:Application</tt> ,
--   <tt>AWS:InstanceInformation</tt> , <tt>AWS:Network</tt> , and
--   <tt>AWS:WindowsUpdate</tt> .
iiTypeName :: Lens' InventoryItem Text

-- | The schema version for the inventory item.
iiSchemaVersion :: Lens' InventoryItem Text

-- | The time the inventory information was collected.
iiCaptureTime :: Lens' InventoryItem Text

-- | Attributes are the entries within the inventory item content. It
--   contains name and value.
--   
--   <i>See:</i> <a>inventoryItemAttribute</a> smart constructor.
data InventoryItemAttribute

-- | Creates a value of <a>InventoryItemAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiaName</a> - Name of the inventory item attribute.</li>
--   <li><a>iiaDataType</a> - The data type of the inventory item
--   attribute.</li>
--   </ul>
inventoryItemAttribute :: Text -> InventoryAttributeDataType -> InventoryItemAttribute

-- | Name of the inventory item attribute.
iiaName :: Lens' InventoryItemAttribute Text

-- | The data type of the inventory item attribute.
iiaDataType :: Lens' InventoryItemAttribute InventoryAttributeDataType

-- | The inventory item schema definition. Users can use this to compose
--   inventory query filters.
--   
--   <i>See:</i> <a>inventoryItemSchema</a> smart constructor.
data InventoryItemSchema

-- | Creates a value of <a>InventoryItemSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iisVersion</a> - The schema version for the inventory
--   item.</li>
--   <li><a>iisTypeName</a> - The name of the inventory type. Default
--   inventory item type names start with <tt>AWS</tt> . Custom inventory
--   type names will start with <tt>Custom</tt> . Default inventory item
--   types include the following: <tt>AWS:AWSComponent</tt> ,
--   <tt>AWS:Application</tt> , <tt>AWS:InstanceInformation</tt> ,
--   <tt>AWS:Network</tt> , and <tt>AWS:WindowsUpdate</tt> .</li>
--   <li><a>iisAttributes</a> - The schema attributes for inventory. This
--   contains data type and attribute name.</li>
--   </ul>
inventoryItemSchema :: Text -> NonEmpty InventoryItemAttribute -> InventoryItemSchema

-- | The schema version for the inventory item.
iisVersion :: Lens' InventoryItemSchema (Maybe Text)

-- | The name of the inventory type. Default inventory item type names
--   start with <tt>AWS</tt> . Custom inventory type names will start with
--   <tt>Custom</tt> . Default inventory item types include the following:
--   <tt>AWS:AWSComponent</tt> , <tt>AWS:Application</tt> ,
--   <tt>AWS:InstanceInformation</tt> , <tt>AWS:Network</tt> , and
--   <tt>AWS:WindowsUpdate</tt> .
iisTypeName :: Lens' InventoryItemSchema Text

-- | The schema attributes for inventory. This contains data type and
--   attribute name.
iisAttributes :: Lens' InventoryItemSchema (NonEmpty InventoryItemAttribute)

-- | Inventory query results.
--   
--   <i>See:</i> <a>inventoryResultEntity</a> smart constructor.
data InventoryResultEntity

-- | Creates a value of <a>InventoryResultEntity</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ireData</a> - The data section in the inventory result entity
--   json.</li>
--   <li><a>ireId</a> - 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.</li>
--   </ul>
inventoryResultEntity :: InventoryResultEntity

-- | The data section in the inventory result entity json.
ireData :: Lens' InventoryResultEntity (HashMap Text InventoryResultItem)

-- | 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.
ireId :: Lens' InventoryResultEntity (Maybe Text)

-- | The inventory result item.
--   
--   <i>See:</i> <a>inventoryResultItem</a> smart constructor.
data InventoryResultItem

-- | Creates a value of <a>InventoryResultItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iriContentHash</a> - MD5 hash of the inventory item type
--   contents. The content hash is used to determine whether to update
--   inventory information. The <tt>PutInventory</tt> API does not update
--   the inventory item type contents if the MD5 hash has not changed since
--   last update.</li>
--   <li><a>iriCaptureTime</a> - The time inventory item data was
--   captured.</li>
--   <li><a>iriTypeName</a> - The name of the inventory result item
--   type.</li>
--   <li><a>iriSchemaVersion</a> - The schema version for the inventory
--   result item/</li>
--   <li><a>iriContent</a> - Contains all the inventory data of the item
--   type. Results include attribute names and values.</li>
--   </ul>
inventoryResultItem :: Text -> Text -> InventoryResultItem

-- | MD5 hash of the inventory item type contents. The content hash is used
--   to determine whether to update inventory information. The
--   <tt>PutInventory</tt> API does not update the inventory item type
--   contents if the MD5 hash has not changed since last update.
iriContentHash :: Lens' InventoryResultItem (Maybe Text)

-- | The time inventory item data was captured.
iriCaptureTime :: Lens' InventoryResultItem (Maybe Text)

-- | The name of the inventory result item type.
iriTypeName :: Lens' InventoryResultItem Text

-- | The schema version for the inventory result item/
iriSchemaVersion :: Lens' InventoryResultItem Text

-- | Contains all the inventory data of the item type. Results include
--   attribute names and values.
iriContent :: Lens' InventoryResultItem [HashMap Text Text]

-- | Information about an Amazon S3 bucket to write instance-level logs to.
--   
--   <i>See:</i> <a>loggingInfo</a> smart constructor.
data LoggingInfo

-- | Creates a value of <a>LoggingInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>liS3KeyPrefix</a> - (Optional) The Amazon S3 bucket
--   subfolder.</li>
--   <li><a>liS3BucketName</a> - The name of an Amazon S3 bucket where
--   execution logs are stored .</li>
--   <li><a>liS3Region</a> - The region where the Amazon S3 bucket is
--   located.</li>
--   </ul>
loggingInfo :: Text -> Text -> LoggingInfo

-- | (Optional) The Amazon S3 bucket subfolder.
liS3KeyPrefix :: Lens' LoggingInfo (Maybe Text)

-- | The name of an Amazon S3 bucket where execution logs are stored .
liS3BucketName :: Lens' LoggingInfo Text

-- | The region where the Amazon S3 bucket is located.
liS3Region :: Lens' LoggingInfo Text

-- | Describes the information about an execution of a Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowExecution</a> smart constructor.
data MaintenanceWindowExecution

-- | Creates a value of <a>MaintenanceWindowExecution</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mweStatus</a> - The status of the execution.</li>
--   <li><a>mweStartTime</a> - The time the execution started.</li>
--   <li><a>mweWindowExecutionId</a> - The ID of the Maintenance Window
--   execution.</li>
--   <li><a>mweStatusDetails</a> - The details explaining the Status. Only
--   available for certain status values.</li>
--   <li><a>mweEndTime</a> - The time the execution finished.</li>
--   <li><a>mweWindowId</a> - The ID of the Maintenance Window.</li>
--   </ul>
maintenanceWindowExecution :: MaintenanceWindowExecution

-- | The status of the execution.
mweStatus :: Lens' MaintenanceWindowExecution (Maybe MaintenanceWindowExecutionStatus)

-- | The time the execution started.
mweStartTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)

-- | The ID of the Maintenance Window execution.
mweWindowExecutionId :: Lens' MaintenanceWindowExecution (Maybe Text)

-- | The details explaining the Status. Only available for certain status
--   values.
mweStatusDetails :: Lens' MaintenanceWindowExecution (Maybe Text)

-- | The time the execution finished.
mweEndTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)

-- | The ID of the Maintenance Window.
mweWindowId :: Lens' MaintenanceWindowExecution (Maybe Text)

-- | Information about a task execution performed as part of a Maintenance
--   Window execution.
--   
--   <i>See:</i> <a>maintenanceWindowExecutionTaskIdentity</a> smart
--   constructor.
data MaintenanceWindowExecutionTaskIdentity

-- | Creates a value of <a>MaintenanceWindowExecutionTaskIdentity</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwetiStatus</a> - The status of the task execution.</li>
--   <li><a>mwetiTaskExecutionId</a> - The ID of the specific task
--   execution in the Maintenance Window execution.</li>
--   <li><a>mwetiStartTime</a> - The time the task execution started.</li>
--   <li><a>mwetiTaskType</a> - The type of executed task.</li>
--   <li><a>mwetiTaskARN</a> - The ARN of the executed task.</li>
--   <li><a>mwetiWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that ran the task.</li>
--   <li><a>mwetiStatusDetails</a> - The details explaining the status of
--   the task execution. Only available for certain status values.</li>
--   <li><a>mwetiEndTime</a> - The time the task execution finished.</li>
--   </ul>
maintenanceWindowExecutionTaskIdentity :: MaintenanceWindowExecutionTaskIdentity

-- | The status of the task execution.
mwetiStatus :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowExecutionStatus)

-- | The ID of the specific task execution in the Maintenance Window
--   execution.
mwetiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The time the task execution started.
mwetiStartTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)

-- | The type of executed task.
mwetiTaskType :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowTaskType)

-- | The ARN of the executed task.
mwetiTaskARN :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The ID of the Maintenance Window execution that ran the task.
mwetiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The details explaining the status of the task execution. Only
--   available for certain status values.
mwetiStatusDetails :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The time the task execution finished.
mwetiEndTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)

-- | 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.
--   
--   <i>See:</i> <a>maintenanceWindowExecutionTaskInvocationIdentity</a>
--   smart constructor.
data MaintenanceWindowExecutionTaskInvocationIdentity

-- | Creates a value of
--   <a>MaintenanceWindowExecutionTaskInvocationIdentity</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwetiiStatus</a> - The status of the task invocation.</li>
--   <li><a>mwetiiExecutionId</a> - 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.</li>
--   <li><a>mwetiiTaskExecutionId</a> - The ID of the specific task
--   execution in the Maintenance Window execution.</li>
--   <li><a>mwetiiStartTime</a> - The time the invocation started.</li>
--   <li><a>mwetiiInvocationId</a> - The ID of the task invocation.</li>
--   <li><a>mwetiiOwnerInformation</a> - 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.</li>
--   <li><a>mwetiiWindowTargetId</a> - The ID of the target definition in
--   this Maintenance Window the invocation was performed for.</li>
--   <li><a>mwetiiWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that ran the task.</li>
--   <li><a>mwetiiStatusDetails</a> - The details explaining the status of
--   the task invocation. Only available for certain Status values.</li>
--   <li><a>mwetiiEndTime</a> - The time the invocation finished.</li>
--   <li><a>mwetiiParameters</a> - The parameters that were provided for
--   the invocation when it was executed.</li>
--   </ul>
maintenanceWindowExecutionTaskInvocationIdentity :: MaintenanceWindowExecutionTaskInvocationIdentity

-- | The status of the task invocation.
mwetiiStatus :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowExecutionStatus)

-- | 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.
mwetiiExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The ID of the specific task execution in the Maintenance Window
--   execution.
mwetiiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The time the invocation started.
mwetiiStartTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)

-- | The ID of the task invocation.
mwetiiInvocationId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | 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.
mwetiiOwnerInformation :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The ID of the target definition in this Maintenance Window the
--   invocation was performed for.
mwetiiWindowTargetId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The ID of the Maintenance Window execution that ran the task.
mwetiiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The details explaining the status of the task invocation. Only
--   available for certain Status values.
mwetiiStatusDetails :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The time the invocation finished.
mwetiiEndTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)

-- | The parameters that were provided for the invocation when it was
--   executed.
mwetiiParameters :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | Filter used in the request.
--   
--   <i>See:</i> <a>maintenanceWindowFilter</a> smart constructor.
data MaintenanceWindowFilter

-- | Creates a value of <a>MaintenanceWindowFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwfValues</a> - The filter values.</li>
--   <li><a>mwfKey</a> - The name of the filter.</li>
--   </ul>
maintenanceWindowFilter :: MaintenanceWindowFilter

-- | The filter values.
mwfValues :: Lens' MaintenanceWindowFilter [Text]

-- | The name of the filter.
mwfKey :: Lens' MaintenanceWindowFilter (Maybe Text)

-- | Information about the Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowIdentity</a> smart constructor.
data MaintenanceWindowIdentity

-- | Creates a value of <a>MaintenanceWindowIdentity</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwiEnabled</a> - Whether the Maintenance Window is
--   enabled.</li>
--   <li><a>mwiName</a> - The name of the Maintenance Window.</li>
--   <li><a>mwiCutoff</a> - The number of hours before the end of the
--   Maintenance Window that Systems Manager stops scheduling new tasks for
--   execution.</li>
--   <li><a>mwiDuration</a> - The duration of the Maintenance Window in
--   hours.</li>
--   <li><a>mwiWindowId</a> - The ID of the Maintenance Window.</li>
--   </ul>
maintenanceWindowIdentity :: MaintenanceWindowIdentity

-- | Whether the Maintenance Window is enabled.
mwiEnabled :: Lens' MaintenanceWindowIdentity (Maybe Bool)

-- | The name of the Maintenance Window.
mwiName :: Lens' MaintenanceWindowIdentity (Maybe Text)

-- | The number of hours before the end of the Maintenance Window that
--   Systems Manager stops scheduling new tasks for execution.
mwiCutoff :: Lens' MaintenanceWindowIdentity (Maybe Natural)

-- | The duration of the Maintenance Window in hours.
mwiDuration :: Lens' MaintenanceWindowIdentity (Maybe Natural)

-- | The ID of the Maintenance Window.
mwiWindowId :: Lens' MaintenanceWindowIdentity (Maybe Text)

-- | The target registered with the Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowTarget</a> smart constructor.
data MaintenanceWindowTarget

-- | Creates a value of <a>MaintenanceWindowTarget</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mResourceType</a> - The type of target.</li>
--   <li><a>mOwnerInformation</a> - User-provided value that will be
--   included in any CloudWatch events raised while running tasks for these
--   targets in this Maintenance Window.</li>
--   <li><a>mWindowTargetId</a> - The ID of the target.</li>
--   <li><a>mTargets</a> - The targets (either instances or tags).
--   Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   <li><a>mWindowId</a> - The Maintenance Window ID where the target is
--   registered.</li>
--   </ul>
maintenanceWindowTarget :: MaintenanceWindowTarget

-- | The type of target.
mResourceType :: Lens' MaintenanceWindowTarget (Maybe MaintenanceWindowResourceType)

-- | User-provided value that will be included in any CloudWatch events
--   raised while running tasks for these targets in this Maintenance
--   Window.
mOwnerInformation :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | The ID of the target.
mWindowTargetId :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | The targets (either instances or tags). Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
mTargets :: Lens' MaintenanceWindowTarget [Target]

-- | The Maintenance Window ID where the target is registered.
mWindowId :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | Information about a task defined for a Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowTask</a> smart constructor.
data MaintenanceWindowTask

-- | Creates a value of <a>MaintenanceWindowTask</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwtServiceRoleARN</a> - The role that should be assumed when
--   executing the task</li>
--   <li><a>mwtWindowTaskId</a> - The task ID.</li>
--   <li><a>mwtTaskParameters</a> - The parameters that should be passed to
--   the task when it is executed.</li>
--   <li><a>mwtPriority</a> - 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.</li>
--   <li><a>mwtTaskARN</a> - The ARN of the task to execute.</li>
--   <li><a>mwtMaxErrors</a> - The maximum number of errors allowed before
--   this task stops being scheduled.</li>
--   <li><a>mwtTargets</a> - The targets (either instances or tags).
--   Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   <li><a>mwtLoggingInfo</a> - Information about an Amazon S3 bucket to
--   write task-level logs to.</li>
--   <li><a>mwtType</a> - The type of task.</li>
--   <li><a>mwtMaxConcurrency</a> - The maximum number of targets this task
--   can be run for in parallel.</li>
--   <li><a>mwtWindowId</a> - The Maintenance Window ID where the task is
--   registered.</li>
--   </ul>
maintenanceWindowTask :: MaintenanceWindowTask

-- | The role that should be assumed when executing the task
mwtServiceRoleARN :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The task ID.
mwtWindowTaskId :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The parameters that should be passed to the task when it is executed.
mwtTaskParameters :: Lens' MaintenanceWindowTask (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))

-- | 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.
mwtPriority :: Lens' MaintenanceWindowTask (Maybe Natural)

-- | The ARN of the task to execute.
mwtTaskARN :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The maximum number of errors allowed before this task stops being
--   scheduled.
mwtMaxErrors :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The targets (either instances or tags). Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
mwtTargets :: Lens' MaintenanceWindowTask [Target]

-- | Information about an Amazon S3 bucket to write task-level logs to.
mwtLoggingInfo :: Lens' MaintenanceWindowTask (Maybe LoggingInfo)

-- | The type of task.
mwtType :: Lens' MaintenanceWindowTask (Maybe MaintenanceWindowTaskType)

-- | The maximum number of targets this task can be run for in parallel.
mwtMaxConcurrency :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The Maintenance Window ID where the task is registered.
mwtWindowId :: Lens' MaintenanceWindowTask (Maybe Text)

-- | Defines the values for a task parameter.
--   
--   <i>See:</i> <a>maintenanceWindowTaskParameterValueExpression</a> smart
--   constructor.
data MaintenanceWindowTaskParameterValueExpression

-- | Creates a value of
--   <a>MaintenanceWindowTaskParameterValueExpression</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwtpveValues</a> - This field contains an array of 0 or more
--   strings, each 1 to 255 characters in length.</li>
--   </ul>
maintenanceWindowTaskParameterValueExpression :: MaintenanceWindowTaskParameterValueExpression

-- | This field contains an array of 0 or more strings, each 1 to 255
--   characters in length.
mwtpveValues :: Lens' MaintenanceWindowTaskParameterValueExpression (Maybe [Text])

-- | Configurations for sending notifications.
--   
--   <i>See:</i> <a>notificationConfig</a> smart constructor.
data NotificationConfig

-- | Creates a value of <a>NotificationConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ncNotificationEvents</a> - 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>Monitoring Commands</a> in the
--   <i>Amazon Elastic Compute Cloud User Guide </i> .</li>
--   <li><a>ncNotificationType</a> - 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.</li>
--   <li><a>ncNotificationARN</a> - An Amazon Resource Name (ARN) for a
--   Simple Notification Service (SNS) topic. Run Command pushes
--   notifications about command status changes to this topic.</li>
--   </ul>
notificationConfig :: NotificationConfig

-- | 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>Monitoring Commands</a> in the <i>Amazon Elastic Compute Cloud User
--   Guide </i> .
ncNotificationEvents :: Lens' NotificationConfig [NotificationEvent]

-- | 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.
ncNotificationType :: Lens' NotificationConfig (Maybe NotificationType)

-- | An Amazon Resource Name (ARN) for a Simple Notification Service (SNS)
--   topic. Run Command pushes notifications about command status changes
--   to this topic.
ncNotificationARN :: Lens' NotificationConfig (Maybe Text)

-- | An Amazon EC2 Systems Manager parameter in Parameter Store.
--   
--   <i>See:</i> <a>parameter</a> smart constructor.
data Parameter

-- | Creates a value of <a>Parameter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pValue</a> - The parameter value.</li>
--   <li><a>pName</a> - The name of the parameter.</li>
--   <li><a>pType</a> - The type of parameter. Valid values include the
--   following: String, String list, Secure string.</li>
--   </ul>
parameter :: Parameter

-- | The parameter value.
pValue :: Lens' Parameter (Maybe Text)

-- | The name of the parameter.
pName :: Lens' Parameter (Maybe Text)

-- | The type of parameter. Valid values include the following: String,
--   String list, Secure string.
pType :: Lens' Parameter (Maybe ParameterType)

-- | Information about parameter usage.
--   
--   <i>See:</i> <a>parameterHistory</a> smart constructor.
data ParameterHistory

-- | Creates a value of <a>ParameterHistory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>phLastModifiedDate</a> - Date the parameter was last changed or
--   updated.</li>
--   <li><a>phKeyId</a> - The ID of the query key used for this
--   parameter.</li>
--   <li><a>phValue</a> - The parameter value.</li>
--   <li><a>phName</a> - The name of the parameter.</li>
--   <li><a>phLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>phType</a> - The type of parameter used.</li>
--   <li><a>phDescription</a> - Information about the parameter.</li>
--   </ul>
parameterHistory :: ParameterHistory

-- | Date the parameter was last changed or updated.
phLastModifiedDate :: Lens' ParameterHistory (Maybe UTCTime)

-- | The ID of the query key used for this parameter.
phKeyId :: Lens' ParameterHistory (Maybe Text)

-- | The parameter value.
phValue :: Lens' ParameterHistory (Maybe Text)

-- | The name of the parameter.
phName :: Lens' ParameterHistory (Maybe Text)

-- | Amazon Resource Name (ARN) of the AWS user who last changed the
--   parameter.
phLastModifiedUser :: Lens' ParameterHistory (Maybe Text)

-- | The type of parameter used.
phType :: Lens' ParameterHistory (Maybe ParameterType)

-- | Information about the parameter.
phDescription :: Lens' ParameterHistory (Maybe Text)

-- | Metada includes information like the ARN of the last user and the
--   date/time the parameter was last used.
--   
--   <i>See:</i> <a>parameterMetadata</a> smart constructor.
data ParameterMetadata

-- | Creates a value of <a>ParameterMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmLastModifiedDate</a> - Date the parameter was last changed or
--   updated.</li>
--   <li><a>pmKeyId</a> - The ID of the query key used for this
--   parameter.</li>
--   <li><a>pmName</a> - The parameter name.</li>
--   <li><a>pmLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>pmType</a> - The type of parameter. Valid parameter types
--   include the following: String, String list, Secure string.</li>
--   <li><a>pmDescription</a> - Description of the parameter actions.</li>
--   </ul>
parameterMetadata :: ParameterMetadata

-- | Date the parameter was last changed or updated.
pmLastModifiedDate :: Lens' ParameterMetadata (Maybe UTCTime)

-- | The ID of the query key used for this parameter.
pmKeyId :: Lens' ParameterMetadata (Maybe Text)

-- | The parameter name.
pmName :: Lens' ParameterMetadata (Maybe Text)

-- | Amazon Resource Name (ARN) of the AWS user who last changed the
--   parameter.
pmLastModifiedUser :: Lens' ParameterMetadata (Maybe Text)

-- | The type of parameter. Valid parameter types include the following:
--   String, String list, Secure string.
pmType :: Lens' ParameterMetadata (Maybe ParameterType)

-- | Description of the parameter actions.
pmDescription :: Lens' ParameterMetadata (Maybe Text)

-- | One or more filters. Use a filter to return a more specific list of
--   results.
--   
--   <i>See:</i> <a>parametersFilter</a> smart constructor.
data ParametersFilter

-- | Creates a value of <a>ParametersFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pfKey</a> - The name of the filter.</li>
--   <li><a>pfValues</a> - The filter values.</li>
--   </ul>
parametersFilter :: NonEmpty Text -> ParametersFilter

-- | The name of the filter.
pfKey :: Lens' ParametersFilter (Maybe ParametersFilterKey)

-- | The filter values.
pfValues :: Lens' ParametersFilter (NonEmpty Text)

-- | The inventory item result attribute.
--   
--   <i>See:</i> <a>resultAttribute</a> smart constructor.
data ResultAttribute

-- | Creates a value of <a>ResultAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>raTypeName</a> - Name of the inventory item type. Valid value:
--   “AWS:InstanceInformation”. Default Value:
--   “AWS:InstanceInformation”.</li>
--   </ul>
resultAttribute :: Text -> ResultAttribute

-- | Name of the inventory item type. Valid value:
--   “AWS:InstanceInformation”. Default Value: “AWS:InstanceInformation”.
raTypeName :: Lens' ResultAttribute Text

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
--   
--   <i>See:</i> <a>s3OutputLocation</a> smart constructor.
data S3OutputLocation

-- | Creates a value of <a>S3OutputLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>solOutputS3KeyPrefix</a> - The Amazon S3 bucket subfolder.</li>
--   <li><a>solOutputS3Region</a> - The Amazon S3 region where the
--   association information is stored.</li>
--   <li><a>solOutputS3BucketName</a> - The name of the Amazon S3
--   bucket.</li>
--   </ul>
s3OutputLocation :: S3OutputLocation

-- | The Amazon S3 bucket subfolder.
solOutputS3KeyPrefix :: Lens' S3OutputLocation (Maybe Text)

-- | The Amazon S3 region where the association information is stored.
solOutputS3Region :: Lens' S3OutputLocation (Maybe Text)

-- | The name of the Amazon S3 bucket.
solOutputS3BucketName :: Lens' S3OutputLocation (Maybe Text)

-- | A URL for the Amazon S3 bucket where you want to store the results of
--   this request.
--   
--   <i>See:</i> <a>s3OutputURL</a> smart constructor.
data S3OutputURL

-- | Creates a value of <a>S3OutputURL</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>souOutputURL</a> - A URL for an Amazon S3 bucket where you want
--   to store the results of this request.</li>
--   </ul>
s3OutputURL :: S3OutputURL

-- | A URL for an Amazon S3 bucket where you want to store the results of
--   this request.
souOutputURL :: Lens' S3OutputURL (Maybe Text)

-- | Detailed information about an the execution state of an Automation
--   step.
--   
--   <i>See:</i> <a>stepExecution</a> smart constructor.
data StepExecution

-- | Creates a value of <a>StepExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>seInputs</a> - Fully-resolved values passed into the step
--   before execution.</li>
--   <li><a>seStepName</a> - The name of this execution step.</li>
--   <li><a>seExecutionEndTime</a> - 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.</li>
--   <li><a>seFailureMessage</a> - If a step failed, this message explains
--   why the execution failed.</li>
--   <li><a>seResponse</a> - A message associated with the response code
--   for an execution.</li>
--   <li><a>seAction</a> - The action this step performs. The action
--   determines the behavior of the step.</li>
--   <li><a>seResponseCode</a> - The response code returned by the
--   execution of the step.</li>
--   <li><a>seStepStatus</a> - The execution status for this step. Valid
--   values include: <tt>Pending</tt> , <tt>InProgress</tt> ,
--   <tt>Success</tt> , <tt>Cancelled</tt> , <tt>Failed</tt> , and
--   <tt>TimedOut</tt> .</li>
--   <li><a>seOutputs</a> - Returned values from the execution of the
--   step.</li>
--   <li><a>seExecutionStartTime</a> - If a step has begun execution, this
--   contains the time the step started. If the step is in <tt>Pending</tt>
--   status, this field is not populated.</li>
--   </ul>
stepExecution :: StepExecution

-- | Fully-resolved values passed into the step before execution.
seInputs :: Lens' StepExecution (HashMap Text Text)

-- | The name of this execution step.
seStepName :: Lens' StepExecution (Maybe Text)

-- | 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.
seExecutionEndTime :: Lens' StepExecution (Maybe UTCTime)

-- | If a step failed, this message explains why the execution failed.
seFailureMessage :: Lens' StepExecution (Maybe Text)

-- | A message associated with the response code for an execution.
seResponse :: Lens' StepExecution (Maybe Text)

-- | The action this step performs. The action determines the behavior of
--   the step.
seAction :: Lens' StepExecution (Maybe Text)

-- | The response code returned by the execution of the step.
seResponseCode :: Lens' StepExecution (Maybe Text)

-- | The execution status for this step. Valid values include:
--   <tt>Pending</tt> , <tt>InProgress</tt> , <tt>Success</tt> ,
--   <tt>Cancelled</tt> , <tt>Failed</tt> , and <tt>TimedOut</tt> .
seStepStatus :: Lens' StepExecution (Maybe AutomationExecutionStatus)

-- | Returned values from the execution of the step.
seOutputs :: Lens' StepExecution (HashMap Text [Text])

-- | If a step has begun execution, this contains the time the step
--   started. If the step is in <tt>Pending</tt> status, this field is not
--   populated.
seExecutionStartTime :: Lens' StepExecution (Maybe UTCTime)

-- | 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.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagKey</a> - The name of the tag.</li>
--   <li><a>tagValue</a> - The value of the tag.</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | The name of the tag.
tagKey :: Lens' Tag Text

-- | The value of the tag.
tagValue :: Lens' Tag Text

-- | An array of search criteria that targets instances using a
--   <tt>Key</tt> ;<tt>Value</tt> combination that you specify.
--   <tt>Targets</tt> is required if you don't provide one or more instance
--   IDs in the call.
--   
--   <i>See:</i> <a>target</a> smart constructor.
data Target

-- | Creates a value of <a>Target</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tValues</a> - User-defined criteria that maps to <tt>Key</tt> .
--   For example, if you specified <tt>tag:ServerRole</tt> , you could
--   specify <tt>value:WebServer</tt> 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
--   <tt>Key</tt> ;<tt>Value</tt> parameters, see <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Linux) or <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Windows).</li>
--   <li><a>tKey</a> - User-defined criteria for sending commands that
--   target instances that meet the criteria. <tt>Key</tt> can be
--   <tt>tag:<a>EC2 tag</a></tt> or <tt>name:<a>EC2 instance ID</a></tt> .
--   For example, <tt>tag:ServerRole</tt> or <tt>name:0123456789012345</tt>
--   . For more information about how to send commands that target
--   instances using <tt>Key</tt> ;<tt>Value</tt> parameters, see
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a>
--   (Windows).</li>
--   </ul>
target :: Target

-- | User-defined criteria that maps to <tt>Key</tt> . For example, if you
--   specified <tt>tag:ServerRole</tt> , you could specify
--   <tt>value:WebServer</tt> 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 <tt>Key</tt>
--   ;<tt>Value</tt> parameters, see <a>Executing a Command Using Amazon
--   EC2 Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Windows).
tValues :: Lens' Target [Text]

-- | User-defined criteria for sending commands that target instances that
--   meet the criteria. <tt>Key</tt> can be <tt>tag:<a>EC2 tag</a></tt> or
--   <tt>name:<a>EC2 instance ID</a></tt> . For example,
--   <tt>tag:ServerRole</tt> or <tt>name:0123456789012345</tt> . For more
--   information about how to send commands that target instances using
--   <tt>Key</tt> ;<tt>Value</tt> parameters, see <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Linux) or <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Windows).
tKey :: Lens' Target (Maybe Text)


-- | Updates an association. You can only update the document version,
--   schedule, parameters, and Amazon S3 output of an association.
module Network.AWS.SSM.UpdateAssociation

-- | Creates a value of <a>UpdateAssociation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uaScheduleExpression</a> - 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<i>30 * 1</i>1 * ? *) to run every
--   thirty minutes; cron(0 0 0<i>4 1</i>1 * ? *) to run every four hours;
--   and cron(0 0 10 ? * SUN *) to run every Sunday at 10 a.m.</li>
--   <li><a>uaOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the results of this request. <tt>"{ "S3Location": {
--   "OutputS3Region": "<a>region</a>", "OutputS3BucketName": "bucket
--   name", "OutputS3KeyPrefix": "folder name" } }"</tt></li>
--   <li><a>uaParameters</a> - 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}}</li>
--   <li><a>uaDocumentVersion</a> - The document version you want update
--   for the association.</li>
--   <li><a>uaAssociationId</a> - The ID of the association you want to
--   update.</li>
--   </ul>
updateAssociation :: Text -> UpdateAssociation

-- | <i>See:</i> <a>updateAssociation</a> smart constructor.
data UpdateAssociation

-- | 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<i>30 * 1</i>1 * ? *) to run every thirty minutes; cron(0 0 0<i>4
--   1</i>1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN *) to
--   run every Sunday at 10 a.m.
uaScheduleExpression :: Lens' UpdateAssociation (Maybe Text)

-- | An Amazon S3 bucket where you want to store the results of this
--   request. <tt>"{ "S3Location": { "OutputS3Region": "<a>region</a>",
--   "OutputS3BucketName": "bucket name", "OutputS3KeyPrefix": "folder
--   name" } }"</tt>
uaOutputLocation :: Lens' UpdateAssociation (Maybe InstanceAssociationOutputLocation)

-- | 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}}
uaParameters :: Lens' UpdateAssociation (HashMap Text [Text])

-- | The document version you want update for the association.
uaDocumentVersion :: Lens' UpdateAssociation (Maybe Text)

-- | The ID of the association you want to update.
uaAssociationId :: Lens' UpdateAssociation Text

-- | Creates a value of <a>UpdateAssociationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uarsAssociationDescription</a> - The description of the
--   association that was updated.</li>
--   <li><a>uarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateAssociationResponse :: Int -> UpdateAssociationResponse

-- | <i>See:</i> <a>updateAssociationResponse</a> smart constructor.
data UpdateAssociationResponse

-- | The description of the association that was updated.
uarsAssociationDescription :: Lens' UpdateAssociationResponse (Maybe AssociationDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
uarsResponseStatus :: Lens' UpdateAssociationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse
instance Data.Data.Data Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse
instance GHC.Show.Show Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse
instance GHC.Read.Read Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse
instance GHC.Classes.Eq Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse
instance GHC.Generics.Generic Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Data.Data.Data Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance GHC.Show.Show Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance GHC.Read.Read Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance GHC.Classes.Eq Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.UpdateAssociation.UpdateAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse


-- | Updates the status of the SSM document associated with the specified
--   instance.
module Network.AWS.SSM.UpdateAssociationStatus

-- | Creates a value of <a>UpdateAssociationStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uasName</a> - The name of the SSM document.</li>
--   <li><a>uasInstanceId</a> - The ID of the instance.</li>
--   <li><a>uasAssociationStatus</a> - The association status.</li>
--   </ul>
updateAssociationStatus :: Text -> Text -> AssociationStatus -> UpdateAssociationStatus

-- | <i>See:</i> <a>updateAssociationStatus</a> smart constructor.
data UpdateAssociationStatus

-- | The name of the SSM document.
uasName :: Lens' UpdateAssociationStatus Text

-- | The ID of the instance.
uasInstanceId :: Lens' UpdateAssociationStatus Text

-- | The association status.
uasAssociationStatus :: Lens' UpdateAssociationStatus AssociationStatus

-- | Creates a value of <a>UpdateAssociationStatusResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uasrsAssociationDescription</a> - Information about the
--   association.</li>
--   <li><a>uasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateAssociationStatusResponse :: Int -> UpdateAssociationStatusResponse

-- | <i>See:</i> <a>updateAssociationStatusResponse</a> smart constructor.
data UpdateAssociationStatusResponse

-- | Information about the association.
uasrsAssociationDescription :: Lens' UpdateAssociationStatusResponse (Maybe AssociationDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
uasrsResponseStatus :: Lens' UpdateAssociationStatusResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse
instance Data.Data.Data Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse
instance GHC.Show.Show Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse
instance GHC.Read.Read Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse
instance GHC.Classes.Eq Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse
instance GHC.Generics.Generic Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Data.Data.Data Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance GHC.Show.Show Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance GHC.Read.Read Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance GHC.Classes.Eq Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Data.Hashable.Class.Hashable Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatus
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse


-- | The document you want to update.
module Network.AWS.SSM.UpdateDocument

-- | Creates a value of <a>UpdateDocument</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udDocumentVersion</a> - The version of the document that you
--   want to update.</li>
--   <li><a>udContent</a> - The content in a document that you want to
--   update.</li>
--   <li><a>udName</a> - The name of the document that you want to
--   update.</li>
--   </ul>
updateDocument :: Text -> Text -> UpdateDocument

-- | <i>See:</i> <a>updateDocument</a> smart constructor.
data UpdateDocument

-- | The version of the document that you want to update.
udDocumentVersion :: Lens' UpdateDocument (Maybe Text)

-- | The content in a document that you want to update.
udContent :: Lens' UpdateDocument Text

-- | The name of the document that you want to update.
udName :: Lens' UpdateDocument Text

-- | Creates a value of <a>UpdateDocumentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udrsDocumentDescription</a> - A description of the document
--   that was updated.</li>
--   <li><a>udrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateDocumentResponse :: Int -> UpdateDocumentResponse

-- | <i>See:</i> <a>updateDocumentResponse</a> smart constructor.
data UpdateDocumentResponse

-- | A description of the document that was updated.
udrsDocumentDescription :: Lens' UpdateDocumentResponse (Maybe DocumentDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
udrsResponseStatus :: Lens' UpdateDocumentResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse
instance Data.Data.Data Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse
instance GHC.Show.Show Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse
instance GHC.Read.Read Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse
instance GHC.Classes.Eq Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse
instance GHC.Generics.Generic Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Data.Data.Data Network.AWS.SSM.UpdateDocument.UpdateDocument
instance GHC.Show.Show Network.AWS.SSM.UpdateDocument.UpdateDocument
instance GHC.Read.Read Network.AWS.SSM.UpdateDocument.UpdateDocument
instance GHC.Classes.Eq Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Data.Hashable.Class.Hashable Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.UpdateDocument.UpdateDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse


-- | Set the default version of a document.
module Network.AWS.SSM.UpdateDocumentDefaultVersion

-- | Creates a value of <a>UpdateDocumentDefaultVersion</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uddvName</a> - The name of a custom document that you want to
--   set as the default version.</li>
--   <li><a>uddvDocumentVersion</a> - The version of a custom document that
--   you want to set as the default version.</li>
--   </ul>
updateDocumentDefaultVersion :: Text -> Text -> UpdateDocumentDefaultVersion

-- | <i>See:</i> <a>updateDocumentDefaultVersion</a> smart constructor.
data UpdateDocumentDefaultVersion

-- | The name of a custom document that you want to set as the default
--   version.
uddvName :: Lens' UpdateDocumentDefaultVersion Text

-- | The version of a custom document that you want to set as the default
--   version.
uddvDocumentVersion :: Lens' UpdateDocumentDefaultVersion Text

-- | Creates a value of <a>UpdateDocumentDefaultVersionResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uddvrsDescription</a> - The description of a custom document
--   that you want to set as the default version.</li>
--   <li><a>uddvrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateDocumentDefaultVersionResponse :: Int -> UpdateDocumentDefaultVersionResponse

-- | <i>See:</i> <a>updateDocumentDefaultVersionResponse</a> smart
--   constructor.
data UpdateDocumentDefaultVersionResponse

-- | The description of a custom document that you want to set as the
--   default version.
uddvrsDescription :: Lens' UpdateDocumentDefaultVersionResponse (Maybe DocumentDefaultVersionDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
uddvrsResponseStatus :: Lens' UpdateDocumentDefaultVersionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse
instance Data.Data.Data Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse
instance GHC.Show.Show Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse
instance GHC.Read.Read Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse
instance GHC.Classes.Eq Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse
instance GHC.Generics.Generic Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Data.Data.Data Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance GHC.Show.Show Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance GHC.Read.Read Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance GHC.Classes.Eq Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Data.Hashable.Class.Hashable Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersion
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse


-- | Updates an existing Maintenance Window. Only specified parameters are
--   modified.
module Network.AWS.SSM.UpdateMaintenanceWindow

-- | Creates a value of <a>UpdateMaintenanceWindow</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>umwEnabled</a> - Whether the Maintenance Window is
--   enabled.</li>
--   <li><a>umwSchedule</a> - The schedule of the Maintenance Window in the
--   form of a cron or rate expression.</li>
--   <li><a>umwName</a> - The name of the Maintenance Window.</li>
--   <li><a>umwCutoff</a> - The number of hours before the end of the
--   Maintenance Window that Systems Manager stops scheduling new tasks for
--   execution.</li>
--   <li><a>umwAllowUnassociatedTargets</a> - Whether targets must be
--   registered with the Maintenance Window before tasks can be defined for
--   those targets.</li>
--   <li><a>umwDuration</a> - The duration of the Maintenance Window in
--   hours.</li>
--   <li><a>umwWindowId</a> - The ID of the Maintenance Window to
--   update.</li>
--   </ul>
updateMaintenanceWindow :: Text -> UpdateMaintenanceWindow

-- | <i>See:</i> <a>updateMaintenanceWindow</a> smart constructor.
data UpdateMaintenanceWindow

-- | Whether the Maintenance Window is enabled.
umwEnabled :: Lens' UpdateMaintenanceWindow (Maybe Bool)

-- | The schedule of the Maintenance Window in the form of a cron or rate
--   expression.
umwSchedule :: Lens' UpdateMaintenanceWindow (Maybe Text)

-- | The name of the Maintenance Window.
umwName :: Lens' UpdateMaintenanceWindow (Maybe Text)

-- | The number of hours before the end of the Maintenance Window that
--   Systems Manager stops scheduling new tasks for execution.
umwCutoff :: Lens' UpdateMaintenanceWindow (Maybe Natural)

-- | Whether targets must be registered with the Maintenance Window before
--   tasks can be defined for those targets.
umwAllowUnassociatedTargets :: Lens' UpdateMaintenanceWindow (Maybe Bool)

-- | The duration of the Maintenance Window in hours.
umwDuration :: Lens' UpdateMaintenanceWindow (Maybe Natural)

-- | The ID of the Maintenance Window to update.
umwWindowId :: Lens' UpdateMaintenanceWindow Text

-- | Creates a value of <a>UpdateMaintenanceWindowResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>umwrsEnabled</a> - Whether the Maintenance Window is
--   enabled.</li>
--   <li><a>umwrsSchedule</a> - The schedule of the Maintenance Window in
--   the form of a cron or rate expression.</li>
--   <li><a>umwrsName</a> - The name of the Maintenance Window.</li>
--   <li><a>umwrsCutoff</a> - The number of hours before the end of the
--   Maintenance Window that Systems Manager stops scheduling new tasks for
--   execution.</li>
--   <li><a>umwrsAllowUnassociatedTargets</a> - Whether targets must be
--   registered with the Maintenance Window before tasks can be defined for
--   those targets.</li>
--   <li><a>umwrsDuration</a> - The duration of the Maintenance Window in
--   hours.</li>
--   <li><a>umwrsWindowId</a> - The ID of the created Maintenance
--   Window.</li>
--   <li><a>umwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateMaintenanceWindowResponse :: Int -> UpdateMaintenanceWindowResponse

-- | <i>See:</i> <a>updateMaintenanceWindowResponse</a> smart constructor.
data UpdateMaintenanceWindowResponse

-- | Whether the Maintenance Window is enabled.
umwrsEnabled :: Lens' UpdateMaintenanceWindowResponse (Maybe Bool)

-- | The schedule of the Maintenance Window in the form of a cron or rate
--   expression.
umwrsSchedule :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)

-- | The name of the Maintenance Window.
umwrsName :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)

-- | The number of hours before the end of the Maintenance Window that
--   Systems Manager stops scheduling new tasks for execution.
umwrsCutoff :: Lens' UpdateMaintenanceWindowResponse (Maybe Natural)

-- | Whether targets must be registered with the Maintenance Window before
--   tasks can be defined for those targets.
umwrsAllowUnassociatedTargets :: Lens' UpdateMaintenanceWindowResponse (Maybe Bool)

-- | The duration of the Maintenance Window in hours.
umwrsDuration :: Lens' UpdateMaintenanceWindowResponse (Maybe Natural)

-- | The ID of the created Maintenance Window.
umwrsWindowId :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
umwrsResponseStatus :: Lens' UpdateMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse


-- | Assigns or changes an Amazon Identity and Access Management (IAM) role
--   to the managed instance.
module Network.AWS.SSM.UpdateManagedInstanceRole

-- | Creates a value of <a>UpdateManagedInstanceRole</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>umirInstanceId</a> - The ID of the managed instance where you
--   want to update the role.</li>
--   <li><a>umirIAMRole</a> - The IAM role you want to assign or
--   change.</li>
--   </ul>
updateManagedInstanceRole :: Text -> Text -> UpdateManagedInstanceRole

-- | <i>See:</i> <a>updateManagedInstanceRole</a> smart constructor.
data UpdateManagedInstanceRole

-- | The ID of the managed instance where you want to update the role.
umirInstanceId :: Lens' UpdateManagedInstanceRole Text

-- | The IAM role you want to assign or change.
umirIAMRole :: Lens' UpdateManagedInstanceRole Text

-- | Creates a value of <a>UpdateManagedInstanceRoleResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>umirrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateManagedInstanceRoleResponse :: Int -> UpdateManagedInstanceRoleResponse

-- | <i>See:</i> <a>updateManagedInstanceRoleResponse</a> smart
--   constructor.
data UpdateManagedInstanceRoleResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
umirrsResponseStatus :: Lens' UpdateManagedInstanceRoleResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse
instance Data.Data.Data Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse
instance GHC.Show.Show Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse
instance GHC.Read.Read Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse
instance GHC.Classes.Eq Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse
instance GHC.Generics.Generic Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Data.Data.Data Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance GHC.Show.Show Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance GHC.Read.Read Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance GHC.Classes.Eq Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Data.Hashable.Class.Hashable Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRole
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse


module Network.AWS.SSM.Waiters


-- | Stop an Automation that is currently executing.
module Network.AWS.SSM.StopAutomationExecution

-- | Creates a value of <a>StopAutomationExecution</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>saeAutomationExecutionId</a> - The execution ID of the
--   Automation to stop.</li>
--   </ul>
stopAutomationExecution :: Text -> StopAutomationExecution

-- | <i>See:</i> <a>stopAutomationExecution</a> smart constructor.
data StopAutomationExecution

-- | The execution ID of the Automation to stop.
saeAutomationExecutionId :: Lens' StopAutomationExecution Text

-- | Creates a value of <a>StopAutomationExecutionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>saersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopAutomationExecutionResponse :: Int -> StopAutomationExecutionResponse

-- | <i>See:</i> <a>stopAutomationExecutionResponse</a> smart constructor.
data StopAutomationExecutionResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
saersResponseStatus :: Lens' StopAutomationExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse
instance Data.Data.Data Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse
instance GHC.Show.Show Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse
instance GHC.Read.Read Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse
instance GHC.Classes.Eq Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse
instance GHC.Generics.Generic Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Data.Data.Data Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance GHC.Show.Show Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance GHC.Read.Read Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance GHC.Classes.Eq Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Data.Hashable.Class.Hashable Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.StopAutomationExecution.StopAutomationExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse


-- | Initiates execution of an Automation document.
module Network.AWS.SSM.StartAutomationExecution

-- | Creates a value of <a>StartAutomationExecution</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>saeParameters</a> - A key-value map of execution parameters,
--   which match the declared parameters in the Automation document.</li>
--   <li><a>saeDocumentVersion</a> - The version of the Automation document
--   to use for this execution.</li>
--   <li><a>saeDocumentName</a> - The name of the Automation document to
--   use for this execution.</li>
--   </ul>
startAutomationExecution :: Text -> StartAutomationExecution

-- | <i>See:</i> <a>startAutomationExecution</a> smart constructor.
data StartAutomationExecution

-- | A key-value map of execution parameters, which match the declared
--   parameters in the Automation document.
saeParameters :: Lens' StartAutomationExecution (HashMap Text [Text])

-- | The version of the Automation document to use for this execution.
saeDocumentVersion :: Lens' StartAutomationExecution (Maybe Text)

-- | The name of the Automation document to use for this execution.
saeDocumentName :: Lens' StartAutomationExecution Text

-- | Creates a value of <a>StartAutomationExecutionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsAutomationExecutionId</a> - The unique ID of a newly
--   scheduled automation execution.</li>
--   <li><a>srsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startAutomationExecutionResponse :: Int -> StartAutomationExecutionResponse

-- | <i>See:</i> <a>startAutomationExecutionResponse</a> smart constructor.
data StartAutomationExecutionResponse

-- | The unique ID of a newly scheduled automation execution.
srsAutomationExecutionId :: Lens' StartAutomationExecutionResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
srsResponseStatus :: Lens' StartAutomationExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse
instance Data.Data.Data Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse
instance GHC.Show.Show Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse
instance GHC.Read.Read Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse
instance GHC.Classes.Eq Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse
instance GHC.Generics.Generic Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Data.Data.Data Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance GHC.Show.Show Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance GHC.Read.Read Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance GHC.Classes.Eq Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Data.Hashable.Class.Hashable Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.StartAutomationExecution.StartAutomationExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse


-- | Executes commands on one or more remote instances.
module Network.AWS.SSM.SendCommand

-- | Creates a value of <a>SendCommand</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scServiceRoleARN</a> - The IAM role that Systems Manager uses
--   to send notifications.</li>
--   <li><a>scNotificationConfig</a> - Configurations for sending
--   notifications.</li>
--   <li><a>scDocumentHashType</a> - Sha256 or Sha1.</li>
--   <li><a>scOutputS3KeyPrefix</a> - The directory structure within the S3
--   bucket where the responses should be stored.</li>
--   <li><a>scMaxErrors</a> - The maximum number of errors allowed without
--   the command failing. When the command fails one more time beyond the
--   value of <tt>MaxErrors</tt> , 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 <tt>MaxErrors</tt> , see <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Windows).</li>
--   <li><a>scInstanceIds</a> - Required. The instance IDs where the
--   command should execute. You can specify a maximum of 50 IDs.</li>
--   <li><a>scOutputS3Region</a> - (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.</li>
--   <li><a>scTargets</a> - (Optional) An array of search criteria that
--   targets instances using a <tt>Key</tt> ;<tt>Value</tt> combination
--   that you specify. <tt>Targets</tt> is required if you don't provide
--   one or more instance IDs in the call. For more information about how
--   to use <tt>Targets</tt> , see <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Windows).</li>
--   <li><a>scParameters</a> - The required and optional parameters
--   specified in the SSM document being executed.</li>
--   <li><a>scDocumentHash</a> - The Sha256 or Sha1 hash created by the
--   system when the document was created.</li>
--   <li><a>scTimeoutSeconds</a> - If this time is reached and the command
--   has not already started executing, it will not execute.</li>
--   <li><a>scComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>scOutputS3BucketName</a> - The name of the S3 bucket where
--   command execution responses should be stored.</li>
--   <li><a>scMaxConcurrency</a> - (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
--   <tt>MaxConcurrency</tt> , see <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Windows).</li>
--   <li><a>scDocumentName</a> - Required. The name of the SSM document to
--   execute. This can be an SSM public document or a custom document.</li>
--   </ul>
sendCommand :: Text -> SendCommand

-- | <i>See:</i> <a>sendCommand</a> smart constructor.
data SendCommand

-- | The IAM role that Systems Manager uses to send notifications.
scServiceRoleARN :: Lens' SendCommand (Maybe Text)

-- | Configurations for sending notifications.
scNotificationConfig :: Lens' SendCommand (Maybe NotificationConfig)

-- | Sha256 or Sha1.
scDocumentHashType :: Lens' SendCommand (Maybe DocumentHashType)

-- | The directory structure within the S3 bucket where the responses
--   should be stored.
scOutputS3KeyPrefix :: Lens' SendCommand (Maybe Text)

-- | The maximum number of errors allowed without the command failing. When
--   the command fails one more time beyond the value of <tt>MaxErrors</tt>
--   , 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 <tt>MaxErrors</tt>
--   , see <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux)
--   or <a>Executing a Command Using Amazon EC2 Run Command</a> (Windows).
scMaxErrors :: Lens' SendCommand (Maybe Text)

-- | Required. The instance IDs where the command should execute. You can
--   specify a maximum of 50 IDs.
scInstanceIds :: Lens' SendCommand [Text]

-- | (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.
scOutputS3Region :: Lens' SendCommand (Maybe Text)

-- | (Optional) An array of search criteria that targets instances using a
--   <tt>Key</tt> ;<tt>Value</tt> combination that you specify.
--   <tt>Targets</tt> is required if you don't provide one or more instance
--   IDs in the call. For more information about how to use
--   <tt>Targets</tt> , see <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Linux) or <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Windows).
scTargets :: Lens' SendCommand [Target]

-- | The required and optional parameters specified in the SSM document
--   being executed.
scParameters :: Lens' SendCommand (HashMap Text [Text])

-- | The Sha256 or Sha1 hash created by the system when the document was
--   created.
scDocumentHash :: Lens' SendCommand (Maybe Text)

-- | If this time is reached and the command has not already started
--   executing, it will not execute.
scTimeoutSeconds :: Lens' SendCommand (Maybe Natural)

-- | User-specified information about the command, such as a brief
--   description of what the command should do.
scComment :: Lens' SendCommand (Maybe Text)

-- | The name of the S3 bucket where command execution responses should be
--   stored.
scOutputS3BucketName :: Lens' SendCommand (Maybe Text)

-- | (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 <tt>MaxConcurrency</tt> , see
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Windows).
scMaxConcurrency :: Lens' SendCommand (Maybe Text)

-- | Required. The name of the SSM document to execute. This can be an SSM
--   public document or a custom document.
scDocumentName :: Lens' SendCommand Text

-- | Creates a value of <a>SendCommandResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scrsCommand</a> - The request as it was received by Systems
--   Manager. Also provides the command ID which can be used future
--   references to this request.</li>
--   <li><a>scrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
sendCommandResponse :: Int -> SendCommandResponse

-- | <i>See:</i> <a>sendCommandResponse</a> smart constructor.
data SendCommandResponse

-- | The request as it was received by Systems Manager. Also provides the
--   command ID which can be used future references to this request.
scrsCommand :: Lens' SendCommandResponse (Maybe Command)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
scrsResponseStatus :: Lens' SendCommandResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.SendCommand.SendCommandResponse
instance Data.Data.Data Network.AWS.SSM.SendCommand.SendCommandResponse
instance GHC.Show.Show Network.AWS.SSM.SendCommand.SendCommandResponse
instance GHC.Read.Read Network.AWS.SSM.SendCommand.SendCommandResponse
instance GHC.Classes.Eq Network.AWS.SSM.SendCommand.SendCommandResponse
instance GHC.Generics.Generic Network.AWS.SSM.SendCommand.SendCommand
instance Data.Data.Data Network.AWS.SSM.SendCommand.SendCommand
instance GHC.Show.Show Network.AWS.SSM.SendCommand.SendCommand
instance GHC.Read.Read Network.AWS.SSM.SendCommand.SendCommand
instance GHC.Classes.Eq Network.AWS.SSM.SendCommand.SendCommand
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.SendCommand.SendCommand
instance Data.Hashable.Class.Hashable Network.AWS.SSM.SendCommand.SendCommand
instance Control.DeepSeq.NFData Network.AWS.SSM.SendCommand.SendCommand
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.SendCommand.SendCommand
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.SendCommand.SendCommand
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.SendCommand.SendCommand
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.SendCommand.SendCommand
instance Control.DeepSeq.NFData Network.AWS.SSM.SendCommand.SendCommandResponse


-- | Removes all tags from the specified resource.
module Network.AWS.SSM.RemoveTagsFromResource

-- | Creates a value of <a>RemoveTagsFromResource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtfrResourceType</a> - The type of resource of which you want
--   to remove a tag.</li>
--   <li><a>rtfrResourceId</a> - The resource ID for which you want to
--   remove tags.</li>
--   <li><a>rtfrTagKeys</a> - Tag keys that you want to remove from the
--   specified resource.</li>
--   </ul>
removeTagsFromResource :: ResourceTypeForTagging -> Text -> RemoveTagsFromResource

-- | <i>See:</i> <a>removeTagsFromResource</a> smart constructor.
data RemoveTagsFromResource

-- | The type of resource of which you want to remove a tag.
rtfrResourceType :: Lens' RemoveTagsFromResource ResourceTypeForTagging

-- | The resource ID for which you want to remove tags.
rtfrResourceId :: Lens' RemoveTagsFromResource Text

-- | Tag keys that you want to remove from the specified resource.
rtfrTagKeys :: Lens' RemoveTagsFromResource [Text]

-- | Creates a value of <a>RemoveTagsFromResourceResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtfrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
removeTagsFromResourceResponse :: Int -> RemoveTagsFromResourceResponse

-- | <i>See:</i> <a>removeTagsFromResourceResponse</a> smart constructor.
data RemoveTagsFromResourceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rtfrrsResponseStatus :: Lens' RemoveTagsFromResourceResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Data.Data Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Show.Show Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Read.Read Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Classes.Eq Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Generics.Generic Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Data.Data Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Show.Show Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Read.Read Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Classes.Eq Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Hashable.Class.Hashable Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse


-- | Adds a new task to a Maintenance Window.
module Network.AWS.SSM.RegisterTaskWithMaintenanceWindow

-- | Creates a value of <a>RegisterTaskWithMaintenanceWindow</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtwmwTaskParameters</a> - The parameters that should be passed
--   to the task when it is executed.</li>
--   <li><a>rtwmwPriority</a> - 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.</li>
--   <li><a>rtwmwClientToken</a> - User-provided idempotency token.</li>
--   <li><a>rtwmwLoggingInfo</a> - A structure containing information about
--   an Amazon S3 bucket to write instance-level logs to.</li>
--   <li><a>rtwmwWindowId</a> - The id of the Maintenance Window the task
--   should be added to.</li>
--   <li><a>rtwmwTargets</a> - The targets (either instances or tags).
--   Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   <li><a>rtwmwTaskARN</a> - The ARN of the task to execute</li>
--   <li><a>rtwmwServiceRoleARN</a> - The role that should be assumed when
--   executing the task.</li>
--   <li><a>rtwmwTaskType</a> - The type of task being registered.</li>
--   <li><a>rtwmwMaxConcurrency</a> - The maximum number of targets this
--   task can be run for in parallel.</li>
--   <li><a>rtwmwMaxErrors</a> - The maximum number of errors allowed
--   before this task stops being scheduled.</li>
--   </ul>
registerTaskWithMaintenanceWindow :: Text -> Text -> Text -> MaintenanceWindowTaskType -> Text -> Text -> RegisterTaskWithMaintenanceWindow

-- | <i>See:</i> <a>registerTaskWithMaintenanceWindow</a> smart
--   constructor.
data RegisterTaskWithMaintenanceWindow

-- | The parameters that should be passed to the task when it is executed.
rtwmwTaskParameters :: Lens' RegisterTaskWithMaintenanceWindow (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))

-- | 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.
rtwmwPriority :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Natural)

-- | User-provided idempotency token.
rtwmwClientToken :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Text)

-- | A structure containing information about an Amazon S3 bucket to write
--   instance-level logs to.
rtwmwLoggingInfo :: Lens' RegisterTaskWithMaintenanceWindow (Maybe LoggingInfo)

-- | The id of the Maintenance Window the task should be added to.
rtwmwWindowId :: Lens' RegisterTaskWithMaintenanceWindow Text

-- | The targets (either instances or tags). Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
rtwmwTargets :: Lens' RegisterTaskWithMaintenanceWindow [Target]

-- | The ARN of the task to execute
rtwmwTaskARN :: Lens' RegisterTaskWithMaintenanceWindow Text

-- | The role that should be assumed when executing the task.
rtwmwServiceRoleARN :: Lens' RegisterTaskWithMaintenanceWindow Text

-- | The type of task being registered.
rtwmwTaskType :: Lens' RegisterTaskWithMaintenanceWindow MaintenanceWindowTaskType

-- | The maximum number of targets this task can be run for in parallel.
rtwmwMaxConcurrency :: Lens' RegisterTaskWithMaintenanceWindow Text

-- | The maximum number of errors allowed before this task stops being
--   scheduled.
rtwmwMaxErrors :: Lens' RegisterTaskWithMaintenanceWindow Text

-- | Creates a value of <a>RegisterTaskWithMaintenanceWindowResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtwmwrsWindowTaskId</a> - The id of the task in the Maintenance
--   Window.</li>
--   <li><a>rtwmwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
registerTaskWithMaintenanceWindowResponse :: Int -> RegisterTaskWithMaintenanceWindowResponse

-- | <i>See:</i> <a>registerTaskWithMaintenanceWindowResponse</a> smart
--   constructor.
data RegisterTaskWithMaintenanceWindowResponse

-- | The id of the task in the Maintenance Window.
rtwmwrsWindowTaskId :: Lens' RegisterTaskWithMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rtwmwrsResponseStatus :: Lens' RegisterTaskWithMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse


-- | Registers a target with a Maintenance Window.
module Network.AWS.SSM.RegisterTargetWithMaintenanceWindow

-- | Creates a value of <a>RegisterTargetWithMaintenanceWindow</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rClientToken</a> - User-provided idempotency token.</li>
--   <li><a>rOwnerInformation</a> - User-provided value that will be
--   included in any CloudWatch events raised while running tasks for these
--   targets in this Maintenance Window.</li>
--   <li><a>rWindowId</a> - The ID of the Maintenance Window the target
--   should be registered with.</li>
--   <li><a>rResourceType</a> - The type of target being registered with
--   the Maintenance Window.</li>
--   <li><a>rTargets</a> - The targets (either instances or tags).
--   Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   </ul>
registerTargetWithMaintenanceWindow :: Text -> MaintenanceWindowResourceType -> RegisterTargetWithMaintenanceWindow

-- | <i>See:</i> <a>registerTargetWithMaintenanceWindow</a> smart
--   constructor.
data RegisterTargetWithMaintenanceWindow

-- | User-provided idempotency token.
rClientToken :: Lens' RegisterTargetWithMaintenanceWindow (Maybe Text)

-- | User-provided value that will be included in any CloudWatch events
--   raised while running tasks for these targets in this Maintenance
--   Window.
rOwnerInformation :: Lens' RegisterTargetWithMaintenanceWindow (Maybe Text)

-- | The ID of the Maintenance Window the target should be registered with.
rWindowId :: Lens' RegisterTargetWithMaintenanceWindow Text

-- | The type of target being registered with the Maintenance Window.
rResourceType :: Lens' RegisterTargetWithMaintenanceWindow MaintenanceWindowResourceType

-- | The targets (either instances or tags). Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
rTargets :: Lens' RegisterTargetWithMaintenanceWindow [Target]

-- | Creates a value of <a>RegisterTargetWithMaintenanceWindowResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrsWindowTargetId</a> - The ID of the target definition in this
--   Maintenance Window.</li>
--   <li><a>rrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
registerTargetWithMaintenanceWindowResponse :: Int -> RegisterTargetWithMaintenanceWindowResponse

-- | <i>See:</i> <a>registerTargetWithMaintenanceWindowResponse</a> smart
--   constructor.
data RegisterTargetWithMaintenanceWindowResponse

-- | The ID of the target definition in this Maintenance Window.
rrsWindowTargetId :: Lens' RegisterTargetWithMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rrsResponseStatus :: Lens' RegisterTargetWithMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse


-- | Add one or more paramaters to the system.
module Network.AWS.SSM.PutParameter

-- | Creates a value of <a>PutParameter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppKeyId</a> - The parameter key ID that you want to add to the
--   system.</li>
--   <li><a>ppOverwrite</a> - Overwrite an existing parameter.</li>
--   <li><a>ppDescription</a> - Information about the parameter that you
--   want to add to the system</li>
--   <li><a>ppName</a> - The name of the parameter that you want to add to
--   the system.</li>
--   <li><a>ppValue</a> - The parameter value that you want to add to the
--   system.</li>
--   <li><a>ppType</a> - The type of parameter that you want to add to the
--   system.</li>
--   </ul>
putParameter :: Text -> Text -> ParameterType -> PutParameter

-- | <i>See:</i> <a>putParameter</a> smart constructor.
data PutParameter

-- | The parameter key ID that you want to add to the system.
ppKeyId :: Lens' PutParameter (Maybe Text)

-- | Overwrite an existing parameter.
ppOverwrite :: Lens' PutParameter (Maybe Bool)

-- | Information about the parameter that you want to add to the system
ppDescription :: Lens' PutParameter (Maybe Text)

-- | The name of the parameter that you want to add to the system.
ppName :: Lens' PutParameter Text

-- | The parameter value that you want to add to the system.
ppValue :: Lens' PutParameter Text

-- | The type of parameter that you want to add to the system.
ppType :: Lens' PutParameter ParameterType

-- | Creates a value of <a>PutParameterResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putParameterResponse :: Int -> PutParameterResponse

-- | <i>See:</i> <a>putParameterResponse</a> smart constructor.
data PutParameterResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
pprsResponseStatus :: Lens' PutParameterResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.PutParameter.PutParameterResponse
instance Data.Data.Data Network.AWS.SSM.PutParameter.PutParameterResponse
instance GHC.Show.Show Network.AWS.SSM.PutParameter.PutParameterResponse
instance GHC.Read.Read Network.AWS.SSM.PutParameter.PutParameterResponse
instance GHC.Classes.Eq Network.AWS.SSM.PutParameter.PutParameterResponse
instance GHC.Generics.Generic Network.AWS.SSM.PutParameter.PutParameter
instance Data.Data.Data Network.AWS.SSM.PutParameter.PutParameter
instance GHC.Show.Show Network.AWS.SSM.PutParameter.PutParameter
instance GHC.Read.Read Network.AWS.SSM.PutParameter.PutParameter
instance GHC.Classes.Eq Network.AWS.SSM.PutParameter.PutParameter
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.PutParameter.PutParameter
instance Data.Hashable.Class.Hashable Network.AWS.SSM.PutParameter.PutParameter
instance Control.DeepSeq.NFData Network.AWS.SSM.PutParameter.PutParameter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.PutParameter.PutParameter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.PutParameter.PutParameter
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.PutParameter.PutParameter
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.PutParameter.PutParameter
instance Control.DeepSeq.NFData Network.AWS.SSM.PutParameter.PutParameterResponse


-- | 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.
module Network.AWS.SSM.PutInventory

-- | Creates a value of <a>PutInventory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piInstanceId</a> - One or more instance IDs where you want to
--   add or update inventory items.</li>
--   <li><a>piItems</a> - The inventory items that you want to add or
--   update on instances.</li>
--   </ul>
putInventory :: Text -> NonEmpty InventoryItem -> PutInventory

-- | <i>See:</i> <a>putInventory</a> smart constructor.
data PutInventory

-- | One or more instance IDs where you want to add or update inventory
--   items.
piInstanceId :: Lens' PutInventory Text

-- | The inventory items that you want to add or update on instances.
piItems :: Lens' PutInventory (NonEmpty InventoryItem)

-- | Creates a value of <a>PutInventoryResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putInventoryResponse :: Int -> PutInventoryResponse

-- | <i>See:</i> <a>putInventoryResponse</a> smart constructor.
data PutInventoryResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
pirsResponseStatus :: Lens' PutInventoryResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.PutInventory.PutInventoryResponse
instance Data.Data.Data Network.AWS.SSM.PutInventory.PutInventoryResponse
instance GHC.Show.Show Network.AWS.SSM.PutInventory.PutInventoryResponse
instance GHC.Read.Read Network.AWS.SSM.PutInventory.PutInventoryResponse
instance GHC.Classes.Eq Network.AWS.SSM.PutInventory.PutInventoryResponse
instance GHC.Generics.Generic Network.AWS.SSM.PutInventory.PutInventory
instance Data.Data.Data Network.AWS.SSM.PutInventory.PutInventory
instance GHC.Show.Show Network.AWS.SSM.PutInventory.PutInventory
instance GHC.Read.Read Network.AWS.SSM.PutInventory.PutInventory
instance GHC.Classes.Eq Network.AWS.SSM.PutInventory.PutInventory
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.PutInventory.PutInventory
instance Data.Hashable.Class.Hashable Network.AWS.SSM.PutInventory.PutInventory
instance Control.DeepSeq.NFData Network.AWS.SSM.PutInventory.PutInventory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.PutInventory.PutInventory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.PutInventory.PutInventory
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.PutInventory.PutInventory
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.PutInventory.PutInventory
instance Control.DeepSeq.NFData Network.AWS.SSM.PutInventory.PutInventoryResponse


-- | 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.
module Network.AWS.SSM.ModifyDocumentPermission

-- | Creates a value of <a>ModifyDocumentPermission</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdpAccountIdsToAdd</a> - 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> .</li>
--   <li><a>mdpAccountIdsToRemove</a> - 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.</li>
--   <li><a>mdpName</a> - The name of the document that you want to
--   share.</li>
--   <li><a>mdpPermissionType</a> - The permission type for the document.
--   The permission type can be <i>Share</i> .</li>
--   </ul>
modifyDocumentPermission :: Text -> DocumentPermissionType -> ModifyDocumentPermission

-- | <i>See:</i> <a>modifyDocumentPermission</a> smart constructor.
data ModifyDocumentPermission

-- | 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> .
mdpAccountIdsToAdd :: Lens' ModifyDocumentPermission [Text]

-- | 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.
mdpAccountIdsToRemove :: Lens' ModifyDocumentPermission [Text]

-- | The name of the document that you want to share.
mdpName :: Lens' ModifyDocumentPermission Text

-- | The permission type for the document. The permission type can be
--   <i>Share</i> .
mdpPermissionType :: Lens' ModifyDocumentPermission DocumentPermissionType

-- | Creates a value of <a>ModifyDocumentPermissionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDocumentPermissionResponse :: Int -> ModifyDocumentPermissionResponse

-- | <i>See:</i> <a>modifyDocumentPermissionResponse</a> smart constructor.
data ModifyDocumentPermissionResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdprsResponseStatus :: Lens' ModifyDocumentPermissionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse
instance Data.Data.Data Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse
instance GHC.Show.Show Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse
instance GHC.Read.Read Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse
instance GHC.Classes.Eq Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse
instance GHC.Generics.Generic Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Data.Data.Data Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance GHC.Show.Show Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance GHC.Read.Read Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance GHC.Classes.Eq Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Control.DeepSeq.NFData Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermission
instance Control.DeepSeq.NFData Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse


-- | Returns a list of the tags assigned to the specified resource.
module Network.AWS.SSM.ListTagsForResource

-- | Creates a value of <a>ListTagsForResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfrResourceType</a> - Returns a list of tags for a specific
--   resource type.</li>
--   <li><a>ltfrResourceId</a> - The resource ID for which you want to see
--   a list of tags.</li>
--   </ul>
listTagsForResource :: ResourceTypeForTagging -> Text -> ListTagsForResource

-- | <i>See:</i> <a>listTagsForResource</a> smart constructor.
data ListTagsForResource

-- | Returns a list of tags for a specific resource type.
ltfrResourceType :: Lens' ListTagsForResource ResourceTypeForTagging

-- | The resource ID for which you want to see a list of tags.
ltfrResourceId :: Lens' ListTagsForResource Text

-- | Creates a value of <a>ListTagsForResourceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfrrsTagList</a> - A list of tags.</li>
--   <li><a>ltfrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTagsForResourceResponse :: Int -> ListTagsForResourceResponse

-- | <i>See:</i> <a>listTagsForResourceResponse</a> smart constructor.
data ListTagsForResourceResponse

-- | A list of tags.
ltfrrsTagList :: Lens' ListTagsForResourceResponse [Tag]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse
instance Data.Data.Data Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Show.Show Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Read.Read Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Data.Data.Data Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance GHC.Show.Show Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance GHC.Read.Read Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance GHC.Classes.Eq Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse


-- | A list of inventory items returned by the request.
module Network.AWS.SSM.ListInventoryEntries

-- | Creates a value of <a>ListInventoryEntries</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lieFilters</a> - One or more filters. Use a filter to return a
--   more specific list of results.</li>
--   <li><a>lieNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>lieMaxResults</a> - 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.</li>
--   <li><a>lieInstanceId</a> - The instance ID for which you want
--   inventory information.</li>
--   <li><a>lieTypeName</a> - The type of inventory item for which you want
--   information.</li>
--   </ul>
listInventoryEntries :: Text -> Text -> ListInventoryEntries

-- | <i>See:</i> <a>listInventoryEntries</a> smart constructor.
data ListInventoryEntries

-- | One or more filters. Use a filter to return a more specific list of
--   results.
lieFilters :: Lens' ListInventoryEntries (Maybe (NonEmpty InventoryFilter))

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
lieNextToken :: Lens' ListInventoryEntries (Maybe Text)

-- | 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.
lieMaxResults :: Lens' ListInventoryEntries (Maybe Natural)

-- | The instance ID for which you want inventory information.
lieInstanceId :: Lens' ListInventoryEntries Text

-- | The type of inventory item for which you want information.
lieTypeName :: Lens' ListInventoryEntries Text

-- | Creates a value of <a>ListInventoryEntriesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>liersInstanceId</a> - The instance ID targeted by the request
--   to query inventory information.</li>
--   <li><a>liersTypeName</a> - The type of inventory item returned by the
--   request.</li>
--   <li><a>liersEntries</a> - A list of inventory items on the
--   instance(s).</li>
--   <li><a>liersSchemaVersion</a> - The inventory schema version used by
--   the instance(s).</li>
--   <li><a>liersCaptureTime</a> - The time that inventory information was
--   collected for the instance(s).</li>
--   <li><a>liersNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>liersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listInventoryEntriesResponse :: Int -> ListInventoryEntriesResponse

-- | <i>See:</i> <a>listInventoryEntriesResponse</a> smart constructor.
data ListInventoryEntriesResponse

-- | The instance ID targeted by the request to query inventory
--   information.
liersInstanceId :: Lens' ListInventoryEntriesResponse (Maybe Text)

-- | The type of inventory item returned by the request.
liersTypeName :: Lens' ListInventoryEntriesResponse (Maybe Text)

-- | A list of inventory items on the instance(s).
liersEntries :: Lens' ListInventoryEntriesResponse [HashMap Text Text]

-- | The inventory schema version used by the instance(s).
liersSchemaVersion :: Lens' ListInventoryEntriesResponse (Maybe Text)

-- | The time that inventory information was collected for the instance(s).
liersCaptureTime :: Lens' ListInventoryEntriesResponse (Maybe Text)

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
liersNextToken :: Lens' ListInventoryEntriesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
liersResponseStatus :: Lens' ListInventoryEntriesResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse
instance Data.Data.Data Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse
instance GHC.Show.Show Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse
instance GHC.Read.Read Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Data.Data.Data Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance GHC.Show.Show Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance GHC.Read.Read Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance GHC.Classes.Eq Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Control.DeepSeq.NFData Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListInventoryEntries.ListInventoryEntries
instance Control.DeepSeq.NFData Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse


-- | Describes one or more of your SSM documents.
--   
--   This operation returns paginated results.
module Network.AWS.SSM.ListDocuments

-- | Creates a value of <a>ListDocuments</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldDocumentFilterList</a> - One or more filters. Use a filter to
--   return a more specific list of results.</li>
--   <li><a>ldNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>ldMaxResults</a> - 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.</li>
--   </ul>
listDocuments :: ListDocuments

-- | <i>See:</i> <a>listDocuments</a> smart constructor.
data ListDocuments

-- | One or more filters. Use a filter to return a more specific list of
--   results.
ldDocumentFilterList :: Lens' ListDocuments (Maybe (NonEmpty DocumentFilter))

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
ldNextToken :: Lens' ListDocuments (Maybe Text)

-- | 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.
ldMaxResults :: Lens' ListDocuments (Maybe Natural)

-- | Creates a value of <a>ListDocumentsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrsDocumentIdentifiers</a> - The names of the SSM
--   documents.</li>
--   <li><a>ldrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>ldrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDocumentsResponse :: Int -> ListDocumentsResponse

-- | <i>See:</i> <a>listDocumentsResponse</a> smart constructor.
data ListDocumentsResponse

-- | The names of the SSM documents.
ldrsDocumentIdentifiers :: Lens' ListDocumentsResponse [DocumentIdentifier]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
ldrsNextToken :: Lens' ListDocumentsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldrsResponseStatus :: Lens' ListDocumentsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListDocuments.ListDocumentsResponse
instance Data.Data.Data Network.AWS.SSM.ListDocuments.ListDocumentsResponse
instance GHC.Show.Show Network.AWS.SSM.ListDocuments.ListDocumentsResponse
instance GHC.Read.Read Network.AWS.SSM.ListDocuments.ListDocumentsResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListDocuments.ListDocumentsResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListDocuments.ListDocuments
instance Data.Data.Data Network.AWS.SSM.ListDocuments.ListDocuments
instance GHC.Show.Show Network.AWS.SSM.ListDocuments.ListDocuments
instance GHC.Read.Read Network.AWS.SSM.ListDocuments.ListDocuments
instance GHC.Classes.Eq Network.AWS.SSM.ListDocuments.ListDocuments
instance Network.AWS.Pager.AWSPager Network.AWS.SSM.ListDocuments.ListDocuments
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListDocuments.ListDocuments
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListDocuments.ListDocuments
instance Control.DeepSeq.NFData Network.AWS.SSM.ListDocuments.ListDocuments
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListDocuments.ListDocuments
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListDocuments.ListDocuments
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListDocuments.ListDocuments
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListDocuments.ListDocuments
instance Control.DeepSeq.NFData Network.AWS.SSM.ListDocuments.ListDocumentsResponse


-- | List all versions for a document.
module Network.AWS.SSM.ListDocumentVersions

-- | Creates a value of <a>ListDocumentVersions</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldvNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>ldvMaxResults</a> - 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.</li>
--   <li><a>ldvName</a> - The name of the document about which you want
--   version information.</li>
--   </ul>
listDocumentVersions :: Text -> ListDocumentVersions

-- | <i>See:</i> <a>listDocumentVersions</a> smart constructor.
data ListDocumentVersions

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
ldvNextToken :: Lens' ListDocumentVersions (Maybe Text)

-- | 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.
ldvMaxResults :: Lens' ListDocumentVersions (Maybe Natural)

-- | The name of the document about which you want version information.
ldvName :: Lens' ListDocumentVersions Text

-- | Creates a value of <a>ListDocumentVersionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldvrsDocumentVersions</a> - The document versions.</li>
--   <li><a>ldvrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>ldvrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDocumentVersionsResponse :: Int -> ListDocumentVersionsResponse

-- | <i>See:</i> <a>listDocumentVersionsResponse</a> smart constructor.
data ListDocumentVersionsResponse

-- | The document versions.
ldvrsDocumentVersions :: Lens' ListDocumentVersionsResponse (Maybe (NonEmpty DocumentVersionInfo))

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
ldvrsNextToken :: Lens' ListDocumentVersionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldvrsResponseStatus :: Lens' ListDocumentVersionsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse
instance Data.Data.Data Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse
instance GHC.Show.Show Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse
instance GHC.Read.Read Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Data.Data.Data Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance GHC.Show.Show Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance GHC.Read.Read Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance GHC.Classes.Eq Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Control.DeepSeq.NFData Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListDocumentVersions.ListDocumentVersions
instance Control.DeepSeq.NFData Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse


-- | Lists the commands requested by users of the AWS account.
--   
--   This operation returns paginated results.
module Network.AWS.SSM.ListCommands

-- | Creates a value of <a>ListCommands</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcInstanceId</a> - (Optional) Lists commands issued against
--   this instance ID.</li>
--   <li><a>lcFilters</a> - (Optional) One or more filters. Use a filter to
--   return a more specific list of results.</li>
--   <li><a>lcNextToken</a> - (Optional) The token for the next set of
--   items to return. (You received this token from a previous call.)</li>
--   <li><a>lcCommandId</a> - (Optional) If provided, lists only the
--   specified command.</li>
--   <li><a>lcMaxResults</a> - (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.</li>
--   </ul>
listCommands :: ListCommands

-- | <i>See:</i> <a>listCommands</a> smart constructor.
data ListCommands

-- | (Optional) Lists commands issued against this instance ID.
lcInstanceId :: Lens' ListCommands (Maybe Text)

-- | (Optional) One or more filters. Use a filter to return a more specific
--   list of results.
lcFilters :: Lens' ListCommands (Maybe (NonEmpty CommandFilter))

-- | (Optional) The token for the next set of items to return. (You
--   received this token from a previous call.)
lcNextToken :: Lens' ListCommands (Maybe Text)

-- | (Optional) If provided, lists only the specified command.
lcCommandId :: Lens' ListCommands (Maybe Text)

-- | (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.
lcMaxResults :: Lens' ListCommands (Maybe Natural)

-- | Creates a value of <a>ListCommandsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcrsCommands</a> - (Optional) The list of commands requested by
--   the user.</li>
--   <li><a>lcrsNextToken</a> - (Optional) The token for the next set of
--   items to return. (You received this token from a previous call.)</li>
--   <li><a>lcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listCommandsResponse :: Int -> ListCommandsResponse

-- | <i>See:</i> <a>listCommandsResponse</a> smart constructor.
data ListCommandsResponse

-- | (Optional) The list of commands requested by the user.
lcrsCommands :: Lens' ListCommandsResponse [Command]

-- | (Optional) The token for the next set of items to return. (You
--   received this token from a previous call.)
lcrsNextToken :: Lens' ListCommandsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lcrsResponseStatus :: Lens' ListCommandsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListCommands.ListCommandsResponse
instance Data.Data.Data Network.AWS.SSM.ListCommands.ListCommandsResponse
instance GHC.Show.Show Network.AWS.SSM.ListCommands.ListCommandsResponse
instance GHC.Read.Read Network.AWS.SSM.ListCommands.ListCommandsResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListCommands.ListCommandsResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListCommands.ListCommands
instance Data.Data.Data Network.AWS.SSM.ListCommands.ListCommands
instance GHC.Show.Show Network.AWS.SSM.ListCommands.ListCommands
instance GHC.Read.Read Network.AWS.SSM.ListCommands.ListCommands
instance GHC.Classes.Eq Network.AWS.SSM.ListCommands.ListCommands
instance Network.AWS.Pager.AWSPager Network.AWS.SSM.ListCommands.ListCommands
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListCommands.ListCommands
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListCommands.ListCommands
instance Control.DeepSeq.NFData Network.AWS.SSM.ListCommands.ListCommands
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListCommands.ListCommands
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListCommands.ListCommands
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListCommands.ListCommands
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListCommands.ListCommands
instance Control.DeepSeq.NFData Network.AWS.SSM.ListCommands.ListCommandsResponse


-- | 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.
--   
--   This operation returns paginated results.
module Network.AWS.SSM.ListCommandInvocations

-- | Creates a value of <a>ListCommandInvocations</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lciInstanceId</a> - (Optional) The command execution details
--   for a specific instance ID.</li>
--   <li><a>lciFilters</a> - (Optional) One or more filters. Use a filter
--   to return a more specific list of results.</li>
--   <li><a>lciNextToken</a> - (Optional) The token for the next set of
--   items to return. (You received this token from a previous call.)</li>
--   <li><a>lciCommandId</a> - (Optional) The invocations for a specific
--   command ID.</li>
--   <li><a>lciDetails</a> - (Optional) If set this returns the response of
--   the command executions and any command output. By default this is set
--   to False.</li>
--   <li><a>lciMaxResults</a> - (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.</li>
--   </ul>
listCommandInvocations :: ListCommandInvocations

-- | <i>See:</i> <a>listCommandInvocations</a> smart constructor.
data ListCommandInvocations

-- | (Optional) The command execution details for a specific instance ID.
lciInstanceId :: Lens' ListCommandInvocations (Maybe Text)

-- | (Optional) One or more filters. Use a filter to return a more specific
--   list of results.
lciFilters :: Lens' ListCommandInvocations (Maybe (NonEmpty CommandFilter))

-- | (Optional) The token for the next set of items to return. (You
--   received this token from a previous call.)
lciNextToken :: Lens' ListCommandInvocations (Maybe Text)

-- | (Optional) The invocations for a specific command ID.
lciCommandId :: Lens' ListCommandInvocations (Maybe Text)

-- | (Optional) If set this returns the response of the command executions
--   and any command output. By default this is set to False.
lciDetails :: Lens' ListCommandInvocations (Maybe Bool)

-- | (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.
lciMaxResults :: Lens' ListCommandInvocations (Maybe Natural)

-- | Creates a value of <a>ListCommandInvocationsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcirsNextToken</a> - (Optional) The token for the next set of
--   items to return. (You received this token from a previous call.)</li>
--   <li><a>lcirsCommandInvocations</a> - (Optional) A list of all
--   invocations.</li>
--   <li><a>lcirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listCommandInvocationsResponse :: Int -> ListCommandInvocationsResponse

-- | <i>See:</i> <a>listCommandInvocationsResponse</a> smart constructor.
data ListCommandInvocationsResponse

-- | (Optional) The token for the next set of items to return. (You
--   received this token from a previous call.)
lcirsNextToken :: Lens' ListCommandInvocationsResponse (Maybe Text)

-- | (Optional) A list of all invocations.
lcirsCommandInvocations :: Lens' ListCommandInvocationsResponse [CommandInvocation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lcirsResponseStatus :: Lens' ListCommandInvocationsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse
instance Data.Data.Data Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse
instance GHC.Show.Show Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse
instance GHC.Read.Read Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Data.Data.Data Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance GHC.Show.Show Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance GHC.Read.Read Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance GHC.Classes.Eq Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Network.AWS.Pager.AWSPager Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Control.DeepSeq.NFData Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Control.DeepSeq.NFData Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse


-- | Lists the associations for the specified SSM document or instance.
--   
--   This operation returns paginated results.
module Network.AWS.SSM.ListAssociations

-- | Creates a value of <a>ListAssociations</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laAssociationFilterList</a> - One or more filters. Use a filter
--   to return a more specific list of results.</li>
--   <li><a>laNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>laMaxResults</a> - 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.</li>
--   </ul>
listAssociations :: ListAssociations

-- | <i>See:</i> <a>listAssociations</a> smart constructor.
data ListAssociations

-- | One or more filters. Use a filter to return a more specific list of
--   results.
laAssociationFilterList :: Lens' ListAssociations (Maybe (NonEmpty AssociationFilter))

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
laNextToken :: Lens' ListAssociations (Maybe Text)

-- | 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.
laMaxResults :: Lens' ListAssociations (Maybe Natural)

-- | Creates a value of <a>ListAssociationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>larsAssociations</a> - The associations.</li>
--   <li><a>larsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAssociationsResponse :: Int -> ListAssociationsResponse

-- | <i>See:</i> <a>listAssociationsResponse</a> smart constructor.
data ListAssociationsResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
larsNextToken :: Lens' ListAssociationsResponse (Maybe Text)

-- | The associations.
larsAssociations :: Lens' ListAssociationsResponse [Association]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
larsResponseStatus :: Lens' ListAssociationsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.ListAssociations.ListAssociationsResponse
instance Data.Data.Data Network.AWS.SSM.ListAssociations.ListAssociationsResponse
instance GHC.Show.Show Network.AWS.SSM.ListAssociations.ListAssociationsResponse
instance GHC.Read.Read Network.AWS.SSM.ListAssociations.ListAssociationsResponse
instance GHC.Classes.Eq Network.AWS.SSM.ListAssociations.ListAssociationsResponse
instance GHC.Generics.Generic Network.AWS.SSM.ListAssociations.ListAssociations
instance Data.Data.Data Network.AWS.SSM.ListAssociations.ListAssociations
instance GHC.Show.Show Network.AWS.SSM.ListAssociations.ListAssociations
instance GHC.Read.Read Network.AWS.SSM.ListAssociations.ListAssociations
instance GHC.Classes.Eq Network.AWS.SSM.ListAssociations.ListAssociations
instance Network.AWS.Pager.AWSPager Network.AWS.SSM.ListAssociations.ListAssociations
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.ListAssociations.ListAssociations
instance Data.Hashable.Class.Hashable Network.AWS.SSM.ListAssociations.ListAssociations
instance Control.DeepSeq.NFData Network.AWS.SSM.ListAssociations.ListAssociations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.ListAssociations.ListAssociations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.ListAssociations.ListAssociations
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.ListAssociations.ListAssociations
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.ListAssociations.ListAssociations
instance Control.DeepSeq.NFData Network.AWS.SSM.ListAssociations.ListAssociationsResponse


-- | Get a list of parameters used by the AWS account.&gt;
module Network.AWS.SSM.GetParameters

-- | Creates a value of <a>GetParameters</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpWithDecryption</a> - Return decrypted secure string value.
--   Return decrypted values for secure string parameters. This flag is
--   ignored for String and StringList parameter types.</li>
--   <li><a>gpNames</a> - Names of the parameters for which you want to
--   query information.</li>
--   </ul>
getParameters :: NonEmpty Text -> GetParameters

-- | <i>See:</i> <a>getParameters</a> smart constructor.
data GetParameters

-- | Return decrypted secure string value. Return decrypted values for
--   secure string parameters. This flag is ignored for String and
--   StringList parameter types.
gpWithDecryption :: Lens' GetParameters (Maybe Bool)

-- | Names of the parameters for which you want to query information.
gpNames :: Lens' GetParameters (NonEmpty Text)

-- | Creates a value of <a>GetParametersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gprsParameters</a> - A list of parameters used by the AWS
--   account.</li>
--   <li><a>gprsInvalidParameters</a> - A list of parameters that are not
--   formatted correctly or do not run when executed.</li>
--   <li><a>gprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getParametersResponse :: Int -> GetParametersResponse

-- | <i>See:</i> <a>getParametersResponse</a> smart constructor.
data GetParametersResponse

-- | A list of parameters used by the AWS account.
gprsParameters :: Lens' GetParametersResponse [Parameter]

-- | A list of parameters that are not formatted correctly or do not run
--   when executed.
gprsInvalidParameters :: Lens' GetParametersResponse (Maybe (NonEmpty Text))

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gprsResponseStatus :: Lens' GetParametersResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetParameters.GetParametersResponse
instance Data.Data.Data Network.AWS.SSM.GetParameters.GetParametersResponse
instance GHC.Show.Show Network.AWS.SSM.GetParameters.GetParametersResponse
instance GHC.Read.Read Network.AWS.SSM.GetParameters.GetParametersResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetParameters.GetParametersResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetParameters.GetParameters
instance Data.Data.Data Network.AWS.SSM.GetParameters.GetParameters
instance GHC.Show.Show Network.AWS.SSM.GetParameters.GetParameters
instance GHC.Read.Read Network.AWS.SSM.GetParameters.GetParameters
instance GHC.Classes.Eq Network.AWS.SSM.GetParameters.GetParameters
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetParameters.GetParameters
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetParameters.GetParameters
instance Control.DeepSeq.NFData Network.AWS.SSM.GetParameters.GetParameters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetParameters.GetParameters
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetParameters.GetParameters
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetParameters.GetParameters
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetParameters.GetParameters
instance Control.DeepSeq.NFData Network.AWS.SSM.GetParameters.GetParametersResponse


-- | Query a list of all parameters used by the AWS account.
module Network.AWS.SSM.GetParameterHistory

-- | Creates a value of <a>GetParameterHistory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gphWithDecryption</a> - Return decrypted values for secure
--   string parameters. This flag is ignored for String and StringList
--   parameter types.</li>
--   <li><a>gphNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>gphMaxResults</a> - 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.</li>
--   <li><a>gphName</a> - The name of a parameter you want to query.</li>
--   </ul>
getParameterHistory :: Text -> GetParameterHistory

-- | <i>See:</i> <a>getParameterHistory</a> smart constructor.
data GetParameterHistory

-- | Return decrypted values for secure string parameters. This flag is
--   ignored for String and StringList parameter types.
gphWithDecryption :: Lens' GetParameterHistory (Maybe Bool)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
gphNextToken :: Lens' GetParameterHistory (Maybe Text)

-- | 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.
gphMaxResults :: Lens' GetParameterHistory (Maybe Natural)

-- | The name of a parameter you want to query.
gphName :: Lens' GetParameterHistory Text

-- | Creates a value of <a>GetParameterHistoryResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gphrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>gphrsParameters</a> - A list of parameters returned by the
--   request.</li>
--   <li><a>gphrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getParameterHistoryResponse :: Int -> GetParameterHistoryResponse

-- | <i>See:</i> <a>getParameterHistoryResponse</a> smart constructor.
data GetParameterHistoryResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
gphrsNextToken :: Lens' GetParameterHistoryResponse (Maybe Text)

-- | A list of parameters returned by the request.
gphrsParameters :: Lens' GetParameterHistoryResponse [ParameterHistory]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gphrsResponseStatus :: Lens' GetParameterHistoryResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse
instance Data.Data.Data Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse
instance GHC.Show.Show Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse
instance GHC.Read.Read Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Data.Data.Data Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance GHC.Show.Show Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance GHC.Read.Read Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance GHC.Classes.Eq Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Control.DeepSeq.NFData Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetParameterHistory.GetParameterHistory
instance Control.DeepSeq.NFData Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse


-- | Retrieves the details about a specific task executed as part of a
--   Maintenance Window execution.
module Network.AWS.SSM.GetMaintenanceWindowExecutionTask

-- | Creates a value of <a>GetMaintenanceWindowExecutionTask</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gmwetWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that includes the task.</li>
--   <li><a>gmwetTaskId</a> - The ID of the specific task execution in the
--   Maintenance Window task that should be retrieved.</li>
--   </ul>
getMaintenanceWindowExecutionTask :: Text -> Text -> GetMaintenanceWindowExecutionTask

-- | <i>See:</i> <a>getMaintenanceWindowExecutionTask</a> smart
--   constructor.
data GetMaintenanceWindowExecutionTask

-- | The ID of the Maintenance Window execution that includes the task.
gmwetWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTask Text

-- | The ID of the specific task execution in the Maintenance Window task
--   that should be retrieved.
gmwetTaskId :: Lens' GetMaintenanceWindowExecutionTask Text

-- | Creates a value of <a>GetMaintenanceWindowExecutionTaskResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gmwetrsStatus</a> - The status of the task.</li>
--   <li><a>gmwetrsTaskParameters</a> - The parameters passed to the task
--   when it was executed. The map has the following format: Key: string, 1
--   ≤ length ≤ 255 Value: an array of strings where each string 1 ≤ length
--   ≤ 255</li>
--   <li><a>gmwetrsTaskExecutionId</a> - The ID of the specific task
--   execution in the Maintenance Window task that was retrieved.</li>
--   <li><a>gmwetrsPriority</a> - The priority of the task.</li>
--   <li><a>gmwetrsStartTime</a> - The time the task execution
--   started.</li>
--   <li><a>gmwetrsTaskARN</a> - The ARN of the executed task.</li>
--   <li><a>gmwetrsWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that includes the task.</li>
--   <li><a>gmwetrsStatusDetails</a> - The details explaining the Status.
--   Only available for certain status values.</li>
--   <li><a>gmwetrsMaxErrors</a> - The defined maximum number of task
--   execution errors allowed before scheduling of the task execution would
--   have been stopped.</li>
--   <li><a>gmwetrsEndTime</a> - The time the task execution
--   completed.</li>
--   <li><a>gmwetrsType</a> - The type of task executed.</li>
--   <li><a>gmwetrsMaxConcurrency</a> - The defined maximum number of task
--   executions that could be run in parallel.</li>
--   <li><a>gmwetrsServiceRole</a> - The role that was assumed when
--   executing the task.</li>
--   <li><a>gmwetrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getMaintenanceWindowExecutionTaskResponse :: Int -> GetMaintenanceWindowExecutionTaskResponse

-- | <i>See:</i> <a>getMaintenanceWindowExecutionTaskResponse</a> smart
--   constructor.
data GetMaintenanceWindowExecutionTaskResponse

-- | The status of the task.
gmwetrsStatus :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe MaintenanceWindowExecutionStatus)

-- | The parameters passed to the task when it was executed. The map has
--   the following format: Key: string, 1 ≤ length ≤ 255 Value: an array of
--   strings where each string 1 ≤ length ≤ 255
gmwetrsTaskParameters :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe [HashMap Text MaintenanceWindowTaskParameterValueExpression])

-- | The ID of the specific task execution in the Maintenance Window task
--   that was retrieved.
gmwetrsTaskExecutionId :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | The priority of the task.
gmwetrsPriority :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Natural)

-- | The time the task execution started.
gmwetrsStartTime :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe UTCTime)

-- | The ARN of the executed task.
gmwetrsTaskARN :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | The ID of the Maintenance Window execution that includes the task.
gmwetrsWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | The details explaining the Status. Only available for certain status
--   values.
gmwetrsStatusDetails :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | The defined maximum number of task execution errors allowed before
--   scheduling of the task execution would have been stopped.
gmwetrsMaxErrors :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | The time the task execution completed.
gmwetrsEndTime :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe UTCTime)

-- | The type of task executed.
gmwetrsType :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe MaintenanceWindowTaskType)

-- | The defined maximum number of task executions that could be run in
--   parallel.
gmwetrsMaxConcurrency :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | The role that was assumed when executing the task.
gmwetrsServiceRole :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gmwetrsResponseStatus :: Lens' GetMaintenanceWindowExecutionTaskResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse
instance Data.Data.Data Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse
instance GHC.Show.Show Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse
instance GHC.Read.Read Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Data.Data.Data Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance GHC.Show.Show Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance GHC.Read.Read Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance GHC.Classes.Eq Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTask
instance Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse


-- | Retrieves details about a specific task executed as part of a
--   Maintenance Window execution.
module Network.AWS.SSM.GetMaintenanceWindowExecution

-- | Creates a value of <a>GetMaintenanceWindowExecution</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gmweWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that includes the task.</li>
--   </ul>
getMaintenanceWindowExecution :: Text -> GetMaintenanceWindowExecution

-- | <i>See:</i> <a>getMaintenanceWindowExecution</a> smart constructor.
data GetMaintenanceWindowExecution

-- | The ID of the Maintenance Window execution that includes the task.
gmweWindowExecutionId :: Lens' GetMaintenanceWindowExecution Text

-- | Creates a value of <a>GetMaintenanceWindowExecutionResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gmwersStatus</a> - The status of the Maintenance Window
--   execution.</li>
--   <li><a>gmwersStartTime</a> - The time the Maintenance Window started
--   executing.</li>
--   <li><a>gmwersWindowExecutionId</a> - The ID of the Maintenance Window
--   execution.</li>
--   <li><a>gmwersStatusDetails</a> - The details explaining the Status.
--   Only available for certain status values.</li>
--   <li><a>gmwersEndTime</a> - The time the Maintenance Window finished
--   executing.</li>
--   <li><a>gmwersTaskIds</a> - The ID of the task executions from the
--   Maintenance Window execution.</li>
--   <li><a>gmwersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getMaintenanceWindowExecutionResponse :: Int -> GetMaintenanceWindowExecutionResponse

-- | <i>See:</i> <a>getMaintenanceWindowExecutionResponse</a> smart
--   constructor.
data GetMaintenanceWindowExecutionResponse

-- | The status of the Maintenance Window execution.
gmwersStatus :: Lens' GetMaintenanceWindowExecutionResponse (Maybe MaintenanceWindowExecutionStatus)

-- | The time the Maintenance Window started executing.
gmwersStartTime :: Lens' GetMaintenanceWindowExecutionResponse (Maybe UTCTime)

-- | The ID of the Maintenance Window execution.
gmwersWindowExecutionId :: Lens' GetMaintenanceWindowExecutionResponse (Maybe Text)

-- | The details explaining the Status. Only available for certain status
--   values.
gmwersStatusDetails :: Lens' GetMaintenanceWindowExecutionResponse (Maybe Text)

-- | The time the Maintenance Window finished executing.
gmwersEndTime :: Lens' GetMaintenanceWindowExecutionResponse (Maybe UTCTime)

-- | The ID of the task executions from the Maintenance Window execution.
gmwersTaskIds :: Lens' GetMaintenanceWindowExecutionResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gmwersResponseStatus :: Lens' GetMaintenanceWindowExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse
instance Data.Data.Data Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse
instance GHC.Show.Show Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse
instance GHC.Read.Read Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Data.Data.Data Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance GHC.Show.Show Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance GHC.Read.Read Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance GHC.Classes.Eq Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse


-- | Retrieves a Maintenance Window.
module Network.AWS.SSM.GetMaintenanceWindow

-- | Creates a value of <a>GetMaintenanceWindow</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gmwWindowId</a> - The ID of the desired Maintenance
--   Window.</li>
--   </ul>
getMaintenanceWindow :: Text -> GetMaintenanceWindow

-- | <i>See:</i> <a>getMaintenanceWindow</a> smart constructor.
data GetMaintenanceWindow

-- | The ID of the desired Maintenance Window.
gmwWindowId :: Lens' GetMaintenanceWindow Text

-- | Creates a value of <a>GetMaintenanceWindowResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gmwrsEnabled</a> - Whether the Maintenance Windows is
--   enabled.</li>
--   <li><a>gmwrsSchedule</a> - The schedule of the Maintenance Window in
--   the form of a cron or rate expression.</li>
--   <li><a>gmwrsCreatedDate</a> - The date the Maintenance Window was
--   created.</li>
--   <li><a>gmwrsName</a> - The name of the Maintenance Window.</li>
--   <li><a>gmwrsModifiedDate</a> - The date the Maintenance Window was
--   last modified.</li>
--   <li><a>gmwrsCutoff</a> - The number of hours before the end of the
--   Maintenance Window that Systems Manager stops scheduling new tasks for
--   execution.</li>
--   <li><a>gmwrsAllowUnassociatedTargets</a> - Whether targets must be
--   registered with the Maintenance Window before tasks can be defined for
--   those targets.</li>
--   <li><a>gmwrsDuration</a> - The duration of the Maintenance Window in
--   hours.</li>
--   <li><a>gmwrsWindowId</a> - The ID of the created Maintenance
--   Window.</li>
--   <li><a>gmwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getMaintenanceWindowResponse :: Int -> GetMaintenanceWindowResponse

-- | <i>See:</i> <a>getMaintenanceWindowResponse</a> smart constructor.
data GetMaintenanceWindowResponse

-- | Whether the Maintenance Windows is enabled.
gmwrsEnabled :: Lens' GetMaintenanceWindowResponse (Maybe Bool)

-- | The schedule of the Maintenance Window in the form of a cron or rate
--   expression.
gmwrsSchedule :: Lens' GetMaintenanceWindowResponse (Maybe Text)

-- | The date the Maintenance Window was created.
gmwrsCreatedDate :: Lens' GetMaintenanceWindowResponse (Maybe UTCTime)

-- | The name of the Maintenance Window.
gmwrsName :: Lens' GetMaintenanceWindowResponse (Maybe Text)

-- | The date the Maintenance Window was last modified.
gmwrsModifiedDate :: Lens' GetMaintenanceWindowResponse (Maybe UTCTime)

-- | The number of hours before the end of the Maintenance Window that
--   Systems Manager stops scheduling new tasks for execution.
gmwrsCutoff :: Lens' GetMaintenanceWindowResponse (Maybe Natural)

-- | Whether targets must be registered with the Maintenance Window before
--   tasks can be defined for those targets.
gmwrsAllowUnassociatedTargets :: Lens' GetMaintenanceWindowResponse (Maybe Bool)

-- | The duration of the Maintenance Window in hours.
gmwrsDuration :: Lens' GetMaintenanceWindowResponse (Maybe Natural)

-- | The ID of the created Maintenance Window.
gmwrsWindowId :: Lens' GetMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gmwrsResponseStatus :: Lens' GetMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse


-- | Return a list of inventory type names for the account, or return a
--   list of attribute names for a specific Inventory item type.
module Network.AWS.SSM.GetInventorySchema

-- | Creates a value of <a>GetInventorySchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gisTypeName</a> - The type of inventory item to return.</li>
--   <li><a>gisNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>gisMaxResults</a> - 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.</li>
--   </ul>
getInventorySchema :: GetInventorySchema

-- | <i>See:</i> <a>getInventorySchema</a> smart constructor.
data GetInventorySchema

-- | The type of inventory item to return.
gisTypeName :: Lens' GetInventorySchema (Maybe Text)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
gisNextToken :: Lens' GetInventorySchema (Maybe Text)

-- | 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.
gisMaxResults :: Lens' GetInventorySchema (Maybe Natural)

-- | Creates a value of <a>GetInventorySchemaResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gisrsSchemas</a> - Inventory schemas returned by the
--   request.</li>
--   <li><a>gisrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>gisrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getInventorySchemaResponse :: Int -> GetInventorySchemaResponse

-- | <i>See:</i> <a>getInventorySchemaResponse</a> smart constructor.
data GetInventorySchemaResponse

-- | Inventory schemas returned by the request.
gisrsSchemas :: Lens' GetInventorySchemaResponse [InventoryItemSchema]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
gisrsNextToken :: Lens' GetInventorySchemaResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gisrsResponseStatus :: Lens' GetInventorySchemaResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse
instance Data.Data.Data Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse
instance GHC.Show.Show Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse
instance GHC.Read.Read Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Data.Data.Data Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance GHC.Show.Show Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance GHC.Read.Read Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance GHC.Classes.Eq Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Control.DeepSeq.NFData Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetInventorySchema.GetInventorySchema
instance Control.DeepSeq.NFData Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse


-- | Query inventory information.
module Network.AWS.SSM.GetInventory

-- | Creates a value of <a>GetInventory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>giFilters</a> - One or more filters. Use a filter to return a
--   more specific list of results.</li>
--   <li><a>giResultAttributes</a> - The list of inventory item types to
--   return.</li>
--   <li><a>giNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>giMaxResults</a> - 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.</li>
--   </ul>
getInventory :: GetInventory

-- | <i>See:</i> <a>getInventory</a> smart constructor.
data GetInventory

-- | One or more filters. Use a filter to return a more specific list of
--   results.
giFilters :: Lens' GetInventory (Maybe (NonEmpty InventoryFilter))

-- | The list of inventory item types to return.
giResultAttributes :: Lens' GetInventory (Maybe (NonEmpty ResultAttribute))

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
giNextToken :: Lens' GetInventory (Maybe Text)

-- | 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.
giMaxResults :: Lens' GetInventory (Maybe Natural)

-- | Creates a value of <a>GetInventoryResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>girsEntities</a> - Collection of inventory entities such as a
--   collection of instance inventory.</li>
--   <li><a>girsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>girsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getInventoryResponse :: Int -> GetInventoryResponse

-- | <i>See:</i> <a>getInventoryResponse</a> smart constructor.
data GetInventoryResponse

-- | Collection of inventory entities such as a collection of instance
--   inventory.
girsEntities :: Lens' GetInventoryResponse [InventoryResultEntity]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
girsNextToken :: Lens' GetInventoryResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
girsResponseStatus :: Lens' GetInventoryResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetInventory.GetInventoryResponse
instance Data.Data.Data Network.AWS.SSM.GetInventory.GetInventoryResponse
instance GHC.Show.Show Network.AWS.SSM.GetInventory.GetInventoryResponse
instance GHC.Read.Read Network.AWS.SSM.GetInventory.GetInventoryResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetInventory.GetInventoryResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetInventory.GetInventory
instance Data.Data.Data Network.AWS.SSM.GetInventory.GetInventory
instance GHC.Show.Show Network.AWS.SSM.GetInventory.GetInventory
instance GHC.Read.Read Network.AWS.SSM.GetInventory.GetInventory
instance GHC.Classes.Eq Network.AWS.SSM.GetInventory.GetInventory
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetInventory.GetInventory
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetInventory.GetInventory
instance Control.DeepSeq.NFData Network.AWS.SSM.GetInventory.GetInventory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetInventory.GetInventory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetInventory.GetInventory
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetInventory.GetInventory
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetInventory.GetInventory
instance Control.DeepSeq.NFData Network.AWS.SSM.GetInventory.GetInventoryResponse


-- | Gets the contents of the specified SSM document.
module Network.AWS.SSM.GetDocument

-- | Creates a value of <a>GetDocument</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdDocumentVersion</a> - The document version for which you want
--   information.</li>
--   <li><a>gdName</a> - The name of the SSM document.</li>
--   </ul>
getDocument :: Text -> GetDocument

-- | <i>See:</i> <a>getDocument</a> smart constructor.
data GetDocument

-- | The document version for which you want information.
gdDocumentVersion :: Lens' GetDocument (Maybe Text)

-- | The name of the SSM document.
gdName :: Lens' GetDocument Text

-- | Creates a value of <a>GetDocumentResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdrsDocumentType</a> - The document type.</li>
--   <li><a>gdrsContent</a> - The contents of the SSM document.</li>
--   <li><a>gdrsName</a> - The name of the SSM document.</li>
--   <li><a>gdrsDocumentVersion</a> - The document version.</li>
--   <li><a>gdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDocumentResponse :: Int -> GetDocumentResponse

-- | <i>See:</i> <a>getDocumentResponse</a> smart constructor.
data GetDocumentResponse

-- | The document type.
gdrsDocumentType :: Lens' GetDocumentResponse (Maybe DocumentType)

-- | The contents of the SSM document.
gdrsContent :: Lens' GetDocumentResponse (Maybe Text)

-- | The name of the SSM document.
gdrsName :: Lens' GetDocumentResponse (Maybe Text)

-- | The document version.
gdrsDocumentVersion :: Lens' GetDocumentResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdrsResponseStatus :: Lens' GetDocumentResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetDocument.GetDocumentResponse
instance Data.Data.Data Network.AWS.SSM.GetDocument.GetDocumentResponse
instance GHC.Show.Show Network.AWS.SSM.GetDocument.GetDocumentResponse
instance GHC.Read.Read Network.AWS.SSM.GetDocument.GetDocumentResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetDocument.GetDocumentResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetDocument.GetDocument
instance Data.Data.Data Network.AWS.SSM.GetDocument.GetDocument
instance GHC.Show.Show Network.AWS.SSM.GetDocument.GetDocument
instance GHC.Read.Read Network.AWS.SSM.GetDocument.GetDocument
instance GHC.Classes.Eq Network.AWS.SSM.GetDocument.GetDocument
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetDocument.GetDocument
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetDocument.GetDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.GetDocument.GetDocument
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetDocument.GetDocument
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetDocument.GetDocument
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetDocument.GetDocument
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetDocument.GetDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.GetDocument.GetDocumentResponse


-- | Returns detailed information about command execution for an invocation
--   or plugin.
module Network.AWS.SSM.GetCommandInvocation

-- | Creates a value of <a>GetCommandInvocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gciPluginName</a> - (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.</li>
--   <li><a>gciCommandId</a> - (Required) The parent command ID of the
--   invocation plugin.</li>
--   <li><a>gciInstanceId</a> - (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.</li>
--   </ul>
getCommandInvocation :: Text -> Text -> GetCommandInvocation

-- | <i>See:</i> <a>getCommandInvocation</a> smart constructor.
data GetCommandInvocation

-- | (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.
gciPluginName :: Lens' GetCommandInvocation (Maybe Text)

-- | (Required) The parent command ID of the invocation plugin.
gciCommandId :: Lens' GetCommandInvocation Text

-- | (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.
gciInstanceId :: Lens' GetCommandInvocation Text

-- | Creates a value of <a>GetCommandInvocationResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcirsInstanceId</a> - 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.</li>
--   <li><a>gcirsStatus</a> - The status of the parent command for this
--   invocation. This status can be different than <tt>StatusDetails</tt>
--   .</li>
--   <li><a>gcirsStandardErrorContent</a> - The first 8,000 characters
--   written by the plugin to stderr. If the command has not finished
--   executing, then this string is empty.</li>
--   <li><a>gcirsExecutionElapsedTime</a> - Duration since
--   <tt>ExecutionStartDateTime</tt> .</li>
--   <li><a>gcirsDocumentName</a> - The name of the SSM document that was
--   executed. For example, AWS-RunShellScript is an SSM document.</li>
--   <li><a>gcirsStandardErrorURL</a> - The URL for the complete text
--   written by the plugin to stderr. If the command has not finished
--   executing, then this string is empty.</li>
--   <li><a>gcirsExecutionStartDateTime</a> - 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.</li>
--   <li><a>gcirsResponseCode</a> - The error level response code for the
--   plugin script. If the response code is <tt>-1</tt> , then the command
--   has not started executing on the instance, or it was not received by
--   the instance.</li>
--   <li><a>gcirsStatusDetails</a> - A detailed status of the command
--   execution for an invocation. <tt>StatusDetails</tt> includes more
--   information than <tt>Status</tt> because it includes states resulting
--   from error and concurrency control parameters. <tt>StatusDetails</tt>
--   can show different results than <tt>Status</tt> . For more information
--   about these statuses, see <a>Monitor Commands</a> (Linux) or
--   <a>Monitor Commands</a> (Windows). <tt>StatusDetails</tt> can be one
--   of the following values: * Pending – The command has not been sent to
--   the instance. * In Progress – The command has been sent to the
--   instance but has not reached a terminal state. * 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. * Success – The command or plugin was executed
--   successfully. This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit, but they do contribute to whether the parent
--   command status is <tt>Success</tt> or <tt>Incomplete</tt> . This is a
--   terminal state. * 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 <tt>MaxErrors</tt> limit
--   of the parent command. This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit and don't contribute to
--   whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.</li>
--   <li><a>gcirsExecutionEndDateTime</a> - 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.</li>
--   <li><a>gcirsStandardOutputURL</a> - 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.</li>
--   <li><a>gcirsCommandId</a> - The parent command ID of the invocation
--   plugin.</li>
--   <li><a>gcirsStandardOutputContent</a> - The first 24,000 characters
--   written by the plugin to stdout. If the command has not finished
--   executing, if <tt>ExecutionStatus</tt> is neither <tt>Succeeded</tt>
--   nor <tt>Failed</tt> , then this string is empty.</li>
--   <li><a>gcirsComment</a> - The comment text for the command.</li>
--   <li><a>gcirsPluginName</a> - The name of the plugin for which you want
--   detailed results. For example, aws:RunShellScript is a plugin.</li>
--   <li><a>gcirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getCommandInvocationResponse :: Int -> GetCommandInvocationResponse

-- | <i>See:</i> <a>getCommandInvocationResponse</a> smart constructor.
data GetCommandInvocationResponse

-- | 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.
gcirsInstanceId :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The status of the parent command for this invocation. This status can
--   be different than <tt>StatusDetails</tt> .
gcirsStatus :: Lens' GetCommandInvocationResponse (Maybe CommandInvocationStatus)

-- | The first 8,000 characters written by the plugin to stderr. If the
--   command has not finished executing, then this string is empty.
gcirsStandardErrorContent :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | Duration since <tt>ExecutionStartDateTime</tt> .
gcirsExecutionElapsedTime :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The name of the SSM document that was executed. For example,
--   AWS-RunShellScript is an SSM document.
gcirsDocumentName :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The URL for the complete text written by the plugin to stderr. If the
--   command has not finished executing, then this string is empty.
gcirsStandardErrorURL :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | 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.
gcirsExecutionStartDateTime :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The error level response code for the plugin script. If the response
--   code is <tt>-1</tt> , then the command has not started executing on
--   the instance, or it was not received by the instance.
gcirsResponseCode :: Lens' GetCommandInvocationResponse (Maybe Int)

-- | A detailed status of the command execution for an invocation.
--   <tt>StatusDetails</tt> includes more information than <tt>Status</tt>
--   because it includes states resulting from error and concurrency
--   control parameters. <tt>StatusDetails</tt> can show different results
--   than <tt>Status</tt> . For more information about these statuses, see
--   <a>Monitor Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * 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. * Success – The
--   command or plugin was executed successfully. This is a terminal state.
--   * 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 <tt>MaxErrors</tt> limit, but they do
--   contribute to whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * 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 <tt>MaxErrors</tt> limit of the parent command. This is a
--   terminal state. * 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 <tt>MaxErrors</tt> limit of the parent command. This is a
--   terminal state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit and don't contribute to
--   whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.
gcirsStatusDetails :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | 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.
gcirsExecutionEndDateTime :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | 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.
gcirsStandardOutputURL :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The parent command ID of the invocation plugin.
gcirsCommandId :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The first 24,000 characters written by the plugin to stdout. If the
--   command has not finished executing, if <tt>ExecutionStatus</tt> is
--   neither <tt>Succeeded</tt> nor <tt>Failed</tt> , then this string is
--   empty.
gcirsStandardOutputContent :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The comment text for the command.
gcirsComment :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The name of the plugin for which you want detailed results. For
--   example, aws:RunShellScript is a plugin.
gcirsPluginName :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcirsResponseStatus :: Lens' GetCommandInvocationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse
instance Data.Data.Data Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse
instance GHC.Show.Show Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse
instance GHC.Read.Read Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Data.Data.Data Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance GHC.Show.Show Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance GHC.Read.Read Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance GHC.Classes.Eq Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Control.DeepSeq.NFData Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetCommandInvocation.GetCommandInvocation
instance Control.DeepSeq.NFData Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse


-- | Get detailed information about a particular Automation execution.
module Network.AWS.SSM.GetAutomationExecution

-- | Creates a value of <a>GetAutomationExecution</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gaeAutomationExecutionId</a> - The unique identifier for an
--   existing automation execution to examine. The execution ID is returned
--   by <tt>StartAutomationExecution</tt> when the execution of an
--   Automation document is initiated.</li>
--   </ul>
getAutomationExecution :: Text -> GetAutomationExecution

-- | <i>See:</i> <a>getAutomationExecution</a> smart constructor.
data GetAutomationExecution

-- | The unique identifier for an existing automation execution to examine.
--   The execution ID is returned by <tt>StartAutomationExecution</tt> when
--   the execution of an Automation document is initiated.
gaeAutomationExecutionId :: Lens' GetAutomationExecution Text

-- | Creates a value of <a>GetAutomationExecutionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gaersAutomationExecution</a> - Detailed information about the
--   current state of an automation execution.</li>
--   <li><a>gaersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getAutomationExecutionResponse :: Int -> GetAutomationExecutionResponse

-- | <i>See:</i> <a>getAutomationExecutionResponse</a> smart constructor.
data GetAutomationExecutionResponse

-- | Detailed information about the current state of an automation
--   execution.
gaersAutomationExecution :: Lens' GetAutomationExecutionResponse (Maybe AutomationExecution)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gaersResponseStatus :: Lens' GetAutomationExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse
instance Data.Data.Data Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse
instance GHC.Show.Show Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse
instance GHC.Read.Read Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse
instance GHC.Classes.Eq Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse
instance GHC.Generics.Generic Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Data.Data.Data Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance GHC.Show.Show Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance GHC.Read.Read Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance GHC.Classes.Eq Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Data.Hashable.Class.Hashable Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.GetAutomationExecution.GetAutomationExecution
instance Control.DeepSeq.NFData Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse


-- | Get information about a parameter.
module Network.AWS.SSM.DescribeParameters

-- | Creates a value of <a>DescribeParameters</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpFilters</a> - One or more filters. Use a filter to return a
--   more specific list of results.</li>
--   <li><a>dpNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dpMaxResults</a> - 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.</li>
--   </ul>
describeParameters :: DescribeParameters

-- | <i>See:</i> <a>describeParameters</a> smart constructor.
data DescribeParameters

-- | One or more filters. Use a filter to return a more specific list of
--   results.
dpFilters :: Lens' DescribeParameters [ParametersFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dpNextToken :: Lens' DescribeParameters (Maybe Text)

-- | 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.
dpMaxResults :: Lens' DescribeParameters (Maybe Natural)

-- | Creates a value of <a>DescribeParametersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dprsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>dprsParameters</a> - Parameters returned by the request.</li>
--   <li><a>dprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeParametersResponse :: Int -> DescribeParametersResponse

-- | <i>See:</i> <a>describeParametersResponse</a> smart constructor.
data DescribeParametersResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dprsNextToken :: Lens' DescribeParametersResponse (Maybe Text)

-- | Parameters returned by the request.
dprsParameters :: Lens' DescribeParametersResponse [ParameterMetadata]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dprsResponseStatus :: Lens' DescribeParametersResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeParameters.DescribeParametersResponse
instance Data.Data.Data Network.AWS.SSM.DescribeParameters.DescribeParametersResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeParameters.DescribeParametersResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeParameters.DescribeParametersResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeParameters.DescribeParametersResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Data.Data.Data Network.AWS.SSM.DescribeParameters.DescribeParameters
instance GHC.Show.Show Network.AWS.SSM.DescribeParameters.DescribeParameters
instance GHC.Read.Read Network.AWS.SSM.DescribeParameters.DescribeParameters
instance GHC.Classes.Eq Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeParameters.DescribeParameters
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeParameters.DescribeParametersResponse


-- | Retrieves the Maintenance Windows in an AWS account.
module Network.AWS.SSM.DescribeMaintenanceWindows

-- | Creates a value of <a>DescribeMaintenanceWindows</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwFilters</a> - Optional filters used to narrow down the scope
--   of the returned Maintenance Windows. Supported filter keys are
--   <tt>Name</tt> and <tt>Enabled</tt> .</li>
--   <li><a>dmwNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dmwMaxResults</a> - 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.</li>
--   </ul>
describeMaintenanceWindows :: DescribeMaintenanceWindows

-- | <i>See:</i> <a>describeMaintenanceWindows</a> smart constructor.
data DescribeMaintenanceWindows

-- | Optional filters used to narrow down the scope of the returned
--   Maintenance Windows. Supported filter keys are <tt>Name</tt> and
--   <tt>Enabled</tt> .
dmwFilters :: Lens' DescribeMaintenanceWindows [MaintenanceWindowFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dmwNextToken :: Lens' DescribeMaintenanceWindows (Maybe Text)

-- | 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.
dmwMaxResults :: Lens' DescribeMaintenanceWindows (Maybe Natural)

-- | Creates a value of <a>DescribeMaintenanceWindowsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwsrsWindowIdentities</a> - Information about the Maintenance
--   Windows.</li>
--   <li><a>dmwsrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>dmwsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeMaintenanceWindowsResponse :: Int -> DescribeMaintenanceWindowsResponse

-- | <i>See:</i> <a>describeMaintenanceWindowsResponse</a> smart
--   constructor.
data DescribeMaintenanceWindowsResponse

-- | Information about the Maintenance Windows.
dmwsrsWindowIdentities :: Lens' DescribeMaintenanceWindowsResponse [MaintenanceWindowIdentity]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dmwsrsNextToken :: Lens' DescribeMaintenanceWindowsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwsrsResponseStatus :: Lens' DescribeMaintenanceWindowsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindows
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse


-- | Lists the tasks in a Maintenance Window.
module Network.AWS.SSM.DescribeMaintenanceWindowTasks

-- | Creates a value of <a>DescribeMaintenanceWindowTasks</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dFilters</a> - Optional filters used to narrow down the scope
--   of the returned tasks. The supported filter keys are
--   <tt>WindowTaskId</tt> , <tt>TaskArn</tt> , <tt>Priority</tt> , and
--   <tt>TaskType</tt> .</li>
--   <li><a>dNextToken</a> - The token for the next set of items to return.
--   (You received this token from a previous call.)</li>
--   <li><a>dMaxResults</a> - 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.</li>
--   <li><a>dWindowId</a> - The ID of the Maintenance Window whose tasks
--   should be retrieved.</li>
--   </ul>
describeMaintenanceWindowTasks :: Text -> DescribeMaintenanceWindowTasks

-- | <i>See:</i> <a>describeMaintenanceWindowTasks</a> smart constructor.
data DescribeMaintenanceWindowTasks

-- | Optional filters used to narrow down the scope of the returned tasks.
--   The supported filter keys are <tt>WindowTaskId</tt> , <tt>TaskArn</tt>
--   , <tt>Priority</tt> , and <tt>TaskType</tt> .
dFilters :: Lens' DescribeMaintenanceWindowTasks [MaintenanceWindowFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dNextToken :: Lens' DescribeMaintenanceWindowTasks (Maybe Text)

-- | 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.
dMaxResults :: Lens' DescribeMaintenanceWindowTasks (Maybe Natural)

-- | The ID of the Maintenance Window whose tasks should be retrieved.
dWindowId :: Lens' DescribeMaintenanceWindowTasks Text

-- | Creates a value of <a>DescribeMaintenanceWindowTasksResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwtsrsTasks</a> - Information about the tasks in the
--   Maintenance Window.</li>
--   <li><a>dmwtsrsNextToken</a> - The token to use when requesting the
--   next set of items. If there are no additional items to return, the
--   string is empty.</li>
--   <li><a>dmwtsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeMaintenanceWindowTasksResponse :: Int -> DescribeMaintenanceWindowTasksResponse

-- | <i>See:</i> <a>describeMaintenanceWindowTasksResponse</a> smart
--   constructor.
data DescribeMaintenanceWindowTasksResponse

-- | Information about the tasks in the Maintenance Window.
dmwtsrsTasks :: Lens' DescribeMaintenanceWindowTasksResponse [MaintenanceWindowTask]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dmwtsrsNextToken :: Lens' DescribeMaintenanceWindowTasksResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwtsrsResponseStatus :: Lens' DescribeMaintenanceWindowTasksResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasks
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse


-- | Lists the targets registered with the Maintenance Window.
module Network.AWS.SSM.DescribeMaintenanceWindowTargets

-- | Creates a value of <a>DescribeMaintenanceWindowTargets</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwtFilters</a> - Optional filters that can be used to narrow
--   down the scope of the returned window targets. The supported filter
--   keys are <tt>Type</tt> , <tt>WindowTargetId</tt> and
--   <tt>OwnerInformation</tt> .</li>
--   <li><a>dmwtNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dmwtMaxResults</a> - 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.</li>
--   <li><a>dmwtWindowId</a> - The ID of the Maintenance Window whose
--   targets should be retrieved.</li>
--   </ul>
describeMaintenanceWindowTargets :: Text -> DescribeMaintenanceWindowTargets

-- | <i>See:</i> <a>describeMaintenanceWindowTargets</a> smart constructor.
data DescribeMaintenanceWindowTargets

-- | Optional filters that can be used to narrow down the scope of the
--   returned window targets. The supported filter keys are <tt>Type</tt> ,
--   <tt>WindowTargetId</tt> and <tt>OwnerInformation</tt> .
dmwtFilters :: Lens' DescribeMaintenanceWindowTargets [MaintenanceWindowFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dmwtNextToken :: Lens' DescribeMaintenanceWindowTargets (Maybe Text)

-- | 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.
dmwtMaxResults :: Lens' DescribeMaintenanceWindowTargets (Maybe Natural)

-- | The ID of the Maintenance Window whose targets should be retrieved.
dmwtWindowId :: Lens' DescribeMaintenanceWindowTargets Text

-- | Creates a value of <a>DescribeMaintenanceWindowTargetsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwtrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>dmwtrsTargets</a> - Information about the targets in the
--   Maintenance Window.</li>
--   <li><a>dmwtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeMaintenanceWindowTargetsResponse :: Int -> DescribeMaintenanceWindowTargetsResponse

-- | <i>See:</i> <a>describeMaintenanceWindowTargetsResponse</a> smart
--   constructor.
data DescribeMaintenanceWindowTargetsResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dmwtrsNextToken :: Lens' DescribeMaintenanceWindowTargetsResponse (Maybe Text)

-- | Information about the targets in the Maintenance Window.
dmwtrsTargets :: Lens' DescribeMaintenanceWindowTargetsResponse [MaintenanceWindowTarget]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwtrsResponseStatus :: Lens' DescribeMaintenanceWindowTargetsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargets
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse


-- | 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).
module Network.AWS.SSM.DescribeMaintenanceWindowExecutions

-- | Creates a value of <a>DescribeMaintenanceWindowExecutions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmweFilters</a> - Each entry in the array is a structure
--   containing: Key (string, 1 ≤ length ≤ 128) Values (array of strings 1
--   ≤ length ≤ 256) The supported Keys are <tt>ExecutedBefore</tt> and
--   <tt>ExecutedAfter</tt> with the value being a date/time string such as
--   2016-11-04T05:00:00Z.</li>
--   <li><a>dmweNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dmweMaxResults</a> - 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.</li>
--   <li><a>dmweWindowId</a> - The ID of the Maintenance Window whose
--   executions should be retrieved.</li>
--   </ul>
describeMaintenanceWindowExecutions :: Text -> DescribeMaintenanceWindowExecutions

-- | <i>See:</i> <a>describeMaintenanceWindowExecutions</a> smart
--   constructor.
data DescribeMaintenanceWindowExecutions

-- | Each entry in the array is a structure containing: Key (string, 1 ≤
--   length ≤ 128) Values (array of strings 1 ≤ length ≤ 256) The supported
--   Keys are <tt>ExecutedBefore</tt> and <tt>ExecutedAfter</tt> with the
--   value being a date/time string such as 2016-11-04T05:00:00Z.
dmweFilters :: Lens' DescribeMaintenanceWindowExecutions [MaintenanceWindowFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dmweNextToken :: Lens' DescribeMaintenanceWindowExecutions (Maybe Text)

-- | 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.
dmweMaxResults :: Lens' DescribeMaintenanceWindowExecutions (Maybe Natural)

-- | The ID of the Maintenance Window whose executions should be retrieved.
dmweWindowId :: Lens' DescribeMaintenanceWindowExecutions Text

-- | Creates a value of <a>DescribeMaintenanceWindowExecutionsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwersWindowExecutions</a> - Information about the Maintenance
--   Windows execution.</li>
--   <li><a>dmwersNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>dmwersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeMaintenanceWindowExecutionsResponse :: Int -> DescribeMaintenanceWindowExecutionsResponse

-- | <i>See:</i> <a>describeMaintenanceWindowExecutionsResponse</a> smart
--   constructor.
data DescribeMaintenanceWindowExecutionsResponse

-- | Information about the Maintenance Windows execution.
dmwersWindowExecutions :: Lens' DescribeMaintenanceWindowExecutionsResponse [MaintenanceWindowExecution]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dmwersNextToken :: Lens' DescribeMaintenanceWindowExecutionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwersResponseStatus :: Lens' DescribeMaintenanceWindowExecutionsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutions
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse


-- | For a given Maintenance Window execution, lists the tasks that were
--   executed.
module Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks

-- | Creates a value of <a>DescribeMaintenanceWindowExecutionTasks</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwetFilters</a> - 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.</li>
--   <li><a>dmwetNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dmwetMaxResults</a> - 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.</li>
--   <li><a>dmwetWindowExecutionId</a> - The ID of the Maintenance Window
--   execution whose task executions should be retrieved.</li>
--   </ul>
describeMaintenanceWindowExecutionTasks :: Text -> DescribeMaintenanceWindowExecutionTasks

-- | <i>See:</i> <a>describeMaintenanceWindowExecutionTasks</a> smart
--   constructor.
data DescribeMaintenanceWindowExecutionTasks

-- | 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.
dmwetFilters :: Lens' DescribeMaintenanceWindowExecutionTasks [MaintenanceWindowFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dmwetNextToken :: Lens' DescribeMaintenanceWindowExecutionTasks (Maybe Text)

-- | 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.
dmwetMaxResults :: Lens' DescribeMaintenanceWindowExecutionTasks (Maybe Natural)

-- | The ID of the Maintenance Window execution whose task executions
--   should be retrieved.
dmwetWindowExecutionId :: Lens' DescribeMaintenanceWindowExecutionTasks Text

-- | Creates a value of
--   <a>DescribeMaintenanceWindowExecutionTasksResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwetrsNextToken</a> - The token to use when requesting the
--   next set of items. If there are no additional items to return, the
--   string is empty.</li>
--   <li><a>dmwetrsWindowExecutionTaskIdentities</a> - Information about
--   the task executions.</li>
--   <li><a>dmwetrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeMaintenanceWindowExecutionTasksResponse :: Int -> DescribeMaintenanceWindowExecutionTasksResponse

-- | <i>See:</i> <a>describeMaintenanceWindowExecutionTasksResponse</a>
--   smart constructor.
data DescribeMaintenanceWindowExecutionTasksResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dmwetrsNextToken :: Lens' DescribeMaintenanceWindowExecutionTasksResponse (Maybe Text)

-- | Information about the task executions.
dmwetrsWindowExecutionTaskIdentities :: Lens' DescribeMaintenanceWindowExecutionTasksResponse [MaintenanceWindowExecutionTaskIdentity]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwetrsResponseStatus :: Lens' DescribeMaintenanceWindowExecutionTasksResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasks
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse


-- | Retrieves the individual task executions (one per target) for a
--   particular task executed as part of a Maintenance Window execution.
module Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations

-- | Creates a value of
--   <a>DescribeMaintenanceWindowExecutionTaskInvocations</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwetiFilters</a> - 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.</li>
--   <li><a>dmwetiNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dmwetiMaxResults</a> - 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.</li>
--   <li><a>dmwetiWindowExecutionId</a> - The ID of the Maintenance Window
--   execution the task is part of.</li>
--   <li><a>dmwetiTaskId</a> - The ID of the specific task in the
--   Maintenance Window task that should be retrieved.</li>
--   </ul>
describeMaintenanceWindowExecutionTaskInvocations :: Text -> Text -> DescribeMaintenanceWindowExecutionTaskInvocations

-- | <i>See:</i> <a>describeMaintenanceWindowExecutionTaskInvocations</a>
--   smart constructor.
data DescribeMaintenanceWindowExecutionTaskInvocations

-- | 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.
dmwetiFilters :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations [MaintenanceWindowFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dmwetiNextToken :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations (Maybe Text)

-- | 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.
dmwetiMaxResults :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations (Maybe Natural)

-- | The ID of the Maintenance Window execution the task is part of.
dmwetiWindowExecutionId :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations Text

-- | The ID of the specific task in the Maintenance Window task that should
--   be retrieved.
dmwetiTaskId :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations Text

-- | Creates a value of
--   <a>DescribeMaintenanceWindowExecutionTaskInvocationsResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwetirsWindowExecutionTaskInvocationIdentities</a> -
--   Information about the task invocation results per invocation.</li>
--   <li><a>dmwetirsNextToken</a> - The token to use when requesting the
--   next set of items. If there are no additional items to return, the
--   string is empty.</li>
--   <li><a>dmwetirsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
describeMaintenanceWindowExecutionTaskInvocationsResponse :: Int -> DescribeMaintenanceWindowExecutionTaskInvocationsResponse

-- | <i>See:</i>
--   <a>describeMaintenanceWindowExecutionTaskInvocationsResponse</a> smart
--   constructor.
data DescribeMaintenanceWindowExecutionTaskInvocationsResponse

-- | Information about the task invocation results per invocation.
dmwetirsWindowExecutionTaskInvocationIdentities :: Lens' DescribeMaintenanceWindowExecutionTaskInvocationsResponse [MaintenanceWindowExecutionTaskInvocationIdentity]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
dmwetirsNextToken :: Lens' DescribeMaintenanceWindowExecutionTaskInvocationsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwetirsResponseStatus :: Lens' DescribeMaintenanceWindowExecutionTaskInvocationsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Data.Data.Data Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance GHC.Show.Show Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance GHC.Read.Read Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance GHC.Classes.Eq Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocations
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse


-- | 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.
module Network.AWS.SSM.DescribeInstanceInformation

-- | Creates a value of <a>DescribeInstanceInformation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diiInstanceInformationFilterList</a> - One or more filters. Use
--   a filter to return a more specific list of instances.</li>
--   <li><a>diiFilters</a> - One or more filters. Use a filter to return a
--   more specific list of instances.</li>
--   <li><a>diiNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>diiMaxResults</a> - 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.</li>
--   </ul>
describeInstanceInformation :: DescribeInstanceInformation

-- | <i>See:</i> <a>describeInstanceInformation</a> smart constructor.
data DescribeInstanceInformation

-- | One or more filters. Use a filter to return a more specific list of
--   instances.
diiInstanceInformationFilterList :: Lens' DescribeInstanceInformation [InstanceInformationFilter]

-- | One or more filters. Use a filter to return a more specific list of
--   instances.
diiFilters :: Lens' DescribeInstanceInformation [InstanceInformationStringFilter]

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
diiNextToken :: Lens' DescribeInstanceInformation (Maybe Text)

-- | 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.
diiMaxResults :: Lens' DescribeInstanceInformation (Maybe Natural)

-- | Creates a value of <a>DescribeInstanceInformationResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diirsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>diirsInstanceInformationList</a> - The instance information
--   list.</li>
--   <li><a>diirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInstanceInformationResponse :: Int -> DescribeInstanceInformationResponse

-- | <i>See:</i> <a>describeInstanceInformationResponse</a> smart
--   constructor.
data DescribeInstanceInformationResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
diirsNextToken :: Lens' DescribeInstanceInformationResponse (Maybe Text)

-- | The instance information list.
diirsInstanceInformationList :: Lens' DescribeInstanceInformationResponse [InstanceInformation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
diirsResponseStatus :: Lens' DescribeInstanceInformationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse
instance Data.Data.Data Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Data.Data.Data Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance GHC.Show.Show Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance GHC.Read.Read Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance GHC.Classes.Eq Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformation
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse


-- | The status of the associations for the instance(s).
module Network.AWS.SSM.DescribeInstanceAssociationsStatus

-- | Creates a value of <a>DescribeInstanceAssociationsStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diasNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>diasMaxResults</a> - 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.</li>
--   <li><a>diasInstanceId</a> - The instance IDs for which you want
--   association status information.</li>
--   </ul>
describeInstanceAssociationsStatus :: Text -> DescribeInstanceAssociationsStatus

-- | <i>See:</i> <a>describeInstanceAssociationsStatus</a> smart
--   constructor.
data DescribeInstanceAssociationsStatus

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
diasNextToken :: Lens' DescribeInstanceAssociationsStatus (Maybe Text)

-- | 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.
diasMaxResults :: Lens' DescribeInstanceAssociationsStatus (Maybe Natural)

-- | The instance IDs for which you want association status information.
diasInstanceId :: Lens' DescribeInstanceAssociationsStatus Text

-- | Creates a value of <a>DescribeInstanceAssociationsStatusResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diasrsInstanceAssociationStatusInfos</a> - Status information
--   about the association.</li>
--   <li><a>diasrsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>diasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInstanceAssociationsStatusResponse :: Int -> DescribeInstanceAssociationsStatusResponse

-- | <i>See:</i> <a>describeInstanceAssociationsStatusResponse</a> smart
--   constructor.
data DescribeInstanceAssociationsStatusResponse

-- | Status information about the association.
diasrsInstanceAssociationStatusInfos :: Lens' DescribeInstanceAssociationsStatusResponse [InstanceAssociationStatusInfo]

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
diasrsNextToken :: Lens' DescribeInstanceAssociationsStatusResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
diasrsResponseStatus :: Lens' DescribeInstanceAssociationsStatusResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse
instance Data.Data.Data Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Data.Data.Data Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance GHC.Show.Show Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance GHC.Read.Read Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance GHC.Classes.Eq Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatus
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse


-- | All associations for the instance(s).
module Network.AWS.SSM.DescribeEffectiveInstanceAssociations

-- | Creates a value of <a>DescribeEffectiveInstanceAssociations</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>deiaNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>deiaMaxResults</a> - 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.</li>
--   <li><a>deiaInstanceId</a> - The instance ID for which you want to view
--   all associations.</li>
--   </ul>
describeEffectiveInstanceAssociations :: Text -> DescribeEffectiveInstanceAssociations

-- | <i>See:</i> <a>describeEffectiveInstanceAssociations</a> smart
--   constructor.
data DescribeEffectiveInstanceAssociations

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
deiaNextToken :: Lens' DescribeEffectiveInstanceAssociations (Maybe Text)

-- | 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.
deiaMaxResults :: Lens' DescribeEffectiveInstanceAssociations (Maybe Natural)

-- | The instance ID for which you want to view all associations.
deiaInstanceId :: Lens' DescribeEffectiveInstanceAssociations Text

-- | Creates a value of
--   <a>DescribeEffectiveInstanceAssociationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>deiarsNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>deiarsAssociations</a> - The associations for the requested
--   instance.</li>
--   <li><a>deiarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEffectiveInstanceAssociationsResponse :: Int -> DescribeEffectiveInstanceAssociationsResponse

-- | <i>See:</i> <a>describeEffectiveInstanceAssociationsResponse</a> smart
--   constructor.
data DescribeEffectiveInstanceAssociationsResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
deiarsNextToken :: Lens' DescribeEffectiveInstanceAssociationsResponse (Maybe Text)

-- | The associations for the requested instance.
deiarsAssociations :: Lens' DescribeEffectiveInstanceAssociationsResponse [InstanceAssociation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
deiarsResponseStatus :: Lens' DescribeEffectiveInstanceAssociationsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Data.Data.Data Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance GHC.Show.Show Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance GHC.Read.Read Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance GHC.Classes.Eq Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociations
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse


-- | 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> ).
module Network.AWS.SSM.DescribeDocumentPermission

-- | Creates a value of <a>DescribeDocumentPermission</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddpName</a> - The name of the document for which you are the
--   owner.</li>
--   <li><a>ddpPermissionType</a> - The permission type for the document.
--   The permission type can be <i>Share</i> .</li>
--   </ul>
describeDocumentPermission :: Text -> DocumentPermissionType -> DescribeDocumentPermission

-- | <i>See:</i> <a>describeDocumentPermission</a> smart constructor.
data DescribeDocumentPermission

-- | The name of the document for which you are the owner.
ddpName :: Lens' DescribeDocumentPermission Text

-- | The permission type for the document. The permission type can be
--   <i>Share</i> .
ddpPermissionType :: Lens' DescribeDocumentPermission DocumentPermissionType

-- | Creates a value of <a>DescribeDocumentPermissionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddprsAccountIds</a> - The account IDs that have permission to
--   use this document. The ID can be either an AWS account or <i>All</i>
--   .</li>
--   <li><a>ddprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDocumentPermissionResponse :: Int -> DescribeDocumentPermissionResponse

-- | <i>See:</i> <a>describeDocumentPermissionResponse</a> smart
--   constructor.
data DescribeDocumentPermissionResponse

-- | The account IDs that have permission to use this document. The ID can
--   be either an AWS account or <i>All</i> .
ddprsAccountIds :: Lens' DescribeDocumentPermissionResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddprsResponseStatus :: Lens' DescribeDocumentPermissionResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse
instance Data.Data.Data Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Data.Data.Data Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance GHC.Show.Show Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance GHC.Read.Read Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance GHC.Classes.Eq Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermission
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse


-- | Describes the specified SSM document.
module Network.AWS.SSM.DescribeDocument

-- | Creates a value of <a>DescribeDocument</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddDocumentVersion</a> - The document version for which you want
--   information. Can be a specific version or the default version.</li>
--   <li><a>ddName</a> - The name of the SSM document.</li>
--   </ul>
describeDocument :: Text -> DescribeDocument

-- | <i>See:</i> <a>describeDocument</a> smart constructor.
data DescribeDocument

-- | The document version for which you want information. Can be a specific
--   version or the default version.
ddDocumentVersion :: Lens' DescribeDocument (Maybe Text)

-- | The name of the SSM document.
ddName :: Lens' DescribeDocument Text

-- | Creates a value of <a>DescribeDocumentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsDocument</a> - Information about the SSM document.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDocumentResponse :: Int -> DescribeDocumentResponse

-- | <i>See:</i> <a>describeDocumentResponse</a> smart constructor.
data DescribeDocumentResponse

-- | Information about the SSM document.
drsDocument :: Lens' DescribeDocumentResponse (Maybe DocumentDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DescribeDocumentResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse
instance Data.Data.Data Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Data.Data.Data Network.AWS.SSM.DescribeDocument.DescribeDocument
instance GHC.Show.Show Network.AWS.SSM.DescribeDocument.DescribeDocument
instance GHC.Read.Read Network.AWS.SSM.DescribeDocument.DescribeDocument
instance GHC.Classes.Eq Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeDocument.DescribeDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse


-- | Provides details about all active and terminated Automation
--   executions.
module Network.AWS.SSM.DescribeAutomationExecutions

-- | Creates a value of <a>DescribeAutomationExecutions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daeFilters</a> - Filters used to limit the scope of executions
--   that are requested.</li>
--   <li><a>daeNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>daeMaxResults</a> - 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.</li>
--   </ul>
describeAutomationExecutions :: DescribeAutomationExecutions

-- | <i>See:</i> <a>describeAutomationExecutions</a> smart constructor.
data DescribeAutomationExecutions

-- | Filters used to limit the scope of executions that are requested.
daeFilters :: Lens' DescribeAutomationExecutions (Maybe (NonEmpty AutomationExecutionFilter))

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
daeNextToken :: Lens' DescribeAutomationExecutions (Maybe Text)

-- | 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.
daeMaxResults :: Lens' DescribeAutomationExecutions (Maybe Natural)

-- | Creates a value of <a>DescribeAutomationExecutionsResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daersNextToken</a> - The token to use when requesting the next
--   set of items. If there are no additional items to return, the string
--   is empty.</li>
--   <li><a>daersAutomationExecutionMetadataList</a> - The list of details
--   about each automation execution which has occurred which matches the
--   filter specification, if any.</li>
--   <li><a>daersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAutomationExecutionsResponse :: Int -> DescribeAutomationExecutionsResponse

-- | <i>See:</i> <a>describeAutomationExecutionsResponse</a> smart
--   constructor.
data DescribeAutomationExecutionsResponse

-- | The token to use when requesting the next set of items. If there are
--   no additional items to return, the string is empty.
daersNextToken :: Lens' DescribeAutomationExecutionsResponse (Maybe Text)

-- | The list of details about each automation execution which has occurred
--   which matches the filter specification, if any.
daersAutomationExecutionMetadataList :: Lens' DescribeAutomationExecutionsResponse [AutomationExecutionMetadata]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
daersResponseStatus :: Lens' DescribeAutomationExecutionsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Data.Data.Data Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance GHC.Show.Show Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance GHC.Read.Read Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance GHC.Classes.Eq Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutions
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse


-- | Describes the associations for the specified SSM document or instance.
module Network.AWS.SSM.DescribeAssociation

-- | Creates a value of <a>DescribeAssociation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daAssociationId</a> - The association ID for which you want
--   information.</li>
--   <li><a>daInstanceId</a> - The instance ID.</li>
--   <li><a>daName</a> - The name of the SSM document.</li>
--   </ul>
describeAssociation :: DescribeAssociation

-- | <i>See:</i> <a>describeAssociation</a> smart constructor.
data DescribeAssociation

-- | The association ID for which you want information.
daAssociationId :: Lens' DescribeAssociation (Maybe Text)

-- | The instance ID.
daInstanceId :: Lens' DescribeAssociation (Maybe Text)

-- | The name of the SSM document.
daName :: Lens' DescribeAssociation (Maybe Text)

-- | Creates a value of <a>DescribeAssociationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>desrsAssociationDescription</a> - Information about the
--   association.</li>
--   <li><a>desrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAssociationResponse :: Int -> DescribeAssociationResponse

-- | <i>See:</i> <a>describeAssociationResponse</a> smart constructor.
data DescribeAssociationResponse

-- | Information about the association.
desrsAssociationDescription :: Lens' DescribeAssociationResponse (Maybe AssociationDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
desrsResponseStatus :: Lens' DescribeAssociationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse
instance Data.Data.Data Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Data.Data.Data Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance GHC.Show.Show Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance GHC.Read.Read Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance GHC.Classes.Eq Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeAssociation.DescribeAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse


-- | 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.
module Network.AWS.SSM.DescribeActivations

-- | Creates a value of <a>DescribeActivations</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daFilters</a> - A filter to view information about your
--   activations.</li>
--   <li><a>daNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>daMaxResults</a> - 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.</li>
--   </ul>
describeActivations :: DescribeActivations

-- | <i>See:</i> <a>describeActivations</a> smart constructor.
data DescribeActivations

-- | A filter to view information about your activations.
daFilters :: Lens' DescribeActivations [DescribeActivationsFilter]

-- | A token to start the list. Use this token to get the next set of
--   results.
daNextToken :: Lens' DescribeActivations (Maybe Text)

-- | 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.
daMaxResults :: Lens' DescribeActivations (Maybe Natural)

-- | Creates a value of <a>DescribeActivationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>darsActivationList</a> - A list of activations for your AWS
--   account.</li>
--   <li><a>darsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>darsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeActivationsResponse :: Int -> DescribeActivationsResponse

-- | <i>See:</i> <a>describeActivationsResponse</a> smart constructor.
data DescribeActivationsResponse

-- | A list of activations for your AWS account.
darsActivationList :: Lens' DescribeActivationsResponse [Activation]

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
darsNextToken :: Lens' DescribeActivationsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
darsResponseStatus :: Lens' DescribeActivationsResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse
instance Data.Data.Data Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse
instance GHC.Show.Show Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse
instance GHC.Read.Read Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse
instance GHC.Classes.Eq Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse
instance GHC.Generics.Generic Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Data.Data.Data Network.AWS.SSM.DescribeActivations.DescribeActivations
instance GHC.Show.Show Network.AWS.SSM.DescribeActivations.DescribeActivations
instance GHC.Read.Read Network.AWS.SSM.DescribeActivations.DescribeActivations
instance GHC.Classes.Eq Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeActivations.DescribeActivations
instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse


-- | Removes a task from a Maintenance Window.
module Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow

-- | Creates a value of <a>DeregisterTaskFromMaintenanceWindow</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>derWindowId</a> - The ID of the Maintenance Window the task
--   should be removed from.</li>
--   <li><a>derWindowTaskId</a> - The ID of the task to remove from the
--   Maintenance Window.</li>
--   </ul>
deregisterTaskFromMaintenanceWindow :: Text -> Text -> DeregisterTaskFromMaintenanceWindow

-- | <i>See:</i> <a>deregisterTaskFromMaintenanceWindow</a> smart
--   constructor.
data DeregisterTaskFromMaintenanceWindow

-- | The ID of the Maintenance Window the task should be removed from.
derWindowId :: Lens' DeregisterTaskFromMaintenanceWindow Text

-- | The ID of the task to remove from the Maintenance Window.
derWindowTaskId :: Lens' DeregisterTaskFromMaintenanceWindow Text

-- | Creates a value of <a>DeregisterTaskFromMaintenanceWindowResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>derrsWindowTaskId</a> - The ID of the task removed from the
--   Maintenance Window.</li>
--   <li><a>derrsWindowId</a> - The ID of the Maintenance Window the task
--   was removed from.</li>
--   <li><a>derrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deregisterTaskFromMaintenanceWindowResponse :: Int -> DeregisterTaskFromMaintenanceWindowResponse

-- | <i>See:</i> <a>deregisterTaskFromMaintenanceWindowResponse</a> smart
--   constructor.
data DeregisterTaskFromMaintenanceWindowResponse

-- | The ID of the task removed from the Maintenance Window.
derrsWindowTaskId :: Lens' DeregisterTaskFromMaintenanceWindowResponse (Maybe Text)

-- | The ID of the Maintenance Window the task was removed from.
derrsWindowId :: Lens' DeregisterTaskFromMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
derrsResponseStatus :: Lens' DeregisterTaskFromMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse


-- | Removes a target from a Maintenance Window.
module Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow

-- | Creates a value of <a>DeregisterTargetFromMaintenanceWindow</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtfmwWindowId</a> - The ID of the Maintenance Window the target
--   should be removed from.</li>
--   <li><a>dtfmwWindowTargetId</a> - The ID of the target definition to
--   remove.</li>
--   </ul>
deregisterTargetFromMaintenanceWindow :: Text -> Text -> DeregisterTargetFromMaintenanceWindow

-- | <i>See:</i> <a>deregisterTargetFromMaintenanceWindow</a> smart
--   constructor.
data DeregisterTargetFromMaintenanceWindow

-- | The ID of the Maintenance Window the target should be removed from.
dtfmwWindowId :: Lens' DeregisterTargetFromMaintenanceWindow Text

-- | The ID of the target definition to remove.
dtfmwWindowTargetId :: Lens' DeregisterTargetFromMaintenanceWindow Text

-- | Creates a value of
--   <a>DeregisterTargetFromMaintenanceWindowResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtfmwrsWindowTargetId</a> - The ID of the removed target
--   definition.</li>
--   <li><a>dtfmwrsWindowId</a> - The ID of the Maintenance Window the
--   target was removed from.</li>
--   <li><a>dtfmwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deregisterTargetFromMaintenanceWindowResponse :: Int -> DeregisterTargetFromMaintenanceWindowResponse

-- | <i>See:</i> <a>deregisterTargetFromMaintenanceWindowResponse</a> smart
--   constructor.
data DeregisterTargetFromMaintenanceWindowResponse

-- | The ID of the removed target definition.
dtfmwrsWindowTargetId :: Lens' DeregisterTargetFromMaintenanceWindowResponse (Maybe Text)

-- | The ID of the Maintenance Window the target was removed from.
dtfmwrsWindowId :: Lens' DeregisterTargetFromMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtfmwrsResponseStatus :: Lens' DeregisterTargetFromMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse


-- | 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.
module Network.AWS.SSM.DeregisterManagedInstance

-- | Creates a value of <a>DeregisterManagedInstance</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmiInstanceId</a> - The ID assigned to the managed instance
--   when you registered it using the activation process.</li>
--   </ul>
deregisterManagedInstance :: Text -> DeregisterManagedInstance

-- | <i>See:</i> <a>deregisterManagedInstance</a> smart constructor.
data DeregisterManagedInstance

-- | The ID assigned to the managed instance when you registered it using
--   the activation process.
dmiInstanceId :: Lens' DeregisterManagedInstance Text

-- | Creates a value of <a>DeregisterManagedInstanceResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deregisterManagedInstanceResponse :: Int -> DeregisterManagedInstanceResponse

-- | <i>See:</i> <a>deregisterManagedInstanceResponse</a> smart
--   constructor.
data DeregisterManagedInstanceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmirsResponseStatus :: Lens' DeregisterManagedInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse
instance Data.Data.Data Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse
instance GHC.Show.Show Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse
instance GHC.Read.Read Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Data.Data.Data Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance GHC.Show.Show Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance GHC.Read.Read Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance GHC.Classes.Eq Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Control.DeepSeq.NFData Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstance
instance Control.DeepSeq.NFData Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse


-- | Delete a parameter from the system.
module Network.AWS.SSM.DeleteParameter

-- | Creates a value of <a>DeleteParameter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delName</a> - The name of the parameter to delete.</li>
--   </ul>
deleteParameter :: Text -> DeleteParameter

-- | <i>See:</i> <a>deleteParameter</a> smart constructor.
data DeleteParameter

-- | The name of the parameter to delete.
delName :: Lens' DeleteParameter Text

-- | Creates a value of <a>DeleteParameterResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteParameterResponse :: Int -> DeleteParameterResponse

-- | <i>See:</i> <a>deleteParameterResponse</a> smart constructor.
data DeleteParameterResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dpprsResponseStatus :: Lens' DeleteParameterResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeleteParameter.DeleteParameterResponse
instance Data.Data.Data Network.AWS.SSM.DeleteParameter.DeleteParameterResponse
instance GHC.Show.Show Network.AWS.SSM.DeleteParameter.DeleteParameterResponse
instance GHC.Read.Read Network.AWS.SSM.DeleteParameter.DeleteParameterResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeleteParameter.DeleteParameterResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Data.Data.Data Network.AWS.SSM.DeleteParameter.DeleteParameter
instance GHC.Show.Show Network.AWS.SSM.DeleteParameter.DeleteParameter
instance GHC.Read.Read Network.AWS.SSM.DeleteParameter.DeleteParameter
instance GHC.Classes.Eq Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeleteParameter.DeleteParameter
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteParameter.DeleteParameterResponse


-- | Deletes a Maintenance Window.
module Network.AWS.SSM.DeleteMaintenanceWindow

-- | Creates a value of <a>DeleteMaintenanceWindow</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwWindowId</a> - The ID of the Maintenance Window to
--   delete.</li>
--   </ul>
deleteMaintenanceWindow :: Text -> DeleteMaintenanceWindow

-- | <i>See:</i> <a>deleteMaintenanceWindow</a> smart constructor.
data DeleteMaintenanceWindow

-- | The ID of the Maintenance Window to delete.
dmwWindowId :: Lens' DeleteMaintenanceWindow Text

-- | Creates a value of <a>DeleteMaintenanceWindowResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmwrsWindowId</a> - The ID of the deleted Maintenance
--   Window.</li>
--   <li><a>dmwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteMaintenanceWindowResponse :: Int -> DeleteMaintenanceWindowResponse

-- | <i>See:</i> <a>deleteMaintenanceWindowResponse</a> smart constructor.
data DeleteMaintenanceWindowResponse

-- | The ID of the deleted Maintenance Window.
dmwrsWindowId :: Lens' DeleteMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmwrsResponseStatus :: Lens' DeleteMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse


-- | Deletes the SSM document and all instance associations to the
--   document.
--   
--   Before you delete the SSM document, we recommend that you use
--   DeleteAssociation to disassociate all instances that are associated
--   with the document.
module Network.AWS.SSM.DeleteDocument

-- | Creates a value of <a>DeleteDocument</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dddName</a> - The name of the SSM document.</li>
--   </ul>
deleteDocument :: Text -> DeleteDocument

-- | <i>See:</i> <a>deleteDocument</a> smart constructor.
data DeleteDocument

-- | The name of the SSM document.
dddName :: Lens' DeleteDocument Text

-- | Creates a value of <a>DeleteDocumentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDocumentResponse :: Int -> DeleteDocumentResponse

-- | <i>See:</i> <a>deleteDocumentResponse</a> smart constructor.
data DeleteDocumentResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddrsResponseStatus :: Lens' DeleteDocumentResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse
instance Data.Data.Data Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse
instance GHC.Show.Show Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse
instance GHC.Read.Read Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Data.Data.Data Network.AWS.SSM.DeleteDocument.DeleteDocument
instance GHC.Show.Show Network.AWS.SSM.DeleteDocument.DeleteDocument
instance GHC.Read.Read Network.AWS.SSM.DeleteDocument.DeleteDocument
instance GHC.Classes.Eq Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeleteDocument.DeleteDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse


-- | Disassociates the specified SSM document from the specified instance.
--   
--   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.
module Network.AWS.SSM.DeleteAssociation

-- | Creates a value of <a>DeleteAssociation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daaAssociationId</a> - The association ID that you want to
--   delete.</li>
--   <li><a>daaInstanceId</a> - The ID of the instance.</li>
--   <li><a>daaName</a> - The name of the SSM document.</li>
--   </ul>
deleteAssociation :: DeleteAssociation

-- | <i>See:</i> <a>deleteAssociation</a> smart constructor.
data DeleteAssociation

-- | The association ID that you want to delete.
daaAssociationId :: Lens' DeleteAssociation (Maybe Text)

-- | The ID of the instance.
daaInstanceId :: Lens' DeleteAssociation (Maybe Text)

-- | The name of the SSM document.
daaName :: Lens' DeleteAssociation (Maybe Text)

-- | Creates a value of <a>DeleteAssociationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteAssociationResponse :: Int -> DeleteAssociationResponse

-- | <i>See:</i> <a>deleteAssociationResponse</a> smart constructor.
data DeleteAssociationResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
delrsResponseStatus :: Lens' DeleteAssociationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse
instance Data.Data.Data Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse
instance GHC.Show.Show Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse
instance GHC.Read.Read Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Data.Data.Data Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance GHC.Show.Show Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance GHC.Read.Read Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance GHC.Classes.Eq Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeleteAssociation.DeleteAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse


-- | 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.
module Network.AWS.SSM.DeleteActivation

-- | Creates a value of <a>DeleteActivation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daActivationId</a> - The ID of the activation that you want to
--   delete.</li>
--   </ul>
deleteActivation :: Text -> DeleteActivation

-- | <i>See:</i> <a>deleteActivation</a> smart constructor.
data DeleteActivation

-- | The ID of the activation that you want to delete.
daActivationId :: Lens' DeleteActivation Text

-- | Creates a value of <a>DeleteActivationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteActivationResponse :: Int -> DeleteActivationResponse

-- | <i>See:</i> <a>deleteActivationResponse</a> smart constructor.
data DeleteActivationResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
daarsResponseStatus :: Lens' DeleteActivationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.DeleteActivation.DeleteActivationResponse
instance Data.Data.Data Network.AWS.SSM.DeleteActivation.DeleteActivationResponse
instance GHC.Show.Show Network.AWS.SSM.DeleteActivation.DeleteActivationResponse
instance GHC.Read.Read Network.AWS.SSM.DeleteActivation.DeleteActivationResponse
instance GHC.Classes.Eq Network.AWS.SSM.DeleteActivation.DeleteActivationResponse
instance GHC.Generics.Generic Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Data.Data.Data Network.AWS.SSM.DeleteActivation.DeleteActivation
instance GHC.Show.Show Network.AWS.SSM.DeleteActivation.DeleteActivation
instance GHC.Read.Read Network.AWS.SSM.DeleteActivation.DeleteActivation
instance GHC.Classes.Eq Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeleteActivation.DeleteActivation
instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteActivation.DeleteActivationResponse


-- | Creates a new Maintenance Window.
module Network.AWS.SSM.CreateMaintenanceWindow

-- | Creates a value of <a>CreateMaintenanceWindow</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cmwClientToken</a> - User-provided idempotency token.</li>
--   <li><a>cmwName</a> - The name of the Maintenance Window.</li>
--   <li><a>cmwSchedule</a> - The schedule of the Maintenance Window in the
--   form of a cron or rate expression.</li>
--   <li><a>cmwDuration</a> - The duration of the Maintenance Window in
--   hours.</li>
--   <li><a>cmwCutoff</a> - The number of hours before the end of the
--   Maintenance Window that Systems Manager stops scheduling new tasks for
--   execution.</li>
--   <li><a>cmwAllowUnassociatedTargets</a> - Whether targets must be
--   registered with the Maintenance Window before tasks can be defined for
--   those targets.</li>
--   </ul>
createMaintenanceWindow :: Text -> Text -> Natural -> Natural -> Bool -> CreateMaintenanceWindow

-- | <i>See:</i> <a>createMaintenanceWindow</a> smart constructor.
data CreateMaintenanceWindow

-- | User-provided idempotency token.
cmwClientToken :: Lens' CreateMaintenanceWindow (Maybe Text)

-- | The name of the Maintenance Window.
cmwName :: Lens' CreateMaintenanceWindow Text

-- | The schedule of the Maintenance Window in the form of a cron or rate
--   expression.
cmwSchedule :: Lens' CreateMaintenanceWindow Text

-- | The duration of the Maintenance Window in hours.
cmwDuration :: Lens' CreateMaintenanceWindow Natural

-- | The number of hours before the end of the Maintenance Window that
--   Systems Manager stops scheduling new tasks for execution.
cmwCutoff :: Lens' CreateMaintenanceWindow Natural

-- | Whether targets must be registered with the Maintenance Window before
--   tasks can be defined for those targets.
cmwAllowUnassociatedTargets :: Lens' CreateMaintenanceWindow Bool

-- | Creates a value of <a>CreateMaintenanceWindowResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cmwrsWindowId</a> - The ID of the created Maintenance
--   Window.</li>
--   <li><a>cmwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createMaintenanceWindowResponse :: Int -> CreateMaintenanceWindowResponse

-- | <i>See:</i> <a>createMaintenanceWindowResponse</a> smart constructor.
data CreateMaintenanceWindowResponse

-- | The ID of the created Maintenance Window.
cmwrsWindowId :: Lens' CreateMaintenanceWindowResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cmwrsResponseStatus :: Lens' CreateMaintenanceWindowResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse
instance Data.Data.Data Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse
instance GHC.Show.Show Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse
instance GHC.Read.Read Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse
instance GHC.Classes.Eq Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse
instance GHC.Generics.Generic Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Data.Data.Data Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance GHC.Show.Show Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance GHC.Read.Read Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance GHC.Classes.Eq Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Data.Hashable.Class.Hashable Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse


-- | Creates an SSM document.
--   
--   After you create an SSM document, you can use CreateAssociation to
--   associate it with one or more running instances.
module Network.AWS.SSM.CreateDocument

-- | Creates a value of <a>CreateDocument</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdDocumentType</a> - The type of document to create. Valid
--   document types include: Policy, Automation, and Command.</li>
--   <li><a>cdContent</a> - A valid JSON string.</li>
--   <li><a>cdName</a> - A name for the SSM document.</li>
--   </ul>
createDocument :: Text -> Text -> CreateDocument

-- | <i>See:</i> <a>createDocument</a> smart constructor.
data CreateDocument

-- | The type of document to create. Valid document types include: Policy,
--   Automation, and Command.
cdDocumentType :: Lens' CreateDocument (Maybe DocumentType)

-- | A valid JSON string.
cdContent :: Lens' CreateDocument Text

-- | A name for the SSM document.
cdName :: Lens' CreateDocument Text

-- | Creates a value of <a>CreateDocumentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdrsDocumentDescription</a> - Information about the SSM
--   document.</li>
--   <li><a>cdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDocumentResponse :: Int -> CreateDocumentResponse

-- | <i>See:</i> <a>createDocumentResponse</a> smart constructor.
data CreateDocumentResponse

-- | Information about the SSM document.
cdrsDocumentDescription :: Lens' CreateDocumentResponse (Maybe DocumentDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdrsResponseStatus :: Lens' CreateDocumentResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.CreateDocument.CreateDocumentResponse
instance Data.Data.Data Network.AWS.SSM.CreateDocument.CreateDocumentResponse
instance GHC.Show.Show Network.AWS.SSM.CreateDocument.CreateDocumentResponse
instance GHC.Read.Read Network.AWS.SSM.CreateDocument.CreateDocumentResponse
instance GHC.Classes.Eq Network.AWS.SSM.CreateDocument.CreateDocumentResponse
instance GHC.Generics.Generic Network.AWS.SSM.CreateDocument.CreateDocument
instance Data.Data.Data Network.AWS.SSM.CreateDocument.CreateDocument
instance GHC.Show.Show Network.AWS.SSM.CreateDocument.CreateDocument
instance GHC.Read.Read Network.AWS.SSM.CreateDocument.CreateDocument
instance GHC.Classes.Eq Network.AWS.SSM.CreateDocument.CreateDocument
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CreateDocument.CreateDocument
instance Data.Hashable.Class.Hashable Network.AWS.SSM.CreateDocument.CreateDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateDocument.CreateDocument
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.CreateDocument.CreateDocument
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.CreateDocument.CreateDocument
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.CreateDocument.CreateDocument
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.CreateDocument.CreateDocument
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateDocument.CreateDocumentResponse


-- | Associates the specified SSM document with the specified instances or
--   targets.
--   
--   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.
--   
--   If you associate a document with an instance that already has an
--   associated document, the system throws the AssociationAlreadyExists
--   exception.
module Network.AWS.SSM.CreateAssociationBatch

-- | Creates a value of <a>CreateAssociationBatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cabEntries</a> - One or more associations.</li>
--   </ul>
createAssociationBatch :: NonEmpty CreateAssociationBatchRequestEntry -> CreateAssociationBatch

-- | <i>See:</i> <a>createAssociationBatch</a> smart constructor.
data CreateAssociationBatch

-- | One or more associations.
cabEntries :: Lens' CreateAssociationBatch (NonEmpty CreateAssociationBatchRequestEntry)

-- | Creates a value of <a>CreateAssociationBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cabrsSuccessful</a> - Information about the associations that
--   succeeded.</li>
--   <li><a>cabrsFailed</a> - Information about the associations that
--   failed.</li>
--   <li><a>cabrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createAssociationBatchResponse :: Int -> CreateAssociationBatchResponse

-- | <i>See:</i> <a>createAssociationBatchResponse</a> smart constructor.
data CreateAssociationBatchResponse

-- | Information about the associations that succeeded.
cabrsSuccessful :: Lens' CreateAssociationBatchResponse [AssociationDescription]

-- | Information about the associations that failed.
cabrsFailed :: Lens' CreateAssociationBatchResponse [FailedCreateAssociation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cabrsResponseStatus :: Lens' CreateAssociationBatchResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse
instance Data.Data.Data Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse
instance GHC.Show.Show Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse
instance GHC.Read.Read Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse
instance GHC.Classes.Eq Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse
instance GHC.Generics.Generic Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Data.Data.Data Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance GHC.Show.Show Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance GHC.Read.Read Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance GHC.Classes.Eq Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Data.Hashable.Class.Hashable Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatch
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse


-- | Associates the specified SSM document with the specified instances or
--   targets.
--   
--   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.
--   
--   If you associate a document with an instance that already has an
--   associated document, the system throws the AssociationAlreadyExists
--   exception.
module Network.AWS.SSM.CreateAssociation

-- | Creates a value of <a>CreateAssociation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caInstanceId</a> - The instance ID.</li>
--   <li><a>caScheduleExpression</a> - 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<i>30 * 1</i>1 * ? *) to run every
--   thirty minutes; cron(0 0 0<i>4 1</i>1 * ? *) to run every four hours;
--   and cron(0 0 10 ? * SUN *) to run every Sunday at 10 a.m.</li>
--   <li><a>caOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the output details of the request. For example: <tt>"{
--   "S3Location": { "OutputS3Region": "<a>region</a>",
--   "OutputS3BucketName": "bucket name", "OutputS3KeyPrefix": "folder
--   name" } }"</tt></li>
--   <li><a>caTargets</a> - The targets (either instances or tags) for the
--   association. Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   <li><a>caParameters</a> - The parameters for the documents runtime
--   configuration.</li>
--   <li><a>caDocumentVersion</a> - The document version you want to
--   associate with the target(s). Can be a specific version or the default
--   version.</li>
--   <li><a>caName</a> - The name of the SSM document.</li>
--   </ul>
createAssociation :: Text -> CreateAssociation

-- | <i>See:</i> <a>createAssociation</a> smart constructor.
data CreateAssociation

-- | The instance ID.
caInstanceId :: Lens' CreateAssociation (Maybe Text)

-- | 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<i>30 * 1</i>1 * ? *) to run every thirty minutes; cron(0 0 0<i>4
--   1</i>1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN *) to
--   run every Sunday at 10 a.m.
caScheduleExpression :: Lens' CreateAssociation (Maybe Text)

-- | An Amazon S3 bucket where you want to store the output details of the
--   request. For example: <tt>"{ "S3Location": { "OutputS3Region":
--   "<a>region</a>", "OutputS3BucketName": "bucket name",
--   "OutputS3KeyPrefix": "folder name" } }"</tt>
caOutputLocation :: Lens' CreateAssociation (Maybe InstanceAssociationOutputLocation)

-- | The targets (either instances or tags) for the association. Instances
--   are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
caTargets :: Lens' CreateAssociation [Target]

-- | The parameters for the documents runtime configuration.
caParameters :: Lens' CreateAssociation (HashMap Text [Text])

-- | The document version you want to associate with the target(s). Can be
--   a specific version or the default version.
caDocumentVersion :: Lens' CreateAssociation (Maybe Text)

-- | The name of the SSM document.
caName :: Lens' CreateAssociation Text

-- | Creates a value of <a>CreateAssociationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crsAssociationDescription</a> - Information about the
--   association.</li>
--   <li><a>crsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createAssociationResponse :: Int -> CreateAssociationResponse

-- | <i>See:</i> <a>createAssociationResponse</a> smart constructor.
data CreateAssociationResponse

-- | Information about the association.
crsAssociationDescription :: Lens' CreateAssociationResponse (Maybe AssociationDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
crsResponseStatus :: Lens' CreateAssociationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.CreateAssociation.CreateAssociationResponse
instance Data.Data.Data Network.AWS.SSM.CreateAssociation.CreateAssociationResponse
instance GHC.Show.Show Network.AWS.SSM.CreateAssociation.CreateAssociationResponse
instance GHC.Read.Read Network.AWS.SSM.CreateAssociation.CreateAssociationResponse
instance GHC.Classes.Eq Network.AWS.SSM.CreateAssociation.CreateAssociationResponse
instance GHC.Generics.Generic Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Data.Data.Data Network.AWS.SSM.CreateAssociation.CreateAssociation
instance GHC.Show.Show Network.AWS.SSM.CreateAssociation.CreateAssociation
instance GHC.Read.Read Network.AWS.SSM.CreateAssociation.CreateAssociation
instance GHC.Classes.Eq Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.CreateAssociation.CreateAssociation
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateAssociation.CreateAssociationResponse


-- | 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>Setting Up Managed Instances (Linux)</a> or
--   <a>Setting Up Managed Instances (Windows)</a> in the Amazon EC2 User
--   Guide.
module Network.AWS.SSM.CreateActivation

-- | Creates a value of <a>CreateActivation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caDefaultInstanceName</a> - 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.</li>
--   <li><a>caRegistrationLimit</a> - Specify the maximum number of managed
--   instances you want to register. The default value is 1 instance.</li>
--   <li><a>caExpirationDate</a> - The date by which this activation
--   request should expire. The default value is 24 hours.</li>
--   <li><a>caDescription</a> - A user-defined description of the resource
--   that you want to register with Amazon EC2.</li>
--   <li><a>caIAMRole</a> - The Amazon Identity and Access Management (IAM)
--   role that you want to assign to the managed instance.</li>
--   </ul>
createActivation :: Text -> CreateActivation

-- | <i>See:</i> <a>createActivation</a> smart constructor.
data CreateActivation

-- | 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.
caDefaultInstanceName :: Lens' CreateActivation (Maybe Text)

-- | Specify the maximum number of managed instances you want to register.
--   The default value is 1 instance.
caRegistrationLimit :: Lens' CreateActivation (Maybe Natural)

-- | The date by which this activation request should expire. The default
--   value is 24 hours.
caExpirationDate :: Lens' CreateActivation (Maybe UTCTime)

-- | A user-defined description of the resource that you want to register
--   with Amazon EC2.
caDescription :: Lens' CreateActivation (Maybe Text)

-- | The Amazon Identity and Access Management (IAM) role that you want to
--   assign to the managed instance.
caIAMRole :: Lens' CreateActivation Text

-- | Creates a value of <a>CreateActivationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>carsActivationId</a> - The ID number generated by the system
--   when it processed the activation. The activation ID functions like a
--   user name.</li>
--   <li><a>carsActivationCode</a> - The code the system generates when it
--   processes the activation. The activation code functions like a
--   password to validate the activation ID.</li>
--   <li><a>carsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createActivationResponse :: Int -> CreateActivationResponse

-- | <i>See:</i> <a>createActivationResponse</a> smart constructor.
data CreateActivationResponse

-- | The ID number generated by the system when it processed the
--   activation. The activation ID functions like a user name.
carsActivationId :: Lens' CreateActivationResponse (Maybe Text)

-- | The code the system generates when it processes the activation. The
--   activation code functions like a password to validate the activation
--   ID.
carsActivationCode :: Lens' CreateActivationResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
carsResponseStatus :: Lens' CreateActivationResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.CreateActivation.CreateActivationResponse
instance Data.Data.Data Network.AWS.SSM.CreateActivation.CreateActivationResponse
instance GHC.Show.Show Network.AWS.SSM.CreateActivation.CreateActivationResponse
instance GHC.Read.Read Network.AWS.SSM.CreateActivation.CreateActivationResponse
instance GHC.Classes.Eq Network.AWS.SSM.CreateActivation.CreateActivationResponse
instance GHC.Generics.Generic Network.AWS.SSM.CreateActivation.CreateActivation
instance Data.Data.Data Network.AWS.SSM.CreateActivation.CreateActivation
instance GHC.Show.Show Network.AWS.SSM.CreateActivation.CreateActivation
instance GHC.Read.Read Network.AWS.SSM.CreateActivation.CreateActivation
instance GHC.Classes.Eq Network.AWS.SSM.CreateActivation.CreateActivation
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CreateActivation.CreateActivation
instance Data.Hashable.Class.Hashable Network.AWS.SSM.CreateActivation.CreateActivation
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateActivation.CreateActivation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.CreateActivation.CreateActivation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.CreateActivation.CreateActivation
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.CreateActivation.CreateActivation
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.CreateActivation.CreateActivation
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateActivation.CreateActivationResponse


-- | 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.
module Network.AWS.SSM.CancelCommand

-- | Creates a value of <a>CancelCommand</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccInstanceIds</a> - (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.</li>
--   <li><a>ccCommandId</a> - The ID of the command you want to
--   cancel.</li>
--   </ul>
cancelCommand :: Text -> CancelCommand

-- | <i>See:</i> <a>cancelCommand</a> smart constructor.
data CancelCommand

-- | (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.
ccInstanceIds :: Lens' CancelCommand [Text]

-- | The ID of the command you want to cancel.
ccCommandId :: Lens' CancelCommand Text

-- | Creates a value of <a>CancelCommandResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
cancelCommandResponse :: Int -> CancelCommandResponse

-- | Whether or not the command was successfully canceled. There is no
--   guarantee that a request can be canceled.
--   
--   <i>See:</i> <a>cancelCommandResponse</a> smart constructor.
data CancelCommandResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ccrsResponseStatus :: Lens' CancelCommandResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.CancelCommand.CancelCommandResponse
instance Data.Data.Data Network.AWS.SSM.CancelCommand.CancelCommandResponse
instance GHC.Show.Show Network.AWS.SSM.CancelCommand.CancelCommandResponse
instance GHC.Read.Read Network.AWS.SSM.CancelCommand.CancelCommandResponse
instance GHC.Classes.Eq Network.AWS.SSM.CancelCommand.CancelCommandResponse
instance GHC.Generics.Generic Network.AWS.SSM.CancelCommand.CancelCommand
instance Data.Data.Data Network.AWS.SSM.CancelCommand.CancelCommand
instance GHC.Show.Show Network.AWS.SSM.CancelCommand.CancelCommand
instance GHC.Read.Read Network.AWS.SSM.CancelCommand.CancelCommand
instance GHC.Classes.Eq Network.AWS.SSM.CancelCommand.CancelCommand
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CancelCommand.CancelCommand
instance Data.Hashable.Class.Hashable Network.AWS.SSM.CancelCommand.CancelCommand
instance Control.DeepSeq.NFData Network.AWS.SSM.CancelCommand.CancelCommand
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.CancelCommand.CancelCommand
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.CancelCommand.CancelCommand
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.CancelCommand.CancelCommand
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.CancelCommand.CancelCommand
instance Control.DeepSeq.NFData Network.AWS.SSM.CancelCommand.CancelCommandResponse


-- | 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.
--   
--   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.
--   
--   For more information about tags, see <a>Tagging Your Amazon EC2
--   Resources</a> in the Amazon EC2 User Guide.
module Network.AWS.SSM.AddTagsToResource

-- | Creates a value of <a>AddTagsToResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrResourceType</a> - Specifies the type of resource you are
--   tagging.</li>
--   <li><a>attrResourceId</a> - The resource ID you want to tag.</li>
--   <li><a>attrTags</a> - 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.</li>
--   </ul>
addTagsToResource :: ResourceTypeForTagging -> Text -> AddTagsToResource

-- | <i>See:</i> <a>addTagsToResource</a> smart constructor.
data AddTagsToResource

-- | Specifies the type of resource you are tagging.
attrResourceType :: Lens' AddTagsToResource ResourceTypeForTagging

-- | The resource ID you want to tag.
attrResourceId :: Lens' AddTagsToResource Text

-- | 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.
attrTags :: Lens' AddTagsToResource [Tag]

-- | Creates a value of <a>AddTagsToResourceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
addTagsToResourceResponse :: Int -> AddTagsToResourceResponse

-- | <i>See:</i> <a>addTagsToResourceResponse</a> smart constructor.
data AddTagsToResourceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
attrrsResponseStatus :: Lens' AddTagsToResourceResponse Int
instance GHC.Generics.Generic Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse
instance Data.Data.Data Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Show.Show Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Read.Read Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Classes.Eq Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Generics.Generic Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Data.Data.Data Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance GHC.Show.Show Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance GHC.Read.Read Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance GHC.Classes.Eq Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Data.Hashable.Class.Hashable Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse


-- | 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.
--   
--   This references is intended to be used with the EC2 Systems Manager
--   User Guide (<a>Linux</a> ) (<a>Windows</a> ).
--   
--   To get started, verify prerequisites and configure managed instances
--   (<a>Linux</a> ) (<a>Windows</a> ).
module Network.AWS.SSM

-- | API version <tt>2014-11-06</tt> of the Amazon Simple Systems Manager
--   (SSM) SDK configuration.
ssm :: Service

-- | An Automation document with the specified name and version could not
--   be found.
_AutomationDefinitionVersionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The document version is not valid or does not exist.
_InvalidDocumentVersion :: AsError a => Getting (First ServiceError) a ServiceError

-- | The schedule is invalid. Verify your cron or rate expression and try
--   again.
_InvalidSchedule :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter type is not supported.
_UnsupportedParameterType :: AsError a => Getting (First ServiceError) a ServiceError

-- | The plugin name is not valid.
_InvalidPluginName :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_UnsupportedPlatformType :: AsError a => Getting (First ServiceError) a ServiceError

-- | The filter value is not valid. Verify the value and try again.
_InvalidFilterValue :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more content items is not valid.
_InvalidItemContentException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The permission type is not supported. <i>Share</i> is the only
--   supported permission type.
_InvalidPermissionType :: AsError a => Getting (First ServiceError) a ServiceError

-- | You must disassociate an SSM document from all instances before you
--   can delete it.
_AssociatedInstances :: AsError a => Getting (First ServiceError) a ServiceError

-- | The following problems can cause this exception:
--   
--   You do not have permission to access the instance.
--   
--   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.
--   
--   The SSM agent or EC2Config service is not registered to the SSM
--   endpoint. Try reinstalling the SSM agent or EC2Config service.
--   
--   The instance is not in valid state. Valid states are: Running,
--   Pending, Stopped, Stopping. Invalid states are: Shutting-down and
--   Terminated.
_InvalidInstanceId :: AsError a => Getting (First ServiceError) a ServiceError

-- | The updated status is the same as the current status.
_StatusUnchanged :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified token is not valid.
_InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError

-- | The S3 bucket does not exist.
_InvalidOutputFolder :: AsError a => Getting (First ServiceError) a ServiceError

-- | The activation ID is not valid. Verify the you entered the correct
--   ActivationId or ActivationCode and try again.
_InvalidActivationId :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified inventory item result attribute is not valid.
_InvalidResultAttributeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Error returned when the caller has exceeded the default resource
--   limits (e.g. too many Maintenance Windows have been created).
_ResourceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Prism for InvalidCommandId' errors.
_InvalidCommandId :: AsError a => Getting (First ServiceError) a ServiceError

-- | You cannot specify an instance ID in more than one association.
_DuplicateInstanceId :: AsError a => Getting (First ServiceError) a ServiceError

-- | The resource type is not valid. If you are attempting to tag an
--   instance, the instance must be a registered, managed instance.
_InvalidResourceType :: AsError a => Getting (First ServiceError) a ServiceError

-- | Inventory item type schema version has to match supported versions in
--   the service. Check output of <tt>GetInventorySchema</tt> to see the
--   available schema version for each type.
_UnsupportedInventorySchemaVersionException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified document does not exist.
_InvalidDocument :: AsError a => Getting (First ServiceError) a ServiceError

-- | An Automation document with the specified name could not be found.
_AutomationDefinitionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified key is not valid.
_InvalidFilterKey :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_InvalidAutomationExecutionParametersException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no automation execution information for the requested
--   automation execution ID.
_AutomationExecutionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter type name is not valid.
_InvalidTypeNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The inventory item size has exceeded the size limit.
_ItemSizeLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Error returned when the ID specified for a resource (e.g. a
--   Maintenance Window) doesn’t exist.
_DoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of simultaneously running Automation executions exceeded
--   the allowable limit.
_AutomationExecutionLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_IdempotentParameterMismatch :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified filter value is not valid.
_InvalidInstanceInformationFilterValue :: AsError a => Getting (First ServiceError) a ServiceError

-- | The inventory item has invalid content.
_ItemContentMismatchException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter already exists. You can't create duplicate parameters.
_ParameterAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified association already exists.
_AssociationAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

-- | The content for the SSM document is not valid.
_InvalidDocumentContent :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the number of parameters for this AWS account.
--   Delete one or more parameters and try again.
_ParameterLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | You can have at most 2,000 active associations.
_AssociationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified association does not exist.
_AssociationDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter could not be found. Verify the name and try again.
_ParameterNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | An error occurred on the server side.
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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>Getting Amazon SNS Notifications When a
--   Command Changes Status</a> in the <i>Amazon Elastic Compute Cloud User
--   Guide </i> .
_InvalidRole :: AsError a => Getting (First ServiceError) a ServiceError

-- | There are concurrent updates for a resource that supports one update
--   at a time.
_TooManyUpdates :: AsError a => Getting (First ServiceError) a ServiceError

-- | The activation is not valid. The activation might have been deleted,
--   or the ActivationId and the ActivationCode do not match.
_InvalidActivation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The version of the document schema is not supported.
_InvalidDocumentSchemaVersion :: AsError a => Getting (First ServiceError) a ServiceError

-- | The size limit of an SSM document is 64 KB.
_MaxDocumentSizeExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The update is not valid.
_InvalidUpdate :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the limit for custom schemas. Delete one or more
--   custom schemas and try again.
_CustomSchemaCountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_InvalidTarget :: AsError a => Getting (First ServiceError) a ServiceError

-- | You attempted to delete a document while it is still shared. You must
--   stop sharing the document before you can delete it.
_InvalidDocumentOperation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The command ID and instance ID you specified did not match any
--   invocations. Verify the command ID adn the instance ID and try again.
_InvocationDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError

-- | The document has too many versions. Delete one or more document
--   versions and try again.
_DocumentVersionLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The output location is not valid or does not exist.
_InvalidOutputLocation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The query key ID is not valid.
_InvalidKeyId :: AsError a => Getting (First ServiceError) a ServiceError

-- | You must specify values for all required parameters in the SSM
--   document. You can only supply values to parameters defined in the SSM
--   document.
_InvalidParameters :: AsError a => Getting (First ServiceError) a ServiceError

-- | The resource ID is not valid. Verify that you entered the correct ID
--   and try again.
_InvalidResourceId :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more configuration items is not valid. Verify that a valid
--   Amazon Resource Name (ARN) was provided for an Amazon SNS topic.
_InvalidNotificationConfig :: AsError a => Getting (First ServiceError) a ServiceError

-- | The size of inventory data has exceeded the total size limit for the
--   resource.
_TotalSizeLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The <tt>Targets</tt> parameter includes too many tags. Remove one or
--   more tags and try the command again.
_TooManyTagsError :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_DocumentPermissionLimit :: AsError a => Getting (First ServiceError) a ServiceError

-- | The content of the association document matches another document.
--   Change the content of the document and try again.
_DuplicateDocumentContent :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified SSM document already exists.
_DocumentAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

-- | You can have at most 200 active SSM documents.
_DocumentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The filter name is not valid. Verify the you entered the correct name
--   and try again.
_InvalidFilter :: AsError a => Getting (First ServiceError) a ServiceError
data AssociationFilterKey
AFKAssociationId :: AssociationFilterKey
AFKAssociationStatusName :: AssociationFilterKey
AFKInstanceId :: AssociationFilterKey
AFKLastExecutedAfter :: AssociationFilterKey
AFKLastExecutedBefore :: AssociationFilterKey
AFKName :: AssociationFilterKey
data AssociationStatusName
ASNFailed :: AssociationStatusName
ASNPending :: AssociationStatusName
ASNSuccess :: AssociationStatusName
data AutomationExecutionFilterKey
DocumentNamePrefix :: AutomationExecutionFilterKey
ExecutionStatus :: AutomationExecutionFilterKey
data AutomationExecutionStatus
AESCancelled :: AutomationExecutionStatus
AESFailed :: AutomationExecutionStatus
AESInProgress :: AutomationExecutionStatus
AESPending :: AutomationExecutionStatus
AESSuccess :: AutomationExecutionStatus
AESTimedOut :: AutomationExecutionStatus
data CommandFilterKey
CommandInvokedAfter :: CommandFilterKey
CommandInvokedBefore :: CommandFilterKey
CommandStatus :: CommandFilterKey
data CommandInvocationStatus
CISCancelled :: CommandInvocationStatus
CISCancelling :: CommandInvocationStatus
CISDelayed :: CommandInvocationStatus
CISFailed :: CommandInvocationStatus
CISInProgress :: CommandInvocationStatus
CISPending :: CommandInvocationStatus
CISSuccess :: CommandInvocationStatus
CISTimedOut :: CommandInvocationStatus
data CommandPluginStatus
CPSCancelled :: CommandPluginStatus
CPSFailed :: CommandPluginStatus
CPSInProgress :: CommandPluginStatus
CPSPending :: CommandPluginStatus
CPSSuccess :: CommandPluginStatus
CPSTimedOut :: CommandPluginStatus
data CommandStatus
Cancelled :: CommandStatus
Cancelling :: CommandStatus
Failed :: CommandStatus
InProgress :: CommandStatus
Pending :: CommandStatus
Success :: CommandStatus
TimedOut :: CommandStatus
data DescribeActivationsFilterKeys
ActivationIds :: DescribeActivationsFilterKeys
DefaultInstanceName :: DescribeActivationsFilterKeys
IAMRole :: DescribeActivationsFilterKeys
data DocumentFilterKey
DocumentType :: DocumentFilterKey
Name :: DocumentFilterKey
Owner :: DocumentFilterKey
PlatformTypes :: DocumentFilterKey
data DocumentHashType
HashSHA1 :: DocumentHashType
HashSHA256 :: DocumentHashType
data DocumentParameterType
DPTString :: DocumentParameterType
DPTStringList :: DocumentParameterType
data DocumentPermissionType
Share :: DocumentPermissionType
data DocumentStatus
Active :: DocumentStatus
Creating :: DocumentStatus
Deleting :: DocumentStatus
Updating :: DocumentStatus
data DocumentType
DTAutomation :: DocumentType
DTCommand :: DocumentType
DTPolicy :: DocumentType
data Fault
Client :: Fault
Server :: Fault
Unknown :: Fault
data InstanceInformationFilterKey
IIFKActivationIds :: InstanceInformationFilterKey
IIFKAgentVersion :: InstanceInformationFilterKey
IIFKAssociationStatus :: InstanceInformationFilterKey
IIFKIAMRole :: InstanceInformationFilterKey
IIFKInstanceIds :: InstanceInformationFilterKey
IIFKPingStatus :: InstanceInformationFilterKey
IIFKPlatformTypes :: InstanceInformationFilterKey
IIFKResourceType :: InstanceInformationFilterKey
data InventoryAttributeDataType
IADTNumber :: InventoryAttributeDataType
IADTString :: InventoryAttributeDataType
data InventoryQueryOperatorType
BeginWith :: InventoryQueryOperatorType
Equal :: InventoryQueryOperatorType
GreaterThan :: InventoryQueryOperatorType
LessThan :: InventoryQueryOperatorType
NotEqual :: InventoryQueryOperatorType
data MaintenanceWindowExecutionStatus
MWESCancelled :: MaintenanceWindowExecutionStatus
MWESCancelling :: MaintenanceWindowExecutionStatus
MWESFailed :: MaintenanceWindowExecutionStatus
MWESInProgress :: MaintenanceWindowExecutionStatus
MWESPending :: MaintenanceWindowExecutionStatus
MWESSkippedOverlapping :: MaintenanceWindowExecutionStatus
MWESSuccess :: MaintenanceWindowExecutionStatus
MWESTimedOut :: MaintenanceWindowExecutionStatus
data MaintenanceWindowResourceType
Instance :: MaintenanceWindowResourceType
data MaintenanceWindowTaskType
RunCommand :: MaintenanceWindowTaskType
data NotificationEvent
NEAll :: NotificationEvent
NECancelled :: NotificationEvent
NEFailed :: NotificationEvent
NEInProgress :: NotificationEvent
NESuccess :: NotificationEvent
NETimedOut :: NotificationEvent
data NotificationType
Command :: NotificationType
Invocation :: NotificationType
data ParameterType
SecureString :: ParameterType
String :: ParameterType
StringList :: ParameterType
data ParametersFilterKey
PFKKeyId :: ParametersFilterKey
PFKName :: ParametersFilterKey
PFKType :: ParametersFilterKey
data PingStatus
ConnectionLost :: PingStatus
Inactive :: PingStatus
Online :: PingStatus
data PlatformType
Linux :: PlatformType
Windows :: PlatformType
data ResourceType
Document :: ResourceType
EC2Instance :: ResourceType
ManagedInstance :: ResourceType
data ResourceTypeForTagging
RTFTMaintenanceWindow :: ResourceTypeForTagging
RTFTManagedInstance :: ResourceTypeForTagging
RTFTParameter :: ResourceTypeForTagging

-- | 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.
--   
--   <i>See:</i> <a>activation</a> smart constructor.
data Activation

-- | Creates a value of <a>Activation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aExpired</a> - Whether or not the activation is expired.</li>
--   <li><a>aDefaultInstanceName</a> - A name for the managed instance when
--   it is created.</li>
--   <li><a>aActivationId</a> - The ID created by Systems Manager when you
--   submitted the activation.</li>
--   <li><a>aCreatedDate</a> - The date the activation was created.</li>
--   <li><a>aRegistrationLimit</a> - The maximum number of managed
--   instances that can be registered using this activation.</li>
--   <li><a>aExpirationDate</a> - The date when this activation can no
--   longer be used to register managed instances.</li>
--   <li><a>aDescription</a> - A user defined description of the
--   activation.</li>
--   <li><a>aRegistrationsCount</a> - The number of managed instances
--   already registered with this activation.</li>
--   <li><a>aIAMRole</a> - The Amazon Identity and Access Management (IAM)
--   role to assign to the managed instance.</li>
--   </ul>
activation :: Activation

-- | Whether or not the activation is expired.
aExpired :: Lens' Activation (Maybe Bool)

-- | A name for the managed instance when it is created.
aDefaultInstanceName :: Lens' Activation (Maybe Text)

-- | The ID created by Systems Manager when you submitted the activation.
aActivationId :: Lens' Activation (Maybe Text)

-- | The date the activation was created.
aCreatedDate :: Lens' Activation (Maybe UTCTime)

-- | The maximum number of managed instances that can be registered using
--   this activation.
aRegistrationLimit :: Lens' Activation (Maybe Natural)

-- | The date when this activation can no longer be used to register
--   managed instances.
aExpirationDate :: Lens' Activation (Maybe UTCTime)

-- | A user defined description of the activation.
aDescription :: Lens' Activation (Maybe Text)

-- | The number of managed instances already registered with this
--   activation.
aRegistrationsCount :: Lens' Activation (Maybe Natural)

-- | The Amazon Identity and Access Management (IAM) role to assign to the
--   managed instance.
aIAMRole :: Lens' Activation (Maybe Text)

-- | Describes an association of an SSM document and an instance.
--   
--   <i>See:</i> <a>association</a> smart constructor.
data Association

-- | Creates a value of <a>Association</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aAssociationId</a> - 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.</li>
--   <li><a>aInstanceId</a> - The ID of the instance.</li>
--   <li><a>aOverview</a> - Information about the association.</li>
--   <li><a>aLastExecutionDate</a> - The date on which the association was
--   last run.</li>
--   <li><a>aScheduleExpression</a> - A cron expression that specifies a
--   schedule when the association runs.</li>
--   <li><a>aName</a> - The name of the SSM document.</li>
--   <li><a>aTargets</a> - The instances targeted by the request to create
--   an association.</li>
--   <li><a>aDocumentVersion</a> - The version of the document used in the
--   association.</li>
--   </ul>
association :: Association

-- | 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.
aAssociationId :: Lens' Association (Maybe Text)

-- | The ID of the instance.
aInstanceId :: Lens' Association (Maybe Text)

-- | Information about the association.
aOverview :: Lens' Association (Maybe AssociationOverview)

-- | The date on which the association was last run.
aLastExecutionDate :: Lens' Association (Maybe UTCTime)

-- | A cron expression that specifies a schedule when the association runs.
aScheduleExpression :: Lens' Association (Maybe Text)

-- | The name of the SSM document.
aName :: Lens' Association (Maybe Text)

-- | The instances targeted by the request to create an association.
aTargets :: Lens' Association [Target]

-- | The version of the document used in the association.
aDocumentVersion :: Lens' Association (Maybe Text)

-- | Describes the parameters for a document.
--   
--   <i>See:</i> <a>associationDescription</a> smart constructor.
data AssociationDescription

-- | Creates a value of <a>AssociationDescription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adAssociationId</a> - The association ID.</li>
--   <li><a>adInstanceId</a> - The ID of the instance.</li>
--   <li><a>adStatus</a> - The association status.</li>
--   <li><a>adLastSuccessfulExecutionDate</a> - The last date on which the
--   association was successfully run.</li>
--   <li><a>adOverview</a> - Information about the association.</li>
--   <li><a>adLastUpdateAssociationDate</a> - The date when the association
--   was last updated.</li>
--   <li><a>adDate</a> - The date when the association was made.</li>
--   <li><a>adLastExecutionDate</a> - The date on which the association was
--   last run.</li>
--   <li><a>adScheduleExpression</a> - A cron expression that specifies a
--   schedule when the association runs.</li>
--   <li><a>adName</a> - The name of the SSM document.</li>
--   <li><a>adOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the output details of the request.</li>
--   <li><a>adTargets</a> - The instances targeted by the request.</li>
--   <li><a>adParameters</a> - A description of the parameters for a
--   document.</li>
--   <li><a>adDocumentVersion</a> - The document version.</li>
--   </ul>
associationDescription :: AssociationDescription

-- | The association ID.
adAssociationId :: Lens' AssociationDescription (Maybe Text)

-- | The ID of the instance.
adInstanceId :: Lens' AssociationDescription (Maybe Text)

-- | The association status.
adStatus :: Lens' AssociationDescription (Maybe AssociationStatus)

-- | The last date on which the association was successfully run.
adLastSuccessfulExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | Information about the association.
adOverview :: Lens' AssociationDescription (Maybe AssociationOverview)

-- | The date when the association was last updated.
adLastUpdateAssociationDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | The date when the association was made.
adDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | The date on which the association was last run.
adLastExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)

-- | A cron expression that specifies a schedule when the association runs.
adScheduleExpression :: Lens' AssociationDescription (Maybe Text)

-- | The name of the SSM document.
adName :: Lens' AssociationDescription (Maybe Text)

-- | An Amazon S3 bucket where you want to store the output details of the
--   request.
adOutputLocation :: Lens' AssociationDescription (Maybe InstanceAssociationOutputLocation)

-- | The instances targeted by the request.
adTargets :: Lens' AssociationDescription [Target]

-- | A description of the parameters for a document.
adParameters :: Lens' AssociationDescription (HashMap Text [Text])

-- | The document version.
adDocumentVersion :: Lens' AssociationDescription (Maybe Text)

-- | Describes a filter.
--   
--   <i>See:</i> <a>associationFilter</a> smart constructor.
data AssociationFilter

-- | Creates a value of <a>AssociationFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>afKey</a> - The name of the filter.</li>
--   <li><a>afValue</a> - The filter value.</li>
--   </ul>
associationFilter :: AssociationFilterKey -> Text -> AssociationFilter

-- | The name of the filter.
afKey :: Lens' AssociationFilter AssociationFilterKey

-- | The filter value.
afValue :: Lens' AssociationFilter Text

-- | Information about the association.
--   
--   <i>See:</i> <a>associationOverview</a> smart constructor.
data AssociationOverview

-- | Creates a value of <a>AssociationOverview</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aoDetailedStatus</a> - A detailed status of the
--   association.</li>
--   <li><a>aoStatus</a> - The status of the association. Status can be:
--   <tt>Pending</tt> , <tt>Success</tt> , or <tt>Failed</tt> .</li>
--   <li><a>aoAssociationStatusAggregatedCount</a> - 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.</li>
--   </ul>
associationOverview :: AssociationOverview

-- | A detailed status of the association.
aoDetailedStatus :: Lens' AssociationOverview (Maybe Text)

-- | The status of the association. Status can be: <tt>Pending</tt> ,
--   <tt>Success</tt> , or <tt>Failed</tt> .
aoStatus :: Lens' AssociationOverview (Maybe Text)

-- | 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.
aoAssociationStatusAggregatedCount :: Lens' AssociationOverview (HashMap Text Int)

-- | Describes an association status.
--   
--   <i>See:</i> <a>associationStatus</a> smart constructor.
data AssociationStatus

-- | Creates a value of <a>AssociationStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asAdditionalInfo</a> - A user-defined string.</li>
--   <li><a>asDate</a> - The date when the status changed.</li>
--   <li><a>asName</a> - The status.</li>
--   <li><a>asMessage</a> - The reason for the status.</li>
--   </ul>
associationStatus :: UTCTime -> AssociationStatusName -> Text -> AssociationStatus

-- | A user-defined string.
asAdditionalInfo :: Lens' AssociationStatus (Maybe Text)

-- | The date when the status changed.
asDate :: Lens' AssociationStatus UTCTime

-- | The status.
asName :: Lens' AssociationStatus AssociationStatusName

-- | The reason for the status.
asMessage :: Lens' AssociationStatus Text

-- | Detailed information about the current state of an individual
--   Automation execution.
--   
--   <i>See:</i> <a>automationExecution</a> smart constructor.
data AutomationExecution

-- | Creates a value of <a>AutomationExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeDocumentName</a> - The name of the Automation document used
--   during the execution.</li>
--   <li><a>aeExecutionEndTime</a> - The time the execution finished.</li>
--   <li><a>aeFailureMessage</a> - A message describing why an execution
--   has failed, if the status is set to Failed.</li>
--   <li><a>aeAutomationExecutionStatus</a> - The execution status of the
--   Automation.</li>
--   <li><a>aeOutputs</a> - The list of execution outputs as defined in the
--   automation document.</li>
--   <li><a>aeExecutionStartTime</a> - The time the execution started.</li>
--   <li><a>aeParameters</a> - The key-value map of execution parameters,
--   which were supplied when calling <tt>StartAutomationExecution</tt>
--   .</li>
--   <li><a>aeDocumentVersion</a> - The version of the document to use
--   during execution.</li>
--   <li><a>aeAutomationExecutionId</a> - The execution ID.</li>
--   <li><a>aeStepExecutions</a> - 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.</li>
--   </ul>
automationExecution :: AutomationExecution

-- | The name of the Automation document used during the execution.
aeDocumentName :: Lens' AutomationExecution (Maybe Text)

-- | The time the execution finished.
aeExecutionEndTime :: Lens' AutomationExecution (Maybe UTCTime)

-- | A message describing why an execution has failed, if the status is set
--   to Failed.
aeFailureMessage :: Lens' AutomationExecution (Maybe Text)

-- | The execution status of the Automation.
aeAutomationExecutionStatus :: Lens' AutomationExecution (Maybe AutomationExecutionStatus)

-- | The list of execution outputs as defined in the automation document.
aeOutputs :: Lens' AutomationExecution (HashMap Text [Text])

-- | The time the execution started.
aeExecutionStartTime :: Lens' AutomationExecution (Maybe UTCTime)

-- | The key-value map of execution parameters, which were supplied when
--   calling <tt>StartAutomationExecution</tt> .
aeParameters :: Lens' AutomationExecution (HashMap Text [Text])

-- | The version of the document to use during execution.
aeDocumentVersion :: Lens' AutomationExecution (Maybe Text)

-- | The execution ID.
aeAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)

-- | 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.
aeStepExecutions :: Lens' AutomationExecution [StepExecution]

-- | A filter used to match specific automation executions. This is used to
--   limit the scope of Automation execution information returned.
--   
--   <i>See:</i> <a>automationExecutionFilter</a> smart constructor.
data AutomationExecutionFilter

-- | Creates a value of <a>AutomationExecutionFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aefKey</a> - The aspect of the Automation execution information
--   that should be limited.</li>
--   <li><a>aefValues</a> - The values used to limit the execution
--   information associated with the filter's key.</li>
--   </ul>
automationExecutionFilter :: AutomationExecutionFilterKey -> NonEmpty Text -> AutomationExecutionFilter

-- | The aspect of the Automation execution information that should be
--   limited.
aefKey :: Lens' AutomationExecutionFilter AutomationExecutionFilterKey

-- | The values used to limit the execution information associated with the
--   filter's key.
aefValues :: Lens' AutomationExecutionFilter (NonEmpty Text)

-- | Details about a specific Automation execution.
--   
--   <i>See:</i> <a>automationExecutionMetadata</a> smart constructor.
data AutomationExecutionMetadata

-- | Creates a value of <a>AutomationExecutionMetadata</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aemLogFile</a> - An Amazon S3 bucket where execution
--   information is stored.</li>
--   <li><a>aemExecutedBy</a> - The IAM role ARN of the user who executed
--   the Automation.</li>
--   <li><a>aemDocumentName</a> - The name of the Automation document used
--   during execution.</li>
--   <li><a>aemExecutionEndTime</a> - The time the execution finished. This
--   is not populated if the execution is still in progress.</li>
--   <li><a>aemAutomationExecutionStatus</a> - The status of the execution.
--   Valid values include: Running, Succeeded, Failed, Timed out, or
--   Cancelled.</li>
--   <li><a>aemOutputs</a> - The list of execution outputs as defined in
--   the Automation document.</li>
--   <li><a>aemExecutionStartTime</a> - The time the execution
--   started.&gt;</li>
--   <li><a>aemDocumentVersion</a> - The document version used during the
--   execution.</li>
--   <li><a>aemAutomationExecutionId</a> - The execution ID.</li>
--   </ul>
automationExecutionMetadata :: AutomationExecutionMetadata

-- | An Amazon S3 bucket where execution information is stored.
aemLogFile :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The IAM role ARN of the user who executed the Automation.
aemExecutedBy :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The name of the Automation document used during execution.
aemDocumentName :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The time the execution finished. This is not populated if the
--   execution is still in progress.
aemExecutionEndTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)

-- | The status of the execution. Valid values include: Running, Succeeded,
--   Failed, Timed out, or Cancelled.
aemAutomationExecutionStatus :: Lens' AutomationExecutionMetadata (Maybe AutomationExecutionStatus)

-- | The list of execution outputs as defined in the Automation document.
aemOutputs :: Lens' AutomationExecutionMetadata (HashMap Text [Text])

-- | The time the execution started.&gt;
aemExecutionStartTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)

-- | The document version used during the execution.
aemDocumentVersion :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The execution ID.
aemAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | Describes a command request.
--   
--   <i>See:</i> <a>command</a> smart constructor.
data Command

-- | Creates a value of <a>Command</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cStatus</a> - The status of the command.</li>
--   <li><a>cExpiresAfter</a> - 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.</li>
--   <li><a>cNotificationConfig</a> - Configurations for sending
--   notifications about command status changes.</li>
--   <li><a>cTargetCount</a> - The number of targets for the command.</li>
--   <li><a>cOutputS3KeyPrefix</a> - The S3 directory path inside the
--   bucket where the responses to the command executions should be stored.
--   This was requested when issuing the command.</li>
--   <li><a>cDocumentName</a> - The name of the SSM document requested for
--   execution.</li>
--   <li><a>cErrorCount</a> - The number of targets for which the status is
--   <tt>Failed</tt> or <tt>Execution Timed Out</tt> .</li>
--   <li><a>cStatusDetails</a> - A detailed status of the command
--   execution. <tt>StatusDetails</tt> includes more information than
--   <tt>Status</tt> because it includes states resulting from error and
--   concurrency control parameters. <tt>StatusDetails</tt> can show
--   different results than <tt>Status</tt> . For more information about
--   these statuses, see <a>Monitor Commands</a> (Linux) or <a>Monitor
--   Commands</a> (Windows). <tt>StatusDetails</tt> can be one of the
--   following values: * Pending – The command has not been sent to any
--   instances. * In Progress – The command has been sent to at least one
--   instance but has not reached a final state on all instances. * Success
--   – The command successfully executed on all invocations. This is a
--   terminal state. * Delivery Timed Out – The value of <tt>MaxErrors</tt>
--   or more command invocations shows a status of <tt>Delivery Timed
--   Out</tt> . This is a terminal state. * Execution Timed Out – The value
--   of <tt>MaxErrors</tt> or more command invocations shows a status of
--   <tt>Execution Timed Out</tt> . This is a terminal state. * Failed –
--   The value of <tt>MaxErrors</tt> or more command invocations shows a
--   status of <tt>Failed</tt> . This is a terminal state. * Incomplete –
--   The command was attempted on all instances and one or more invocations
--   does not have a value of <tt>Success</tt> but not enough invocations
--   failed for the status to be <tt>Failed</tt> . This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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.</li>
--   <li><a>cMaxErrors</a> - 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 <tt>MaxErrors</tt> , see <a>Executing a Command Using Amazon
--   EC2 Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Windows).</li>
--   <li><a>cInstanceIds</a> - The instance IDs against which this command
--   was requested.</li>
--   <li><a>cOutputS3Region</a> - 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.</li>
--   <li><a>cTargets</a> - An array of search criteria that targets
--   instances using a <tt>Key</tt> ;<tt>Value</tt> combination that you
--   specify. <tt>Targets</tt> is required if you don't provide one or more
--   instance IDs in the call.</li>
--   <li><a>cCommandId</a> - A unique identifier for this command.</li>
--   <li><a>cParameters</a> - The parameter values to be inserted in the
--   SSM document when executing the command.</li>
--   <li><a>cComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>cCompletedCount</a> - The number of targets for which the
--   command invocation reached a terminal state. Terminal states include
--   the following: <tt>Success</tt> , <tt>Failed</tt> , <tt>Execution
--   Timed Out</tt> , <tt>Delivery Timed Out</tt> , <tt>Canceled</tt> ,
--   <tt>Terminated</tt> , or <tt>Undeliverable</tt> .</li>
--   <li><a>cOutputS3BucketName</a> - The S3 bucket where the responses to
--   the command executions should be stored. This was requested when
--   issuing the command.</li>
--   <li><a>cMaxConcurrency</a> - 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
--   <tt>MaxConcurrency</tt> , see <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2 Run
--   Command</a> (Windows).</li>
--   <li><a>cRequestedDateTime</a> - The date and time the command was
--   requested.</li>
--   <li><a>cServiceRole</a> - The IAM service role that Run Command uses
--   to act on your behalf when sending notifications about command status
--   changes.</li>
--   </ul>
command :: Command

-- | The status of the command.
cStatus :: Lens' Command (Maybe CommandStatus)

-- | 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.
cExpiresAfter :: Lens' Command (Maybe UTCTime)

-- | Configurations for sending notifications about command status changes.
cNotificationConfig :: Lens' Command (Maybe NotificationConfig)

-- | The number of targets for the command.
cTargetCount :: Lens' Command (Maybe Int)

-- | The S3 directory path inside the bucket where the responses to the
--   command executions should be stored. This was requested when issuing
--   the command.
cOutputS3KeyPrefix :: Lens' Command (Maybe Text)

-- | The name of the SSM document requested for execution.
cDocumentName :: Lens' Command (Maybe Text)

-- | The number of targets for which the status is <tt>Failed</tt> or
--   <tt>Execution Timed Out</tt> .
cErrorCount :: Lens' Command (Maybe Int)

-- | A detailed status of the command execution. <tt>StatusDetails</tt>
--   includes more information than <tt>Status</tt> because it includes
--   states resulting from error and concurrency control parameters.
--   <tt>StatusDetails</tt> can show different results than <tt>Status</tt>
--   . For more information about these statuses, see <a>Monitor
--   Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to any instances. * In Progress – The
--   command has been sent to at least one instance but has not reached a
--   final state on all instances. * Success – The command successfully
--   executed on all invocations. This is a terminal state. * Delivery
--   Timed Out – The value of <tt>MaxErrors</tt> or more command
--   invocations shows a status of <tt>Delivery Timed Out</tt> . This is a
--   terminal state. * Execution Timed Out – The value of
--   <tt>MaxErrors</tt> or more command invocations shows a status of
--   <tt>Execution Timed Out</tt> . This is a terminal state. * Failed –
--   The value of <tt>MaxErrors</tt> or more command invocations shows a
--   status of <tt>Failed</tt> . This is a terminal state. * Incomplete –
--   The command was attempted on all instances and one or more invocations
--   does not have a value of <tt>Success</tt> but not enough invocations
--   failed for the status to be <tt>Failed</tt> . This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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.
cStatusDetails :: Lens' Command (Maybe Text)

-- | 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 <tt>MaxErrors</tt> , see
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Windows).
cMaxErrors :: Lens' Command (Maybe Text)

-- | The instance IDs against which this command was requested.
cInstanceIds :: Lens' Command [Text]

-- | 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.
cOutputS3Region :: Lens' Command (Maybe Text)

-- | An array of search criteria that targets instances using a
--   <tt>Key</tt> ;<tt>Value</tt> combination that you specify.
--   <tt>Targets</tt> is required if you don't provide one or more instance
--   IDs in the call.
cTargets :: Lens' Command [Target]

-- | A unique identifier for this command.
cCommandId :: Lens' Command (Maybe Text)

-- | The parameter values to be inserted in the SSM document when executing
--   the command.
cParameters :: Lens' Command (HashMap Text [Text])

-- | User-specified information about the command, such as a brief
--   description of what the command should do.
cComment :: Lens' Command (Maybe Text)

-- | The number of targets for which the command invocation reached a
--   terminal state. Terminal states include the following:
--   <tt>Success</tt> , <tt>Failed</tt> , <tt>Execution Timed Out</tt> ,
--   <tt>Delivery Timed Out</tt> , <tt>Canceled</tt> , <tt>Terminated</tt>
--   , or <tt>Undeliverable</tt> .
cCompletedCount :: Lens' Command (Maybe Int)

-- | The S3 bucket where the responses to the command executions should be
--   stored. This was requested when issuing the command.
cOutputS3BucketName :: Lens' Command (Maybe Text)

-- | 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 <tt>MaxConcurrency</tt> ,
--   see <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Windows).
cMaxConcurrency :: Lens' Command (Maybe Text)

-- | The date and time the command was requested.
cRequestedDateTime :: Lens' Command (Maybe UTCTime)

-- | The IAM service role that Run Command uses to act on your behalf when
--   sending notifications about command status changes.
cServiceRole :: Lens' Command (Maybe Text)

-- | Describes a command filter.
--   
--   <i>See:</i> <a>commandFilter</a> smart constructor.
data CommandFilter

-- | Creates a value of <a>CommandFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfKey</a> - The name of the filter. For example, requested date
--   and time.</li>
--   <li><a>cfValue</a> - The filter value. For example: June 30,
--   2015.</li>
--   </ul>
commandFilter :: CommandFilterKey -> Text -> CommandFilter

-- | The name of the filter. For example, requested date and time.
cfKey :: Lens' CommandFilter CommandFilterKey

-- | The filter value. For example: June 30, 2015.
cfValue :: Lens' CommandFilter Text

-- | 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.
--   
--   <i>See:</i> <a>commandInvocation</a> smart constructor.
data CommandInvocation

-- | Creates a value of <a>CommandInvocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciInstanceId</a> - The instance ID in which this invocation was
--   requested.</li>
--   <li><a>ciStatus</a> - Whether or not the invocation succeeded, failed,
--   or is pending.</li>
--   <li><a>ciNotificationConfig</a> - Configurations for sending
--   notifications about command status changes on a per instance
--   basis.</li>
--   <li><a>ciCommandPlugins</a> - Undocumented member.</li>
--   <li><a>ciDocumentName</a> - The document name that was requested for
--   execution.</li>
--   <li><a>ciStandardErrorURL</a> - 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, <tt>StandardErrorUrl</tt> is populated if there is
--   just one plugin defined for the command, and the Amazon S3 bucket was
--   defined for the command.</li>
--   <li><a>ciStatusDetails</a> - A detailed status of the command
--   execution for each invocation (each instance targeted by the command).
--   <tt>StatusDetails</tt> includes more information than <tt>Status</tt>
--   because it includes states resulting from error and concurrency
--   control parameters. <tt>StatusDetails</tt> can show different results
--   than <tt>Status</tt> . For more information about these statuses, see
--   <a>Monitor Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * Success – The execution of the command or plugin was
--   successfully completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, but they do contribute to whether
--   the parent command status is <tt>Success</tt> or <tt>Incomplete</tt> .
--   This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit and don't contribute to
--   whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.</li>
--   <li><a>ciStandardOutputURL</a> - 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, <tt>StandardOutputUrl</tt> is populated if
--   there is just one plugin defined for the command, and the Amazon S3
--   bucket was defined for the command.</li>
--   <li><a>ciCommandId</a> - The command against which this invocation was
--   requested.</li>
--   <li><a>ciComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>ciTraceOutput</a> - Gets the trace output sent by the
--   agent.</li>
--   <li><a>ciInstanceName</a> - The name of the invocation target. For
--   Amazon EC2 instances this is the value for the <tt>aws:Name</tt> tag.
--   For on-premises instances, this is the name of the instance.</li>
--   <li><a>ciRequestedDateTime</a> - The time and date the request was
--   sent to this instance.</li>
--   <li><a>ciServiceRole</a> - 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.</li>
--   </ul>
commandInvocation :: CommandInvocation

-- | The instance ID in which this invocation was requested.
ciInstanceId :: Lens' CommandInvocation (Maybe Text)

-- | Whether or not the invocation succeeded, failed, or is pending.
ciStatus :: Lens' CommandInvocation (Maybe CommandInvocationStatus)

-- | Configurations for sending notifications about command status changes
--   on a per instance basis.
ciNotificationConfig :: Lens' CommandInvocation (Maybe NotificationConfig)

-- | Undocumented member.
ciCommandPlugins :: Lens' CommandInvocation [CommandPlugin]

-- | The document name that was requested for execution.
ciDocumentName :: Lens' CommandInvocation (Maybe Text)

-- | 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,
--   <tt>StandardErrorUrl</tt> is populated if there is just one plugin
--   defined for the command, and the Amazon S3 bucket was defined for the
--   command.
ciStandardErrorURL :: Lens' CommandInvocation (Maybe Text)

-- | A detailed status of the command execution for each invocation (each
--   instance targeted by the command). <tt>StatusDetails</tt> includes
--   more information than <tt>Status</tt> because it includes states
--   resulting from error and concurrency control parameters.
--   <tt>StatusDetails</tt> can show different results than <tt>Status</tt>
--   . For more information about these statuses, see <a>Monitor
--   Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * Success – The execution of the command or plugin was
--   successfully completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, but they do contribute to whether
--   the parent command status is <tt>Success</tt> or <tt>Incomplete</tt> .
--   This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit and don't contribute to
--   whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.
ciStatusDetails :: Lens' CommandInvocation (Maybe Text)

-- | 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,
--   <tt>StandardOutputUrl</tt> is populated if there is just one plugin
--   defined for the command, and the Amazon S3 bucket was defined for the
--   command.
ciStandardOutputURL :: Lens' CommandInvocation (Maybe Text)

-- | The command against which this invocation was requested.
ciCommandId :: Lens' CommandInvocation (Maybe Text)

-- | User-specified information about the command, such as a brief
--   description of what the command should do.
ciComment :: Lens' CommandInvocation (Maybe Text)

-- | Gets the trace output sent by the agent.
ciTraceOutput :: Lens' CommandInvocation (Maybe Text)

-- | The name of the invocation target. For Amazon EC2 instances this is
--   the value for the <tt>aws:Name</tt> tag. For on-premises instances,
--   this is the name of the instance.
ciInstanceName :: Lens' CommandInvocation (Maybe Text)

-- | The time and date the request was sent to this instance.
ciRequestedDateTime :: Lens' CommandInvocation (Maybe UTCTime)

-- | 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.
ciServiceRole :: Lens' CommandInvocation (Maybe Text)

-- | Describes plugin details.
--   
--   <i>See:</i> <a>commandPlugin</a> smart constructor.
data CommandPlugin

-- | Creates a value of <a>CommandPlugin</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpStatus</a> - The status of this plugin. You can execute a
--   document with multiple plugins.</li>
--   <li><a>cpResponseStartDateTime</a> - The time the plugin started
--   executing.</li>
--   <li><a>cpOutputS3KeyPrefix</a> - 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.</li>
--   <li><a>cpStandardErrorURL</a> - The URL for the complete text written
--   by the plugin to stderr. If execution is not yet complete, then this
--   string is empty.</li>
--   <li><a>cpResponseCode</a> - A numeric response code generated after
--   executing the plugin.</li>
--   <li><a>cpStatusDetails</a> - A detailed status of the plugin
--   execution. <tt>StatusDetails</tt> includes more information than
--   <tt>Status</tt> because it includes states resulting from error and
--   concurrency control parameters. <tt>StatusDetails</tt> can show
--   different results than <tt>Status</tt> . For more information about
--   these statuses, see <a>Monitor Commands</a> (Linux) or <a>Monitor
--   Commands</a> (Windows). <tt>StatusDetails</tt> can be one of the
--   following values: * Pending – The command has not been sent to the
--   instance. * In Progress – The command has been sent to the instance
--   but has not reached a terminal state. * Success – The execution of the
--   command or plugin was successfully completed. This is a terminal
--   state. * 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 <tt>MaxErrors</tt> limit, but they
--   do contribute to whether the parent command status is <tt>Success</tt>
--   or <tt>Incomplete</tt> . This is a terminal state. * 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 <tt>MaxErrors</tt> limit of the parent command. This
--   is a terminal state. * 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 <tt>MaxErrors</tt> limit of the parent command. This is a
--   terminal state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, and they don't
--   contribute to whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.</li>
--   <li><a>cpOutput</a> - Output of the plugin execution.</li>
--   <li><a>cpStandardOutputURL</a> - 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.</li>
--   <li><a>cpName</a> - 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.</li>
--   <li><a>cpOutputS3Region</a> - The name of the region where the output
--   is stored in Amazon S3.</li>
--   <li><a>cpOutputS3BucketName</a> - 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.</li>
--   <li><a>cpResponseFinishDateTime</a> - The time the plugin stopped
--   executing. Could stop prematurely if, for example, a cancel command
--   was sent.</li>
--   </ul>
commandPlugin :: CommandPlugin

-- | The status of this plugin. You can execute a document with multiple
--   plugins.
cpStatus :: Lens' CommandPlugin (Maybe CommandPluginStatus)

-- | The time the plugin started executing.
cpResponseStartDateTime :: Lens' CommandPlugin (Maybe UTCTime)

-- | 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.
cpOutputS3KeyPrefix :: Lens' CommandPlugin (Maybe Text)

-- | The URL for the complete text written by the plugin to stderr. If
--   execution is not yet complete, then this string is empty.
cpStandardErrorURL :: Lens' CommandPlugin (Maybe Text)

-- | A numeric response code generated after executing the plugin.
cpResponseCode :: Lens' CommandPlugin (Maybe Int)

-- | A detailed status of the plugin execution. <tt>StatusDetails</tt>
--   includes more information than <tt>Status</tt> because it includes
--   states resulting from error and concurrency control parameters.
--   <tt>StatusDetails</tt> can show different results than <tt>Status</tt>
--   . For more information about these statuses, see <a>Monitor
--   Commands</a> (Linux) or <a>Monitor Commands</a> (Windows).
--   <tt>StatusDetails</tt> can be one of the following values: * Pending –
--   The command has not been sent to the instance. * In Progress – The
--   command has been sent to the instance but has not reached a terminal
--   state. * Success – The execution of the command or plugin was
--   successfully completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, but they do contribute to whether
--   the parent command status is <tt>Success</tt> or <tt>Incomplete</tt> .
--   This is a terminal state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * 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
--   <tt>MaxErrors</tt> limit of the parent command. This is a terminal
--   state. * Canceled – The command was terminated before it was
--   completed. This is a terminal state. * 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 <tt>MaxErrors</tt> limit, and they don't
--   contribute to whether the parent command status is <tt>Success</tt> or
--   <tt>Incomplete</tt> . This is a terminal state. * Terminated – The
--   parent command exceeded its <tt>MaxErrors</tt> limit and subsequent
--   command invocations were canceled by the system. This is a terminal
--   state.
cpStatusDetails :: Lens' CommandPlugin (Maybe Text)

-- | Output of the plugin execution.
cpOutput :: Lens' CommandPlugin (Maybe Text)

-- | 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.
cpStandardOutputURL :: Lens' CommandPlugin (Maybe Text)

-- | 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.
cpName :: Lens' CommandPlugin (Maybe Text)

-- | The name of the region where the output is stored in Amazon S3.
cpOutputS3Region :: Lens' CommandPlugin (Maybe Text)

-- | 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:
--   <tt>test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript</tt>
--   <tt>test_folder</tt> is the name of the Amazon S3 bucket;
--   <tt>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</tt> is the name of the S3
--   prefix; <tt>i-1234567876543</tt> is the instance ID;
--   <tt>awsrunShellScript</tt> is the name of the plugin.
cpOutputS3BucketName :: Lens' CommandPlugin (Maybe Text)

-- | The time the plugin stopped executing. Could stop prematurely if, for
--   example, a cancel command was sent.
cpResponseFinishDateTime :: Lens' CommandPlugin (Maybe UTCTime)

-- | Describes the association of an SSM document and an instance.
--   
--   <i>See:</i> <a>createAssociationBatchRequestEntry</a> smart
--   constructor.
data CreateAssociationBatchRequestEntry

-- | Creates a value of <a>CreateAssociationBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cabreInstanceId</a> - The ID of the instance.</li>
--   <li><a>cabreScheduleExpression</a> - A cron expression that specifies
--   a schedule when the association runs.</li>
--   <li><a>cabreOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the results of this request.</li>
--   <li><a>cabreTargets</a> - The instances targeted by the request.</li>
--   <li><a>cabreParameters</a> - A description of the parameters for a
--   document.</li>
--   <li><a>cabreDocumentVersion</a> - The document version.</li>
--   <li><a>cabreName</a> - The name of the configuration document.</li>
--   </ul>
createAssociationBatchRequestEntry :: Text -> CreateAssociationBatchRequestEntry

-- | The ID of the instance.
cabreInstanceId :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)

-- | A cron expression that specifies a schedule when the association runs.
cabreScheduleExpression :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
cabreOutputLocation :: Lens' CreateAssociationBatchRequestEntry (Maybe InstanceAssociationOutputLocation)

-- | The instances targeted by the request.
cabreTargets :: Lens' CreateAssociationBatchRequestEntry [Target]

-- | A description of the parameters for a document.
cabreParameters :: Lens' CreateAssociationBatchRequestEntry (HashMap Text [Text])

-- | The document version.
cabreDocumentVersion :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)

-- | The name of the configuration document.
cabreName :: Lens' CreateAssociationBatchRequestEntry Text

-- | Filter for the DescribeActivation API.
--   
--   <i>See:</i> <a>describeActivationsFilter</a> smart constructor.
data DescribeActivationsFilter

-- | Creates a value of <a>DescribeActivationsFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dafFilterKey</a> - The name of the filter.</li>
--   <li><a>dafFilterValues</a> - The filter values.</li>
--   </ul>
describeActivationsFilter :: DescribeActivationsFilter

-- | The name of the filter.
dafFilterKey :: Lens' DescribeActivationsFilter (Maybe DescribeActivationsFilterKeys)

-- | The filter values.
dafFilterValues :: Lens' DescribeActivationsFilter [Text]

-- | A default version of a document.
--   
--   <i>See:</i> <a>documentDefaultVersionDescription</a> smart
--   constructor.
data DocumentDefaultVersionDescription

-- | Creates a value of <a>DocumentDefaultVersionDescription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddvdDefaultVersion</a> - The default version of the
--   document.</li>
--   <li><a>ddvdName</a> - The name of the document.</li>
--   </ul>
documentDefaultVersionDescription :: DocumentDefaultVersionDescription

-- | The default version of the document.
ddvdDefaultVersion :: Lens' DocumentDefaultVersionDescription (Maybe Text)

-- | The name of the document.
ddvdName :: Lens' DocumentDefaultVersionDescription (Maybe Text)

-- | Describes an SSM document.
--   
--   <i>See:</i> <a>documentDescription</a> smart constructor.
data DocumentDescription

-- | Creates a value of <a>DocumentDescription</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dStatus</a> - The status of the SSM document.</li>
--   <li><a>dDocumentType</a> - The type of document.</li>
--   <li><a>dHash</a> - The Sha256 or Sha1 hash created by the system when
--   the document was created.</li>
--   <li><a>dSchemaVersion</a> - The schema version.</li>
--   <li><a>dSha1</a> - The SHA1 hash of the document, which you can use
--   for verification purposes.</li>
--   <li><a>dDefaultVersion</a> - The default version.</li>
--   <li><a>dOwner</a> - The AWS user account of the person who created the
--   document.</li>
--   <li><a>dPlatformTypes</a> - The list of OS platforms compatible with
--   this SSM document.</li>
--   <li><a>dCreatedDate</a> - The date when the SSM document was
--   created.</li>
--   <li><a>dName</a> - The name of the SSM document.</li>
--   <li><a>dHashType</a> - Sha256 or Sha1.</li>
--   <li><a>dParameters</a> - A description of the parameters for a
--   document.</li>
--   <li><a>dDocumentVersion</a> - The document version.</li>
--   <li><a>dDescription</a> - A description of the document.</li>
--   <li><a>dLatestVersion</a> - The latest version of the document.</li>
--   </ul>
documentDescription :: DocumentDescription

-- | The status of the SSM document.
dStatus :: Lens' DocumentDescription (Maybe DocumentStatus)

-- | The type of document.
dDocumentType :: Lens' DocumentDescription (Maybe DocumentType)

-- | The Sha256 or Sha1 hash created by the system when the document was
--   created.
dHash :: Lens' DocumentDescription (Maybe Text)

-- | The schema version.
dSchemaVersion :: Lens' DocumentDescription (Maybe Text)

-- | The SHA1 hash of the document, which you can use for verification
--   purposes.
dSha1 :: Lens' DocumentDescription (Maybe Text)

-- | The default version.
dDefaultVersion :: Lens' DocumentDescription (Maybe Text)

-- | The AWS user account of the person who created the document.
dOwner :: Lens' DocumentDescription (Maybe Text)

-- | The list of OS platforms compatible with this SSM document.
dPlatformTypes :: Lens' DocumentDescription [PlatformType]

-- | The date when the SSM document was created.
dCreatedDate :: Lens' DocumentDescription (Maybe UTCTime)

-- | The name of the SSM document.
dName :: Lens' DocumentDescription (Maybe Text)

-- | Sha256 or Sha1.
dHashType :: Lens' DocumentDescription (Maybe DocumentHashType)

-- | A description of the parameters for a document.
dParameters :: Lens' DocumentDescription [DocumentParameter]

-- | The document version.
dDocumentVersion :: Lens' DocumentDescription (Maybe Text)

-- | A description of the document.
dDescription :: Lens' DocumentDescription (Maybe Text)

-- | The latest version of the document.
dLatestVersion :: Lens' DocumentDescription (Maybe Text)

-- | Describes a filter.
--   
--   <i>See:</i> <a>documentFilter</a> smart constructor.
data DocumentFilter

-- | Creates a value of <a>DocumentFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfKey</a> - The name of the filter.</li>
--   <li><a>dfValue</a> - The value of the filter.</li>
--   </ul>
documentFilter :: DocumentFilterKey -> Text -> DocumentFilter

-- | The name of the filter.
dfKey :: Lens' DocumentFilter DocumentFilterKey

-- | The value of the filter.
dfValue :: Lens' DocumentFilter Text

-- | Describes the name of an SSM document.
--   
--   <i>See:</i> <a>documentIdentifier</a> smart constructor.
data DocumentIdentifier

-- | Creates a value of <a>DocumentIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diDocumentType</a> - The document type.</li>
--   <li><a>diSchemaVersion</a> - The schema version.</li>
--   <li><a>diOwner</a> - The AWS user account of the person who created
--   the document.</li>
--   <li><a>diPlatformTypes</a> - The operating system platform.</li>
--   <li><a>diName</a> - The name of the SSM document.</li>
--   <li><a>diDocumentVersion</a> - The document version.</li>
--   </ul>
documentIdentifier :: DocumentIdentifier

-- | The document type.
diDocumentType :: Lens' DocumentIdentifier (Maybe DocumentType)

-- | The schema version.
diSchemaVersion :: Lens' DocumentIdentifier (Maybe Text)

-- | The AWS user account of the person who created the document.
diOwner :: Lens' DocumentIdentifier (Maybe Text)

-- | The operating system platform.
diPlatformTypes :: Lens' DocumentIdentifier [PlatformType]

-- | The name of the SSM document.
diName :: Lens' DocumentIdentifier (Maybe Text)

-- | The document version.
diDocumentVersion :: Lens' DocumentIdentifier (Maybe Text)

-- | Parameters specified in the SSM document that execute on the server
--   when the command is run.
--   
--   <i>See:</i> <a>documentParameter</a> smart constructor.
data DocumentParameter

-- | Creates a value of <a>DocumentParameter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpName</a> - The name of the parameter.</li>
--   <li><a>dpDefaultValue</a> - If specified, the default values for the
--   parameters. Parameters without a default value are required.
--   Parameters with a default value are optional.</li>
--   <li><a>dpType</a> - The type of parameter. The type can be either
--   “String” or “StringList”.</li>
--   <li><a>dpDescription</a> - A description of what the parameter does,
--   how to use it, the default value, and whether or not the parameter is
--   optional.</li>
--   </ul>
documentParameter :: DocumentParameter

-- | The name of the parameter.
dpName :: Lens' DocumentParameter (Maybe Text)

-- | If specified, the default values for the parameters. Parameters
--   without a default value are required. Parameters with a default value
--   are optional.
dpDefaultValue :: Lens' DocumentParameter (Maybe Text)

-- | The type of parameter. The type can be either “String” or
--   “StringList”.
dpType :: Lens' DocumentParameter (Maybe DocumentParameterType)

-- | A description of what the parameter does, how to use it, the default
--   value, and whether or not the parameter is optional.
dpDescription :: Lens' DocumentParameter (Maybe Text)

-- | Version information about the document.
--   
--   <i>See:</i> <a>documentVersionInfo</a> smart constructor.
data DocumentVersionInfo

-- | Creates a value of <a>DocumentVersionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dviCreatedDate</a> - The date the document was created.</li>
--   <li><a>dviName</a> - The document name.</li>
--   <li><a>dviDocumentVersion</a> - The document version.</li>
--   <li><a>dviIsDefaultVersion</a> - An identifier for the default version
--   of the document.</li>
--   </ul>
documentVersionInfo :: DocumentVersionInfo

-- | The date the document was created.
dviCreatedDate :: Lens' DocumentVersionInfo (Maybe UTCTime)

-- | The document name.
dviName :: Lens' DocumentVersionInfo (Maybe Text)

-- | The document version.
dviDocumentVersion :: Lens' DocumentVersionInfo (Maybe Text)

-- | An identifier for the default version of the document.
dviIsDefaultVersion :: Lens' DocumentVersionInfo (Maybe Bool)

-- | Describes a failed association.
--   
--   <i>See:</i> <a>failedCreateAssociation</a> smart constructor.
data FailedCreateAssociation

-- | Creates a value of <a>FailedCreateAssociation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcaEntry</a> - The association.</li>
--   <li><a>fcaFault</a> - The source of the failure.</li>
--   <li><a>fcaMessage</a> - A description of the failure.</li>
--   </ul>
failedCreateAssociation :: FailedCreateAssociation

-- | The association.
fcaEntry :: Lens' FailedCreateAssociation (Maybe CreateAssociationBatchRequestEntry)

-- | The source of the failure.
fcaFault :: Lens' FailedCreateAssociation (Maybe Fault)

-- | A description of the failure.
fcaMessage :: Lens' FailedCreateAssociation (Maybe Text)

-- | Status information about the aggregated associations.
--   
--   <i>See:</i> <a>instanceAggregatedAssociationOverview</a> smart
--   constructor.
data InstanceAggregatedAssociationOverview

-- | Creates a value of <a>InstanceAggregatedAssociationOverview</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaaoDetailedStatus</a> - Detailed status information about the
--   aggregated associations.</li>
--   <li><a>iaaoInstanceAssociationStatusAggregatedCount</a> - The number
--   of associations for the instance(s).</li>
--   </ul>
instanceAggregatedAssociationOverview :: InstanceAggregatedAssociationOverview

-- | Detailed status information about the aggregated associations.
iaaoDetailedStatus :: Lens' InstanceAggregatedAssociationOverview (Maybe Text)

-- | The number of associations for the instance(s).
iaaoInstanceAssociationStatusAggregatedCount :: Lens' InstanceAggregatedAssociationOverview (HashMap Text Int)

-- | One or more association documents on the instance.
--   
--   <i>See:</i> <a>instanceAssociation</a> smart constructor.
data InstanceAssociation

-- | Creates a value of <a>InstanceAssociation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaAssociationId</a> - The association ID.</li>
--   <li><a>iaInstanceId</a> - The instance ID.</li>
--   <li><a>iaContent</a> - The content of the association document for the
--   instance(s).</li>
--   </ul>
instanceAssociation :: InstanceAssociation

-- | The association ID.
iaAssociationId :: Lens' InstanceAssociation (Maybe Text)

-- | The instance ID.
iaInstanceId :: Lens' InstanceAssociation (Maybe Text)

-- | The content of the association document for the instance(s).
iaContent :: Lens' InstanceAssociation (Maybe Text)

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
--   
--   <i>See:</i> <a>instanceAssociationOutputLocation</a> smart
--   constructor.
data InstanceAssociationOutputLocation

-- | Creates a value of <a>InstanceAssociationOutputLocation</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaolS3Location</a> - An Amazon S3 bucket where you want to
--   store the results of this request.</li>
--   </ul>
instanceAssociationOutputLocation :: InstanceAssociationOutputLocation

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
iaolS3Location :: Lens' InstanceAssociationOutputLocation (Maybe S3OutputLocation)

-- | The URL of Amazon S3 bucket where you want to store the results of
--   this request.
--   
--   <i>See:</i> <a>instanceAssociationOutputURL</a> smart constructor.
data InstanceAssociationOutputURL

-- | Creates a value of <a>InstanceAssociationOutputURL</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaouS3OutputURL</a> - The URL of Amazon S3 bucket where you
--   want to store the results of this request.</li>
--   </ul>
instanceAssociationOutputURL :: InstanceAssociationOutputURL

-- | The URL of Amazon S3 bucket where you want to store the results of
--   this request.
iaouS3OutputURL :: Lens' InstanceAssociationOutputURL (Maybe S3OutputURL)

-- | Status information about the instance association.
--   
--   <i>See:</i> <a>instanceAssociationStatusInfo</a> smart constructor.
data InstanceAssociationStatusInfo

-- | Creates a value of <a>InstanceAssociationStatusInfo</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iasiAssociationId</a> - The association ID.</li>
--   <li><a>iasiInstanceId</a> - The instance ID where the association was
--   created.</li>
--   <li><a>iasiDetailedStatus</a> - Detailed status information about the
--   instance association.</li>
--   <li><a>iasiStatus</a> - Status information about the instance
--   association.</li>
--   <li><a>iasiOutputURL</a> - A URL for an Amazon S3 bucket where you
--   want to store the results of this request.</li>
--   <li><a>iasiExecutionSummary</a> - Summary information about
--   association execution.</li>
--   <li><a>iasiName</a> - The name of the association.</li>
--   <li><a>iasiErrorCode</a> - An error code returned by the request to
--   create the association.</li>
--   <li><a>iasiDocumentVersion</a> - The association document
--   verions.</li>
--   <li><a>iasiExecutionDate</a> - The date the instance association
--   executed.</li>
--   </ul>
instanceAssociationStatusInfo :: InstanceAssociationStatusInfo

-- | The association ID.
iasiAssociationId :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The instance ID where the association was created.
iasiInstanceId :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | Detailed status information about the instance association.
iasiDetailedStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | Status information about the instance association.
iasiStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | A URL for an Amazon S3 bucket where you want to store the results of
--   this request.
iasiOutputURL :: Lens' InstanceAssociationStatusInfo (Maybe InstanceAssociationOutputURL)

-- | Summary information about association execution.
iasiExecutionSummary :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The name of the association.
iasiName :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | An error code returned by the request to create the association.
iasiErrorCode :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The association document verions.
iasiDocumentVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | The date the instance association executed.
iasiExecutionDate :: Lens' InstanceAssociationStatusInfo (Maybe UTCTime)

-- | Describes a filter for a specific list of instances.
--   
--   <i>See:</i> <a>instanceInformation</a> smart constructor.
data InstanceInformation

-- | Creates a value of <a>InstanceInformation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiInstanceId</a> - The instance ID.</li>
--   <li><a>iiPingStatus</a> - Connection status of the SSM agent.</li>
--   <li><a>iiIPAddress</a> - The IP address of the managed instance.</li>
--   <li><a>iiResourceType</a> - The type of instance. Instances are either
--   EC2 instances or managed instances.</li>
--   <li><a>iiRegistrationDate</a> - The date the server or VM was
--   registered with AWS as a managed instance.</li>
--   <li><a>iiPlatformVersion</a> - The version of the OS platform running
--   on your instance.</li>
--   <li><a>iiIsLatestVersion</a> - Indicates whether latest version of the
--   SSM agent is running on your instance.</li>
--   <li><a>iiAgentVersion</a> - The version of the SSM agent running on
--   your Linux instance.</li>
--   <li><a>iiLastPingDateTime</a> - The date and time when agent last
--   pinged Systems Manager service.</li>
--   <li><a>iiLastSuccessfulAssociationExecutionDate</a> - The last date
--   the association was successfully run.</li>
--   <li><a>iiActivationId</a> - The activation ID created by Systems
--   Manager when the server or VM was registered.</li>
--   <li><a>iiName</a> - The name of the managed instance.</li>
--   <li><a>iiPlatformType</a> - The operating system platform type.</li>
--   <li><a>iiAssociationOverview</a> - Information about the
--   association.</li>
--   <li><a>iiAssociationStatus</a> - The status of the association.</li>
--   <li><a>iiLastAssociationExecutionDate</a> - The date the association
--   was last executed.</li>
--   <li><a>iiPlatformName</a> - The name of the operating system platform
--   running on your instance.</li>
--   <li><a>iiComputerName</a> - The fully qualified host name of the
--   managed instance.</li>
--   <li><a>iiIAMRole</a> - The Amazon Identity and Access Management (IAM)
--   role assigned to EC2 instances or managed instances.</li>
--   </ul>
instanceInformation :: InstanceInformation

-- | The instance ID.
iiInstanceId :: Lens' InstanceInformation (Maybe Text)

-- | Connection status of the SSM agent.
iiPingStatus :: Lens' InstanceInformation (Maybe PingStatus)

-- | The IP address of the managed instance.
iiIPAddress :: Lens' InstanceInformation (Maybe Text)

-- | The type of instance. Instances are either EC2 instances or managed
--   instances.
iiResourceType :: Lens' InstanceInformation (Maybe ResourceType)

-- | The date the server or VM was registered with AWS as a managed
--   instance.
iiRegistrationDate :: Lens' InstanceInformation (Maybe UTCTime)

-- | The version of the OS platform running on your instance.
iiPlatformVersion :: Lens' InstanceInformation (Maybe Text)

-- | Indicates whether latest version of the SSM agent is running on your
--   instance.
iiIsLatestVersion :: Lens' InstanceInformation (Maybe Bool)

-- | The version of the SSM agent running on your Linux instance.
iiAgentVersion :: Lens' InstanceInformation (Maybe Text)

-- | The date and time when agent last pinged Systems Manager service.
iiLastPingDateTime :: Lens' InstanceInformation (Maybe UTCTime)

-- | The last date the association was successfully run.
iiLastSuccessfulAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)

-- | The activation ID created by Systems Manager when the server or VM was
--   registered.
iiActivationId :: Lens' InstanceInformation (Maybe Text)

-- | The name of the managed instance.
iiName :: Lens' InstanceInformation (Maybe Text)

-- | The operating system platform type.
iiPlatformType :: Lens' InstanceInformation (Maybe PlatformType)

-- | Information about the association.
iiAssociationOverview :: Lens' InstanceInformation (Maybe InstanceAggregatedAssociationOverview)

-- | The status of the association.
iiAssociationStatus :: Lens' InstanceInformation (Maybe Text)

-- | The date the association was last executed.
iiLastAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)

-- | The name of the operating system platform running on your instance.
iiPlatformName :: Lens' InstanceInformation (Maybe Text)

-- | The fully qualified host name of the managed instance.
iiComputerName :: Lens' InstanceInformation (Maybe Text)

-- | The Amazon Identity and Access Management (IAM) role assigned to EC2
--   instances or managed instances.
iiIAMRole :: Lens' InstanceInformation (Maybe Text)

-- | Describes a filter for a specific list of instances.
--   
--   <i>See:</i> <a>instanceInformationFilter</a> smart constructor.
data InstanceInformationFilter

-- | Creates a value of <a>InstanceInformationFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iifKey</a> - The name of the filter.</li>
--   <li><a>iifValueSet</a> - The filter values.</li>
--   </ul>
instanceInformationFilter :: InstanceInformationFilterKey -> NonEmpty Text -> InstanceInformationFilter

-- | The name of the filter.
iifKey :: Lens' InstanceInformationFilter InstanceInformationFilterKey

-- | The filter values.
iifValueSet :: Lens' InstanceInformationFilter (NonEmpty Text)

-- | The filters to describe or get information about your managed
--   instances.
--   
--   <i>See:</i> <a>instanceInformationStringFilter</a> smart constructor.
data InstanceInformationStringFilter

-- | Creates a value of <a>InstanceInformationStringFilter</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iisfKey</a> - The filter key name to describe your instances.
--   For example:
--   <a>InstanceIds</a>|<a>AgentVersion</a>|<a>PingStatus</a>|<a>PlatformTypes</a>|<a>ActivationIds</a>|<a>IamRole</a>|<a>ResourceType</a>|”AssociationStatus”|”Tag
--   Key”</li>
--   <li><a>iisfValues</a> - The filter values.</li>
--   </ul>
instanceInformationStringFilter :: Text -> NonEmpty Text -> InstanceInformationStringFilter

-- | The filter key name to describe your instances. For example:
--   <a>InstanceIds</a>|<a>AgentVersion</a>|<a>PingStatus</a>|<a>PlatformTypes</a>|<a>ActivationIds</a>|<a>IamRole</a>|<a>ResourceType</a>|”AssociationStatus”|”Tag
--   Key”
iisfKey :: Lens' InstanceInformationStringFilter Text

-- | The filter values.
iisfValues :: Lens' InstanceInformationStringFilter (NonEmpty Text)

-- | One or more filters. Use a filter to return a more specific list of
--   results.
--   
--   <i>See:</i> <a>inventoryFilter</a> smart constructor.
data InventoryFilter

-- | Creates a value of <a>InventoryFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ifType</a> - The type of filter. Valid values include the
--   following:
--   <a>Equal</a>|<a>NotEqual</a>|<a>BeginWith</a>|<a>LessThan</a>|<a>GreaterThan</a></li>
--   <li><a>ifKey</a> - The name of the filter key.</li>
--   <li><a>ifValues</a> - Inventory filter values. Example: inventory
--   filter where instance IDs are specified as values
--   Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
--   i-1a2b3c4d5e6,Type=Equal</li>
--   </ul>
inventoryFilter :: Text -> NonEmpty Text -> InventoryFilter

-- | The type of filter. Valid values include the following:
--   <a>Equal</a>|<a>NotEqual</a>|<a>BeginWith</a>|<a>LessThan</a>|<a>GreaterThan</a>
ifType :: Lens' InventoryFilter (Maybe InventoryQueryOperatorType)

-- | The name of the filter key.
ifKey :: Lens' InventoryFilter Text

-- | Inventory filter values. Example: inventory filter where instance IDs
--   are specified as values Key=AWS:InstanceInformation.InstanceId,Values=
--   i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal
ifValues :: Lens' InventoryFilter (NonEmpty Text)

-- | Information collected from managed instances based on your inventory
--   policy document
--   
--   <i>See:</i> <a>inventoryItem</a> smart constructor.
data InventoryItem

-- | Creates a value of <a>InventoryItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiContentHash</a> - MD5 hash of the inventory item type
--   contents. The content hash is used to determine whether to update
--   inventory information. The <tt>PutInventory</tt> API does not update
--   the inventory item type contents if the MD5 hash has not changed since
--   last update.</li>
--   <li><a>iiContent</a> - The inventory data of the inventory type.</li>
--   <li><a>iiTypeName</a> - The name of the inventory type. Default
--   inventory item type names start with <tt>AWS</tt> . Custom inventory
--   type names will start with <tt>Custom</tt> . Default inventory item
--   types include the following: <tt>AWS:AWSComponent</tt> ,
--   <tt>AWS:Application</tt> , <tt>AWS:InstanceInformation</tt> ,
--   <tt>AWS:Network</tt> , and <tt>AWS:WindowsUpdate</tt> .</li>
--   <li><a>iiSchemaVersion</a> - The schema version for the inventory
--   item.</li>
--   <li><a>iiCaptureTime</a> - The time the inventory information was
--   collected.</li>
--   </ul>
inventoryItem :: Text -> Text -> Text -> InventoryItem

-- | MD5 hash of the inventory item type contents. The content hash is used
--   to determine whether to update inventory information. The
--   <tt>PutInventory</tt> API does not update the inventory item type
--   contents if the MD5 hash has not changed since last update.
iiContentHash :: Lens' InventoryItem (Maybe Text)

-- | The inventory data of the inventory type.
iiContent :: Lens' InventoryItem [HashMap Text Text]

-- | The name of the inventory type. Default inventory item type names
--   start with <tt>AWS</tt> . Custom inventory type names will start with
--   <tt>Custom</tt> . Default inventory item types include the following:
--   <tt>AWS:AWSComponent</tt> , <tt>AWS:Application</tt> ,
--   <tt>AWS:InstanceInformation</tt> , <tt>AWS:Network</tt> , and
--   <tt>AWS:WindowsUpdate</tt> .
iiTypeName :: Lens' InventoryItem Text

-- | The schema version for the inventory item.
iiSchemaVersion :: Lens' InventoryItem Text

-- | The time the inventory information was collected.
iiCaptureTime :: Lens' InventoryItem Text

-- | Attributes are the entries within the inventory item content. It
--   contains name and value.
--   
--   <i>See:</i> <a>inventoryItemAttribute</a> smart constructor.
data InventoryItemAttribute

-- | Creates a value of <a>InventoryItemAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiaName</a> - Name of the inventory item attribute.</li>
--   <li><a>iiaDataType</a> - The data type of the inventory item
--   attribute.</li>
--   </ul>
inventoryItemAttribute :: Text -> InventoryAttributeDataType -> InventoryItemAttribute

-- | Name of the inventory item attribute.
iiaName :: Lens' InventoryItemAttribute Text

-- | The data type of the inventory item attribute.
iiaDataType :: Lens' InventoryItemAttribute InventoryAttributeDataType

-- | The inventory item schema definition. Users can use this to compose
--   inventory query filters.
--   
--   <i>See:</i> <a>inventoryItemSchema</a> smart constructor.
data InventoryItemSchema

-- | Creates a value of <a>InventoryItemSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iisVersion</a> - The schema version for the inventory
--   item.</li>
--   <li><a>iisTypeName</a> - The name of the inventory type. Default
--   inventory item type names start with <tt>AWS</tt> . Custom inventory
--   type names will start with <tt>Custom</tt> . Default inventory item
--   types include the following: <tt>AWS:AWSComponent</tt> ,
--   <tt>AWS:Application</tt> , <tt>AWS:InstanceInformation</tt> ,
--   <tt>AWS:Network</tt> , and <tt>AWS:WindowsUpdate</tt> .</li>
--   <li><a>iisAttributes</a> - The schema attributes for inventory. This
--   contains data type and attribute name.</li>
--   </ul>
inventoryItemSchema :: Text -> NonEmpty InventoryItemAttribute -> InventoryItemSchema

-- | The schema version for the inventory item.
iisVersion :: Lens' InventoryItemSchema (Maybe Text)

-- | The name of the inventory type. Default inventory item type names
--   start with <tt>AWS</tt> . Custom inventory type names will start with
--   <tt>Custom</tt> . Default inventory item types include the following:
--   <tt>AWS:AWSComponent</tt> , <tt>AWS:Application</tt> ,
--   <tt>AWS:InstanceInformation</tt> , <tt>AWS:Network</tt> , and
--   <tt>AWS:WindowsUpdate</tt> .
iisTypeName :: Lens' InventoryItemSchema Text

-- | The schema attributes for inventory. This contains data type and
--   attribute name.
iisAttributes :: Lens' InventoryItemSchema (NonEmpty InventoryItemAttribute)

-- | Inventory query results.
--   
--   <i>See:</i> <a>inventoryResultEntity</a> smart constructor.
data InventoryResultEntity

-- | Creates a value of <a>InventoryResultEntity</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ireData</a> - The data section in the inventory result entity
--   json.</li>
--   <li><a>ireId</a> - 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.</li>
--   </ul>
inventoryResultEntity :: InventoryResultEntity

-- | The data section in the inventory result entity json.
ireData :: Lens' InventoryResultEntity (HashMap Text InventoryResultItem)

-- | 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.
ireId :: Lens' InventoryResultEntity (Maybe Text)

-- | The inventory result item.
--   
--   <i>See:</i> <a>inventoryResultItem</a> smart constructor.
data InventoryResultItem

-- | Creates a value of <a>InventoryResultItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iriContentHash</a> - MD5 hash of the inventory item type
--   contents. The content hash is used to determine whether to update
--   inventory information. The <tt>PutInventory</tt> API does not update
--   the inventory item type contents if the MD5 hash has not changed since
--   last update.</li>
--   <li><a>iriCaptureTime</a> - The time inventory item data was
--   captured.</li>
--   <li><a>iriTypeName</a> - The name of the inventory result item
--   type.</li>
--   <li><a>iriSchemaVersion</a> - The schema version for the inventory
--   result item/</li>
--   <li><a>iriContent</a> - Contains all the inventory data of the item
--   type. Results include attribute names and values.</li>
--   </ul>
inventoryResultItem :: Text -> Text -> InventoryResultItem

-- | MD5 hash of the inventory item type contents. The content hash is used
--   to determine whether to update inventory information. The
--   <tt>PutInventory</tt> API does not update the inventory item type
--   contents if the MD5 hash has not changed since last update.
iriContentHash :: Lens' InventoryResultItem (Maybe Text)

-- | The time inventory item data was captured.
iriCaptureTime :: Lens' InventoryResultItem (Maybe Text)

-- | The name of the inventory result item type.
iriTypeName :: Lens' InventoryResultItem Text

-- | The schema version for the inventory result item/
iriSchemaVersion :: Lens' InventoryResultItem Text

-- | Contains all the inventory data of the item type. Results include
--   attribute names and values.
iriContent :: Lens' InventoryResultItem [HashMap Text Text]

-- | Information about an Amazon S3 bucket to write instance-level logs to.
--   
--   <i>See:</i> <a>loggingInfo</a> smart constructor.
data LoggingInfo

-- | Creates a value of <a>LoggingInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>liS3KeyPrefix</a> - (Optional) The Amazon S3 bucket
--   subfolder.</li>
--   <li><a>liS3BucketName</a> - The name of an Amazon S3 bucket where
--   execution logs are stored .</li>
--   <li><a>liS3Region</a> - The region where the Amazon S3 bucket is
--   located.</li>
--   </ul>
loggingInfo :: Text -> Text -> LoggingInfo

-- | (Optional) The Amazon S3 bucket subfolder.
liS3KeyPrefix :: Lens' LoggingInfo (Maybe Text)

-- | The name of an Amazon S3 bucket where execution logs are stored .
liS3BucketName :: Lens' LoggingInfo Text

-- | The region where the Amazon S3 bucket is located.
liS3Region :: Lens' LoggingInfo Text

-- | Describes the information about an execution of a Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowExecution</a> smart constructor.
data MaintenanceWindowExecution

-- | Creates a value of <a>MaintenanceWindowExecution</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mweStatus</a> - The status of the execution.</li>
--   <li><a>mweStartTime</a> - The time the execution started.</li>
--   <li><a>mweWindowExecutionId</a> - The ID of the Maintenance Window
--   execution.</li>
--   <li><a>mweStatusDetails</a> - The details explaining the Status. Only
--   available for certain status values.</li>
--   <li><a>mweEndTime</a> - The time the execution finished.</li>
--   <li><a>mweWindowId</a> - The ID of the Maintenance Window.</li>
--   </ul>
maintenanceWindowExecution :: MaintenanceWindowExecution

-- | The status of the execution.
mweStatus :: Lens' MaintenanceWindowExecution (Maybe MaintenanceWindowExecutionStatus)

-- | The time the execution started.
mweStartTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)

-- | The ID of the Maintenance Window execution.
mweWindowExecutionId :: Lens' MaintenanceWindowExecution (Maybe Text)

-- | The details explaining the Status. Only available for certain status
--   values.
mweStatusDetails :: Lens' MaintenanceWindowExecution (Maybe Text)

-- | The time the execution finished.
mweEndTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)

-- | The ID of the Maintenance Window.
mweWindowId :: Lens' MaintenanceWindowExecution (Maybe Text)

-- | Information about a task execution performed as part of a Maintenance
--   Window execution.
--   
--   <i>See:</i> <a>maintenanceWindowExecutionTaskIdentity</a> smart
--   constructor.
data MaintenanceWindowExecutionTaskIdentity

-- | Creates a value of <a>MaintenanceWindowExecutionTaskIdentity</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwetiStatus</a> - The status of the task execution.</li>
--   <li><a>mwetiTaskExecutionId</a> - The ID of the specific task
--   execution in the Maintenance Window execution.</li>
--   <li><a>mwetiStartTime</a> - The time the task execution started.</li>
--   <li><a>mwetiTaskType</a> - The type of executed task.</li>
--   <li><a>mwetiTaskARN</a> - The ARN of the executed task.</li>
--   <li><a>mwetiWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that ran the task.</li>
--   <li><a>mwetiStatusDetails</a> - The details explaining the status of
--   the task execution. Only available for certain status values.</li>
--   <li><a>mwetiEndTime</a> - The time the task execution finished.</li>
--   </ul>
maintenanceWindowExecutionTaskIdentity :: MaintenanceWindowExecutionTaskIdentity

-- | The status of the task execution.
mwetiStatus :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowExecutionStatus)

-- | The ID of the specific task execution in the Maintenance Window
--   execution.
mwetiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The time the task execution started.
mwetiStartTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)

-- | The type of executed task.
mwetiTaskType :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowTaskType)

-- | The ARN of the executed task.
mwetiTaskARN :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The ID of the Maintenance Window execution that ran the task.
mwetiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The details explaining the status of the task execution. Only
--   available for certain status values.
mwetiStatusDetails :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)

-- | The time the task execution finished.
mwetiEndTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)

-- | 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.
--   
--   <i>See:</i> <a>maintenanceWindowExecutionTaskInvocationIdentity</a>
--   smart constructor.
data MaintenanceWindowExecutionTaskInvocationIdentity

-- | Creates a value of
--   <a>MaintenanceWindowExecutionTaskInvocationIdentity</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwetiiStatus</a> - The status of the task invocation.</li>
--   <li><a>mwetiiExecutionId</a> - 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.</li>
--   <li><a>mwetiiTaskExecutionId</a> - The ID of the specific task
--   execution in the Maintenance Window execution.</li>
--   <li><a>mwetiiStartTime</a> - The time the invocation started.</li>
--   <li><a>mwetiiInvocationId</a> - The ID of the task invocation.</li>
--   <li><a>mwetiiOwnerInformation</a> - 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.</li>
--   <li><a>mwetiiWindowTargetId</a> - The ID of the target definition in
--   this Maintenance Window the invocation was performed for.</li>
--   <li><a>mwetiiWindowExecutionId</a> - The ID of the Maintenance Window
--   execution that ran the task.</li>
--   <li><a>mwetiiStatusDetails</a> - The details explaining the status of
--   the task invocation. Only available for certain Status values.</li>
--   <li><a>mwetiiEndTime</a> - The time the invocation finished.</li>
--   <li><a>mwetiiParameters</a> - The parameters that were provided for
--   the invocation when it was executed.</li>
--   </ul>
maintenanceWindowExecutionTaskInvocationIdentity :: MaintenanceWindowExecutionTaskInvocationIdentity

-- | The status of the task invocation.
mwetiiStatus :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowExecutionStatus)

-- | 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.
mwetiiExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The ID of the specific task execution in the Maintenance Window
--   execution.
mwetiiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The time the invocation started.
mwetiiStartTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)

-- | The ID of the task invocation.
mwetiiInvocationId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | 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.
mwetiiOwnerInformation :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The ID of the target definition in this Maintenance Window the
--   invocation was performed for.
mwetiiWindowTargetId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The ID of the Maintenance Window execution that ran the task.
mwetiiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The details explaining the status of the task invocation. Only
--   available for certain Status values.
mwetiiStatusDetails :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | The time the invocation finished.
mwetiiEndTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)

-- | The parameters that were provided for the invocation when it was
--   executed.
mwetiiParameters :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)

-- | Filter used in the request.
--   
--   <i>See:</i> <a>maintenanceWindowFilter</a> smart constructor.
data MaintenanceWindowFilter

-- | Creates a value of <a>MaintenanceWindowFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwfValues</a> - The filter values.</li>
--   <li><a>mwfKey</a> - The name of the filter.</li>
--   </ul>
maintenanceWindowFilter :: MaintenanceWindowFilter

-- | The filter values.
mwfValues :: Lens' MaintenanceWindowFilter [Text]

-- | The name of the filter.
mwfKey :: Lens' MaintenanceWindowFilter (Maybe Text)

-- | Information about the Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowIdentity</a> smart constructor.
data MaintenanceWindowIdentity

-- | Creates a value of <a>MaintenanceWindowIdentity</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwiEnabled</a> - Whether the Maintenance Window is
--   enabled.</li>
--   <li><a>mwiName</a> - The name of the Maintenance Window.</li>
--   <li><a>mwiCutoff</a> - The number of hours before the end of the
--   Maintenance Window that Systems Manager stops scheduling new tasks for
--   execution.</li>
--   <li><a>mwiDuration</a> - The duration of the Maintenance Window in
--   hours.</li>
--   <li><a>mwiWindowId</a> - The ID of the Maintenance Window.</li>
--   </ul>
maintenanceWindowIdentity :: MaintenanceWindowIdentity

-- | Whether the Maintenance Window is enabled.
mwiEnabled :: Lens' MaintenanceWindowIdentity (Maybe Bool)

-- | The name of the Maintenance Window.
mwiName :: Lens' MaintenanceWindowIdentity (Maybe Text)

-- | The number of hours before the end of the Maintenance Window that
--   Systems Manager stops scheduling new tasks for execution.
mwiCutoff :: Lens' MaintenanceWindowIdentity (Maybe Natural)

-- | The duration of the Maintenance Window in hours.
mwiDuration :: Lens' MaintenanceWindowIdentity (Maybe Natural)

-- | The ID of the Maintenance Window.
mwiWindowId :: Lens' MaintenanceWindowIdentity (Maybe Text)

-- | The target registered with the Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowTarget</a> smart constructor.
data MaintenanceWindowTarget

-- | Creates a value of <a>MaintenanceWindowTarget</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mResourceType</a> - The type of target.</li>
--   <li><a>mOwnerInformation</a> - User-provided value that will be
--   included in any CloudWatch events raised while running tasks for these
--   targets in this Maintenance Window.</li>
--   <li><a>mWindowTargetId</a> - The ID of the target.</li>
--   <li><a>mTargets</a> - The targets (either instances or tags).
--   Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   <li><a>mWindowId</a> - The Maintenance Window ID where the target is
--   registered.</li>
--   </ul>
maintenanceWindowTarget :: MaintenanceWindowTarget

-- | The type of target.
mResourceType :: Lens' MaintenanceWindowTarget (Maybe MaintenanceWindowResourceType)

-- | User-provided value that will be included in any CloudWatch events
--   raised while running tasks for these targets in this Maintenance
--   Window.
mOwnerInformation :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | The ID of the target.
mWindowTargetId :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | The targets (either instances or tags). Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
mTargets :: Lens' MaintenanceWindowTarget [Target]

-- | The Maintenance Window ID where the target is registered.
mWindowId :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | Information about a task defined for a Maintenance Window.
--   
--   <i>See:</i> <a>maintenanceWindowTask</a> smart constructor.
data MaintenanceWindowTask

-- | Creates a value of <a>MaintenanceWindowTask</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwtServiceRoleARN</a> - The role that should be assumed when
--   executing the task</li>
--   <li><a>mwtWindowTaskId</a> - The task ID.</li>
--   <li><a>mwtTaskParameters</a> - The parameters that should be passed to
--   the task when it is executed.</li>
--   <li><a>mwtPriority</a> - 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.</li>
--   <li><a>mwtTaskARN</a> - The ARN of the task to execute.</li>
--   <li><a>mwtMaxErrors</a> - The maximum number of errors allowed before
--   this task stops being scheduled.</li>
--   <li><a>mwtTargets</a> - The targets (either instances or tags).
--   Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.</li>
--   <li><a>mwtLoggingInfo</a> - Information about an Amazon S3 bucket to
--   write task-level logs to.</li>
--   <li><a>mwtType</a> - The type of task.</li>
--   <li><a>mwtMaxConcurrency</a> - The maximum number of targets this task
--   can be run for in parallel.</li>
--   <li><a>mwtWindowId</a> - The Maintenance Window ID where the task is
--   registered.</li>
--   </ul>
maintenanceWindowTask :: MaintenanceWindowTask

-- | The role that should be assumed when executing the task
mwtServiceRoleARN :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The task ID.
mwtWindowTaskId :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The parameters that should be passed to the task when it is executed.
mwtTaskParameters :: Lens' MaintenanceWindowTask (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))

-- | 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.
mwtPriority :: Lens' MaintenanceWindowTask (Maybe Natural)

-- | The ARN of the task to execute.
mwtTaskARN :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The maximum number of errors allowed before this task stops being
--   scheduled.
mwtMaxErrors :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The targets (either instances or tags). Instances are specified using
--   Key=instanceids,Values=<a>instanceid1</a>,<a>instanceid2</a>. Tags are
--   specified using Key=<a>name</a>,Values=<a>value</a>.
mwtTargets :: Lens' MaintenanceWindowTask [Target]

-- | Information about an Amazon S3 bucket to write task-level logs to.
mwtLoggingInfo :: Lens' MaintenanceWindowTask (Maybe LoggingInfo)

-- | The type of task.
mwtType :: Lens' MaintenanceWindowTask (Maybe MaintenanceWindowTaskType)

-- | The maximum number of targets this task can be run for in parallel.
mwtMaxConcurrency :: Lens' MaintenanceWindowTask (Maybe Text)

-- | The Maintenance Window ID where the task is registered.
mwtWindowId :: Lens' MaintenanceWindowTask (Maybe Text)

-- | Defines the values for a task parameter.
--   
--   <i>See:</i> <a>maintenanceWindowTaskParameterValueExpression</a> smart
--   constructor.
data MaintenanceWindowTaskParameterValueExpression

-- | Creates a value of
--   <a>MaintenanceWindowTaskParameterValueExpression</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mwtpveValues</a> - This field contains an array of 0 or more
--   strings, each 1 to 255 characters in length.</li>
--   </ul>
maintenanceWindowTaskParameterValueExpression :: MaintenanceWindowTaskParameterValueExpression

-- | This field contains an array of 0 or more strings, each 1 to 255
--   characters in length.
mwtpveValues :: Lens' MaintenanceWindowTaskParameterValueExpression (Maybe [Text])

-- | Configurations for sending notifications.
--   
--   <i>See:</i> <a>notificationConfig</a> smart constructor.
data NotificationConfig

-- | Creates a value of <a>NotificationConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ncNotificationEvents</a> - 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>Monitoring Commands</a> in the
--   <i>Amazon Elastic Compute Cloud User Guide </i> .</li>
--   <li><a>ncNotificationType</a> - 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.</li>
--   <li><a>ncNotificationARN</a> - An Amazon Resource Name (ARN) for a
--   Simple Notification Service (SNS) topic. Run Command pushes
--   notifications about command status changes to this topic.</li>
--   </ul>
notificationConfig :: NotificationConfig

-- | 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>Monitoring Commands</a> in the <i>Amazon Elastic Compute Cloud User
--   Guide </i> .
ncNotificationEvents :: Lens' NotificationConfig [NotificationEvent]

-- | 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.
ncNotificationType :: Lens' NotificationConfig (Maybe NotificationType)

-- | An Amazon Resource Name (ARN) for a Simple Notification Service (SNS)
--   topic. Run Command pushes notifications about command status changes
--   to this topic.
ncNotificationARN :: Lens' NotificationConfig (Maybe Text)

-- | An Amazon EC2 Systems Manager parameter in Parameter Store.
--   
--   <i>See:</i> <a>parameter</a> smart constructor.
data Parameter

-- | Creates a value of <a>Parameter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pValue</a> - The parameter value.</li>
--   <li><a>pName</a> - The name of the parameter.</li>
--   <li><a>pType</a> - The type of parameter. Valid values include the
--   following: String, String list, Secure string.</li>
--   </ul>
parameter :: Parameter

-- | The parameter value.
pValue :: Lens' Parameter (Maybe Text)

-- | The name of the parameter.
pName :: Lens' Parameter (Maybe Text)

-- | The type of parameter. Valid values include the following: String,
--   String list, Secure string.
pType :: Lens' Parameter (Maybe ParameterType)

-- | Information about parameter usage.
--   
--   <i>See:</i> <a>parameterHistory</a> smart constructor.
data ParameterHistory

-- | Creates a value of <a>ParameterHistory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>phLastModifiedDate</a> - Date the parameter was last changed or
--   updated.</li>
--   <li><a>phKeyId</a> - The ID of the query key used for this
--   parameter.</li>
--   <li><a>phValue</a> - The parameter value.</li>
--   <li><a>phName</a> - The name of the parameter.</li>
--   <li><a>phLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>phType</a> - The type of parameter used.</li>
--   <li><a>phDescription</a> - Information about the parameter.</li>
--   </ul>
parameterHistory :: ParameterHistory

-- | Date the parameter was last changed or updated.
phLastModifiedDate :: Lens' ParameterHistory (Maybe UTCTime)

-- | The ID of the query key used for this parameter.
phKeyId :: Lens' ParameterHistory (Maybe Text)

-- | The parameter value.
phValue :: Lens' ParameterHistory (Maybe Text)

-- | The name of the parameter.
phName :: Lens' ParameterHistory (Maybe Text)

-- | Amazon Resource Name (ARN) of the AWS user who last changed the
--   parameter.
phLastModifiedUser :: Lens' ParameterHistory (Maybe Text)

-- | The type of parameter used.
phType :: Lens' ParameterHistory (Maybe ParameterType)

-- | Information about the parameter.
phDescription :: Lens' ParameterHistory (Maybe Text)

-- | Metada includes information like the ARN of the last user and the
--   date/time the parameter was last used.
--   
--   <i>See:</i> <a>parameterMetadata</a> smart constructor.
data ParameterMetadata

-- | Creates a value of <a>ParameterMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmLastModifiedDate</a> - Date the parameter was last changed or
--   updated.</li>
--   <li><a>pmKeyId</a> - The ID of the query key used for this
--   parameter.</li>
--   <li><a>pmName</a> - The parameter name.</li>
--   <li><a>pmLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>pmType</a> - The type of parameter. Valid parameter types
--   include the following: String, String list, Secure string.</li>
--   <li><a>pmDescription</a> - Description of the parameter actions.</li>
--   </ul>
parameterMetadata :: ParameterMetadata

-- | Date the parameter was last changed or updated.
pmLastModifiedDate :: Lens' ParameterMetadata (Maybe UTCTime)

-- | The ID of the query key used for this parameter.
pmKeyId :: Lens' ParameterMetadata (Maybe Text)

-- | The parameter name.
pmName :: Lens' ParameterMetadata (Maybe Text)

-- | Amazon Resource Name (ARN) of the AWS user who last changed the
--   parameter.
pmLastModifiedUser :: Lens' ParameterMetadata (Maybe Text)

-- | The type of parameter. Valid parameter types include the following:
--   String, String list, Secure string.
pmType :: Lens' ParameterMetadata (Maybe ParameterType)

-- | Description of the parameter actions.
pmDescription :: Lens' ParameterMetadata (Maybe Text)

-- | One or more filters. Use a filter to return a more specific list of
--   results.
--   
--   <i>See:</i> <a>parametersFilter</a> smart constructor.
data ParametersFilter

-- | Creates a value of <a>ParametersFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pfKey</a> - The name of the filter.</li>
--   <li><a>pfValues</a> - The filter values.</li>
--   </ul>
parametersFilter :: NonEmpty Text -> ParametersFilter

-- | The name of the filter.
pfKey :: Lens' ParametersFilter (Maybe ParametersFilterKey)

-- | The filter values.
pfValues :: Lens' ParametersFilter (NonEmpty Text)

-- | The inventory item result attribute.
--   
--   <i>See:</i> <a>resultAttribute</a> smart constructor.
data ResultAttribute

-- | Creates a value of <a>ResultAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>raTypeName</a> - Name of the inventory item type. Valid value:
--   “AWS:InstanceInformation”. Default Value:
--   “AWS:InstanceInformation”.</li>
--   </ul>
resultAttribute :: Text -> ResultAttribute

-- | Name of the inventory item type. Valid value:
--   “AWS:InstanceInformation”. Default Value: “AWS:InstanceInformation”.
raTypeName :: Lens' ResultAttribute Text

-- | An Amazon S3 bucket where you want to store the results of this
--   request.
--   
--   <i>See:</i> <a>s3OutputLocation</a> smart constructor.
data S3OutputLocation

-- | Creates a value of <a>S3OutputLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>solOutputS3KeyPrefix</a> - The Amazon S3 bucket subfolder.</li>
--   <li><a>solOutputS3Region</a> - The Amazon S3 region where the
--   association information is stored.</li>
--   <li><a>solOutputS3BucketName</a> - The name of the Amazon S3
--   bucket.</li>
--   </ul>
s3OutputLocation :: S3OutputLocation

-- | The Amazon S3 bucket subfolder.
solOutputS3KeyPrefix :: Lens' S3OutputLocation (Maybe Text)

-- | The Amazon S3 region where the association information is stored.
solOutputS3Region :: Lens' S3OutputLocation (Maybe Text)

-- | The name of the Amazon S3 bucket.
solOutputS3BucketName :: Lens' S3OutputLocation (Maybe Text)

-- | A URL for the Amazon S3 bucket where you want to store the results of
--   this request.
--   
--   <i>See:</i> <a>s3OutputURL</a> smart constructor.
data S3OutputURL

-- | Creates a value of <a>S3OutputURL</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>souOutputURL</a> - A URL for an Amazon S3 bucket where you want
--   to store the results of this request.</li>
--   </ul>
s3OutputURL :: S3OutputURL

-- | A URL for an Amazon S3 bucket where you want to store the results of
--   this request.
souOutputURL :: Lens' S3OutputURL (Maybe Text)

-- | Detailed information about an the execution state of an Automation
--   step.
--   
--   <i>See:</i> <a>stepExecution</a> smart constructor.
data StepExecution

-- | Creates a value of <a>StepExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>seInputs</a> - Fully-resolved values passed into the step
--   before execution.</li>
--   <li><a>seStepName</a> - The name of this execution step.</li>
--   <li><a>seExecutionEndTime</a> - 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.</li>
--   <li><a>seFailureMessage</a> - If a step failed, this message explains
--   why the execution failed.</li>
--   <li><a>seResponse</a> - A message associated with the response code
--   for an execution.</li>
--   <li><a>seAction</a> - The action this step performs. The action
--   determines the behavior of the step.</li>
--   <li><a>seResponseCode</a> - The response code returned by the
--   execution of the step.</li>
--   <li><a>seStepStatus</a> - The execution status for this step. Valid
--   values include: <tt>Pending</tt> , <tt>InProgress</tt> ,
--   <tt>Success</tt> , <tt>Cancelled</tt> , <tt>Failed</tt> , and
--   <tt>TimedOut</tt> .</li>
--   <li><a>seOutputs</a> - Returned values from the execution of the
--   step.</li>
--   <li><a>seExecutionStartTime</a> - If a step has begun execution, this
--   contains the time the step started. If the step is in <tt>Pending</tt>
--   status, this field is not populated.</li>
--   </ul>
stepExecution :: StepExecution

-- | Fully-resolved values passed into the step before execution.
seInputs :: Lens' StepExecution (HashMap Text Text)

-- | The name of this execution step.
seStepName :: Lens' StepExecution (Maybe Text)

-- | 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.
seExecutionEndTime :: Lens' StepExecution (Maybe UTCTime)

-- | If a step failed, this message explains why the execution failed.
seFailureMessage :: Lens' StepExecution (Maybe Text)

-- | A message associated with the response code for an execution.
seResponse :: Lens' StepExecution (Maybe Text)

-- | The action this step performs. The action determines the behavior of
--   the step.
seAction :: Lens' StepExecution (Maybe Text)

-- | The response code returned by the execution of the step.
seResponseCode :: Lens' StepExecution (Maybe Text)

-- | The execution status for this step. Valid values include:
--   <tt>Pending</tt> , <tt>InProgress</tt> , <tt>Success</tt> ,
--   <tt>Cancelled</tt> , <tt>Failed</tt> , and <tt>TimedOut</tt> .
seStepStatus :: Lens' StepExecution (Maybe AutomationExecutionStatus)

-- | Returned values from the execution of the step.
seOutputs :: Lens' StepExecution (HashMap Text [Text])

-- | If a step has begun execution, this contains the time the step
--   started. If the step is in <tt>Pending</tt> status, this field is not
--   populated.
seExecutionStartTime :: Lens' StepExecution (Maybe UTCTime)

-- | 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.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagKey</a> - The name of the tag.</li>
--   <li><a>tagValue</a> - The value of the tag.</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | The name of the tag.
tagKey :: Lens' Tag Text

-- | The value of the tag.
tagValue :: Lens' Tag Text

-- | An array of search criteria that targets instances using a
--   <tt>Key</tt> ;<tt>Value</tt> combination that you specify.
--   <tt>Targets</tt> is required if you don't provide one or more instance
--   IDs in the call.
--   
--   <i>See:</i> <a>target</a> smart constructor.
data Target

-- | Creates a value of <a>Target</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tValues</a> - User-defined criteria that maps to <tt>Key</tt> .
--   For example, if you specified <tt>tag:ServerRole</tt> , you could
--   specify <tt>value:WebServer</tt> 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
--   <tt>Key</tt> ;<tt>Value</tt> parameters, see <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Linux) or <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Windows).</li>
--   <li><a>tKey</a> - User-defined criteria for sending commands that
--   target instances that meet the criteria. <tt>Key</tt> can be
--   <tt>tag:<a>EC2 tag</a></tt> or <tt>name:<a>EC2 instance ID</a></tt> .
--   For example, <tt>tag:ServerRole</tt> or <tt>name:0123456789012345</tt>
--   . For more information about how to send commands that target
--   instances using <tt>Key</tt> ;<tt>Value</tt> parameters, see
--   <a>Executing a Command Using Amazon EC2 Run Command</a> (Linux) or
--   <a>Executing a Command Using Amazon EC2 Run Command</a>
--   (Windows).</li>
--   </ul>
target :: Target

-- | User-defined criteria that maps to <tt>Key</tt> . For example, if you
--   specified <tt>tag:ServerRole</tt> , you could specify
--   <tt>value:WebServer</tt> 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 <tt>Key</tt>
--   ;<tt>Value</tt> parameters, see <a>Executing a Command Using Amazon
--   EC2 Run Command</a> (Linux) or <a>Executing a Command Using Amazon EC2
--   Run Command</a> (Windows).
tValues :: Lens' Target [Text]

-- | User-defined criteria for sending commands that target instances that
--   meet the criteria. <tt>Key</tt> can be <tt>tag:<a>EC2 tag</a></tt> or
--   <tt>name:<a>EC2 instance ID</a></tt> . For example,
--   <tt>tag:ServerRole</tt> or <tt>name:0123456789012345</tt> . For more
--   information about how to send commands that target instances using
--   <tt>Key</tt> ;<tt>Value</tt> parameters, see <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Linux) or <a>Executing a Command
--   Using Amazon EC2 Run Command</a> (Windows).
tKey :: Lens' Target (Maybe Text)
