-- 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.6.0


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

-- | Parameter Store does not support changing a parameter type in a
--   hierarchy. For example, you can't change a parameter from a String
--   type to a SecureString type. You must create a new, unique parameter.
_HierarchyTypeMismatchException :: 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 specified update status operation is not valid.
_InvalidAutomationStatusUpdateException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | You attempted to register a LAMBDA or STEP_FUNCTION task in a region
--   where the corresponding service is not available.
_FeatureNotAvailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The signal is not valid for the current Automation execution.
_InvalidAutomationSignalException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the allowed maximum sync configurations.
_ResourceDataSyncCountExceededException :: 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 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 specified filter option is not valid. Valid options are Equals and
--   BeginsWith. For Path filter, valid options are Recursive and OneLevel.
_InvalidFilterOption :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter name is not valid.
_ParameterPatternMismatchException :: 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 a document from all instances before you can
--   delete it.
_AssociatedInstances :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operating systems you specified is not supported, or the operation
--   is not supported for the operating system. Valid operating systems
--   include: Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
_UnsupportedOperatingSystem :: 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 request is not valid.
_InvalidInventoryRequestException :: 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. For example, too many Maintenance Windows or Patch baselines
--   have been created.
--   
--   For information about resource limits in Systems Manager, see <a>AWS
--   Systems Manager Limits</a> .
_ResourceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified sync configuration is invalid.
_ResourceDataSyncInvalidConfigurationException :: 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. For example, 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 GetInventorySchema 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 specified sync name was not found.
_ResourceDataSyncNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter exceeded the maximum number of allowed versions.
_ParameterMaxVersionLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | A sync configuration with the same name already exists.
_ResourceDataSyncAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Error returned when the ID specified for a resource, such as a
--   Maintenance Window or Patch baseline, doesn't exist.
--   
--   For information about resource limits in Systems Manager, see <a>AWS
--   Systems Manager Limits</a> .
_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

-- | You specified too many custom compliance types. You can specify a
--   maximum of 10 different types.
_ComplianceTypeCountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more of the parameters specified for the delete operation is
--   not valid. Verify all parameters and try again.
_InvalidDeleteInventoryParametersException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The ID specified for the delete operation does not exist or is not
--   valide. Verify the ID and try again.
_InvalidDeletionIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The content for the 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 version you specified is not valid. Use ListAssociationVersions to
--   view all versions of an association according to the association ID.
--   Or, use the <tt>&gt; LATEST</tt> parameter to view the latest version
--   of the association.
_InvalidAssociationVersion :: 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

-- | You specified the <tt>Safe</tt> option for the
--   DeregisterTargetFromMaintenanceWindow operation, but the target is
--   still referenced in a task.
_TargetInUseException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | The <tt>Context</tt> attribute that you specified for the
--   <tt>InventoryItem</tt> is not allowed for this inventory type. You can
--   only use the <tt>Context</tt> attribute with inventory types like
--   <tt>AWS:ComplianceItem</tt> .
_UnsupportedInventoryItemContextException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the maximum number versions allowed for an
--   association. Each association has a limit of 1,000 versions.
_AssociationVersionLimitExceeded :: 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>Configuring Amazon SNS Notifications for
--   Run Command</a> in the <i>AWS Systems Manager 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 delete inventory option specified is not valid. Verify the option
--   and try again.
_InvalidOptionException :: 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 a document is 64 KB.
_MaxDocumentSizeExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified parameter version was not found. Verify the parameter
--   name and version, and try again.
_ParameterVersionNotFound :: 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

-- | A hierarchy can have a maximum of 15 levels. For more information, see
--   <a>Working with Systems Manager Parameters</a> .
_HierarchyLevelLimitExceededException :: 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 Systems
--   Manager document. You can only supply values to parameters defined in
--   the Systems Manager 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

-- | The request does not meet the regular expression requirement.
_InvalidAllowedPatternException :: 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

-- | You specified invalid keys or values in the <tt>Context</tt> attribute
--   for <tt>InventoryItem</tt> . Verify the keys and values, and try
--   again.
_InvalidInventoryItemContextException :: 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 sub-type count exceeded the limit for the inventory type.
_SubTypeCountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The Targets 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 specified step name and execution ID don't exist. Verify the
--   information and try again.
_AutomationStepNotFoundException :: 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 document already exists.
_DocumentAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | Error returned if an attempt is made to register a patch group with a
--   patch baseline that is already registered with a different patch
--   baseline.
_AlreadyExistsException :: 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

-- | Error returned if an attempt is made to delete a patch baseline that
--   is registered for a patch group.
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
data AssociationFilterKey
AFKAssociationId :: AssociationFilterKey
AFKAssociationName :: AssociationFilterKey
AFKAssociationStatusName :: AssociationFilterKey
AFKInstanceId :: AssociationFilterKey
AFKLastExecutedAfter :: AssociationFilterKey
AFKLastExecutedBefore :: AssociationFilterKey
AFKName :: AssociationFilterKey
data AssociationStatusName
ASNFailed :: AssociationStatusName
ASNPending :: AssociationStatusName
ASNSuccess :: AssociationStatusName
data AutomationExecutionFilterKey
AEFKCurrentAction :: AutomationExecutionFilterKey
AEFKDocumentNamePrefix :: AutomationExecutionFilterKey
AEFKExecutionId :: AutomationExecutionFilterKey
AEFKExecutionStatus :: AutomationExecutionFilterKey
AEFKParentExecutionId :: AutomationExecutionFilterKey
AEFKStartTimeAfter :: AutomationExecutionFilterKey
AEFKStartTimeBefore :: AutomationExecutionFilterKey
data AutomationExecutionStatus
AESCancelled :: AutomationExecutionStatus
AESCancelling :: AutomationExecutionStatus
AESFailed :: AutomationExecutionStatus
AESInProgress :: AutomationExecutionStatus
AESPending :: AutomationExecutionStatus
AESSuccess :: AutomationExecutionStatus
AESTimedOut :: AutomationExecutionStatus
AESWaiting :: 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
CSCancelled :: CommandStatus
CSCancelling :: CommandStatus
CSFailed :: CommandStatus
CSInProgress :: CommandStatus
CSPending :: CommandStatus
CSSuccess :: CommandStatus
CSTimedOut :: CommandStatus
data ComplianceQueryOperatorType
CQOTBeginWith :: ComplianceQueryOperatorType
CQOTEqual :: ComplianceQueryOperatorType
CQOTGreaterThan :: ComplianceQueryOperatorType
CQOTLessThan :: ComplianceQueryOperatorType
CQOTNotEqual :: ComplianceQueryOperatorType
data ComplianceSeverity
CSCritical :: ComplianceSeverity
CSHigh :: ComplianceSeverity
CSInformational :: ComplianceSeverity
CSLow :: ComplianceSeverity
CSMedium :: ComplianceSeverity
CSUnspecified :: ComplianceSeverity
data ComplianceStatus
Compliant :: ComplianceStatus
NonCompliant :: ComplianceStatus
data DescribeActivationsFilterKeys
ActivationIds :: DescribeActivationsFilterKeys
DefaultInstanceName :: DescribeActivationsFilterKeys
IAMRole :: DescribeActivationsFilterKeys
data DocumentFilterKey
DocumentType :: DocumentFilterKey
Name :: DocumentFilterKey
Owner :: DocumentFilterKey
PlatformTypes :: DocumentFilterKey
data DocumentFormat
JSON :: DocumentFormat
Yaml :: DocumentFormat
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 ExecutionMode
Auto :: ExecutionMode
Interactive :: ExecutionMode
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 InstancePatchStateOperatorType
IPSOTEqual :: InstancePatchStateOperatorType
IPSOTGreaterThan :: InstancePatchStateOperatorType
IPSOTLessThan :: InstancePatchStateOperatorType
IPSOTNotEqual :: InstancePatchStateOperatorType
data InventoryAttributeDataType
IADTNumber :: InventoryAttributeDataType
IADTString :: InventoryAttributeDataType
data InventoryDeletionStatus
Complete :: InventoryDeletionStatus
InProgress :: InventoryDeletionStatus
data InventoryQueryOperatorType
BeginWith :: InventoryQueryOperatorType
Equal :: InventoryQueryOperatorType
GreaterThan :: InventoryQueryOperatorType
LessThan :: InventoryQueryOperatorType
NotEqual :: InventoryQueryOperatorType
data InventorySchemaDeleteOption
DeleteSchema :: InventorySchemaDeleteOption
DisableSchema :: InventorySchemaDeleteOption
data LastResourceDataSyncStatus
LRDSSFailed :: LastResourceDataSyncStatus
LRDSSInProgress :: LastResourceDataSyncStatus
LRDSSSuccessful :: LastResourceDataSyncStatus
data MaintenanceWindowExecutionStatus
MWESCancelled :: MaintenanceWindowExecutionStatus
MWESCancelling :: MaintenanceWindowExecutionStatus
MWESFailed :: MaintenanceWindowExecutionStatus
MWESInProgress :: MaintenanceWindowExecutionStatus
MWESPending :: MaintenanceWindowExecutionStatus
MWESSkippedOverlapping :: MaintenanceWindowExecutionStatus
MWESSuccess :: MaintenanceWindowExecutionStatus
MWESTimedOut :: MaintenanceWindowExecutionStatus
data MaintenanceWindowResourceType
Instance :: MaintenanceWindowResourceType
data MaintenanceWindowTaskType
Automation :: MaintenanceWindowTaskType
Lambda :: MaintenanceWindowTaskType
RunCommand :: MaintenanceWindowTaskType
StepFunctions :: MaintenanceWindowTaskType
data NotificationEvent
NEAll :: NotificationEvent
NECancelled :: NotificationEvent
NEFailed :: NotificationEvent
NEInProgress :: NotificationEvent
NESuccess :: NotificationEvent
NETimedOut :: NotificationEvent
data NotificationType
Command :: NotificationType
Invocation :: NotificationType
data OperatingSystem
AmazonLinux :: OperatingSystem
Centos :: OperatingSystem
RedhatEnterpriseLinux :: OperatingSystem
Suse :: OperatingSystem
Ubuntu :: OperatingSystem
Windows :: OperatingSystem
data ParameterType
SecureString :: ParameterType
String :: ParameterType
StringList :: ParameterType
data ParametersFilterKey
PFKKeyId :: ParametersFilterKey
PFKName :: ParametersFilterKey
PFKType :: ParametersFilterKey
data PatchComplianceDataState
Failed :: PatchComplianceDataState
Installed :: PatchComplianceDataState
InstalledOther :: PatchComplianceDataState
Missing :: PatchComplianceDataState
NotApplicable :: PatchComplianceDataState
data PatchComplianceLevel
Critical :: PatchComplianceLevel
High :: PatchComplianceLevel
Informational :: PatchComplianceLevel
Low :: PatchComplianceLevel
Medium :: PatchComplianceLevel
Unspecified :: PatchComplianceLevel
data PatchDeploymentStatus
Approved :: PatchDeploymentStatus
ExplicitApproved :: PatchDeploymentStatus
ExplicitRejected :: PatchDeploymentStatus
PendingApproval :: PatchDeploymentStatus
data PatchFilterKey
Classification :: PatchFilterKey
MsrcSeverity :: PatchFilterKey
PatchId :: PatchFilterKey
Priority :: PatchFilterKey
Product :: PatchFilterKey
Section :: PatchFilterKey
Severity :: PatchFilterKey
data PatchOperationType
Install :: PatchOperationType
Scan :: PatchOperationType
data PingStatus
ConnectionLost :: PingStatus
Inactive :: PingStatus
Online :: PingStatus
data PlatformType
PTLinux :: PlatformType
PTWindows :: PlatformType
data ResourceDataSyncS3Format
JSONSerDe :: ResourceDataSyncS3Format
data ResourceType
Document :: ResourceType
EC2Instance :: ResourceType
ManagedInstance :: ResourceType
data ResourceTypeForTagging
RTFTDocument :: ResourceTypeForTagging
RTFTMaintenanceWindow :: ResourceTypeForTagging
RTFTManagedInstance :: ResourceTypeForTagging
RTFTParameter :: ResourceTypeForTagging
RTFTPatchBaseline :: ResourceTypeForTagging
data SignalType
Approve :: SignalType
Reject :: SignalType
Resume :: SignalType
StartStep :: SignalType
StopStep :: SignalType
data StepExecutionFilterKey
Action :: StepExecutionFilterKey
StartTimeAfter :: StepExecutionFilterKey
StartTimeBefore :: StepExecutionFilterKey
StepExecutionId :: StepExecutionFilterKey
StepExecutionStatus :: StepExecutionFilterKey
StepName :: StepExecutionFilterKey
data StopType
STCancel :: StopType
STComplete :: StopType

-- | 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 a Systems Manager 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 Systems Manager 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>
--   <li><a>aAssociationVersion</a> - The association version.</li>
--   <li><a>aAssociationName</a> - The association name.</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 Systems Manager 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)

-- | The association version.
aAssociationVersion :: Lens' Association (Maybe Text)

-- | The association name.
aAssociationName :: 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 Systems Manager 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>
--   <li><a>adAssociationVersion</a> - The association version.</li>
--   <li><a>adAssociationName</a> - The association name.</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 Systems Manager 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)

-- | The association version.
adAssociationVersion :: Lens' AssociationDescription (Maybe Text)

-- | The association name.
adAssociationName :: 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:
--   Pending, Success, or Failed.</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: Pending, Success, or
--   Failed.
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

-- | Information about the association version.
--   
--   <i>See:</i> <a>associationVersionInfo</a> smart constructor.
data AssociationVersionInfo

-- | Creates a value of <a>AssociationVersionInfo</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>aviAssociationId</a> - The ID created by the system when the
--   association was created.</li>
--   <li><a>aviCreatedDate</a> - The date the association version was
--   created.</li>
--   <li><a>aviScheduleExpression</a> - The cron or rate schedule specified
--   for the association when the association version was created.</li>
--   <li><a>aviName</a> - The name specified when the association was
--   created.</li>
--   <li><a>aviOutputLocation</a> - The location in Amazon S3 specified for
--   the association when the association version was created.</li>
--   <li><a>aviTargets</a> - The targets specified for the association when
--   the association version was created.</li>
--   <li><a>aviParameters</a> - Parameters specified when the association
--   version was created.</li>
--   <li><a>aviDocumentVersion</a> - The version of a Systems Manager
--   document used when the association version was created.</li>
--   <li><a>aviAssociationVersion</a> - The association version.</li>
--   <li><a>aviAssociationName</a> - The name specified for the association
--   version when the association version was created.</li>
--   </ul>
associationVersionInfo :: AssociationVersionInfo

-- | The ID created by the system when the association was created.
aviAssociationId :: Lens' AssociationVersionInfo (Maybe Text)

-- | The date the association version was created.
aviCreatedDate :: Lens' AssociationVersionInfo (Maybe UTCTime)

-- | The cron or rate schedule specified for the association when the
--   association version was created.
aviScheduleExpression :: Lens' AssociationVersionInfo (Maybe Text)

-- | The name specified when the association was created.
aviName :: Lens' AssociationVersionInfo (Maybe Text)

-- | The location in Amazon S3 specified for the association when the
--   association version was created.
aviOutputLocation :: Lens' AssociationVersionInfo (Maybe InstanceAssociationOutputLocation)

-- | The targets specified for the association when the association version
--   was created.
aviTargets :: Lens' AssociationVersionInfo [Target]

-- | Parameters specified when the association version was created.
aviParameters :: Lens' AssociationVersionInfo (HashMap Text [Text])

-- | The version of a Systems Manager document used when the association
--   version was created.
aviDocumentVersion :: Lens' AssociationVersionInfo (Maybe Text)

-- | The association version.
aviAssociationVersion :: Lens' AssociationVersionInfo (Maybe Text)

-- | The name specified for the association version when the association
--   version was created.
aviAssociationName :: Lens' AssociationVersionInfo (Maybe 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>aeCurrentStepName</a> - The name of the currently executing
--   step.</li>
--   <li><a>aeTargetParameterName</a> - The parameter name.</li>
--   <li><a>aeExecutedBy</a> - The Amazon Resource Name (ARN) of the user
--   who executed the automation.</li>
--   <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>aeMode</a> - The automation execution mode.</li>
--   <li><a>aeStepExecutionsTruncated</a> - A boolean value that indicates
--   if the response contains the full list of the Automation step
--   executions. If true, use the DescribeAutomationStepExecutions API
--   action to get the full list of step executions.</li>
--   <li><a>aeAutomationExecutionStatus</a> - The execution status of the
--   Automation.</li>
--   <li><a>aeParentAutomationExecutionId</a> - The AutomationExecutionId
--   of the parent automation.</li>
--   <li><a>aeOutputs</a> - The list of execution outputs as defined in the
--   automation document.</li>
--   <li><a>aeMaxErrors</a> - The MaxErrors value specified by the user
--   when the execution started.</li>
--   <li><a>aeExecutionStartTime</a> - The time the execution started.</li>
--   <li><a>aeCurrentAction</a> - The action of the currently executing
--   step.</li>
--   <li><a>aeTargets</a> - The specified targets.</li>
--   <li><a>aeResolvedTargets</a> - A list of resolved targets in the rate
--   control execution.</li>
--   <li><a>aeParameters</a> - The key-value map of execution parameters,
--   which were supplied when calling StartAutomationExecution.</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>
--   <li><a>aeMaxConcurrency</a> - The MaxConcurrency value specified by
--   the user when the execution started.</li>
--   <li><a>aeTarget</a> - The target of the execution.</li>
--   </ul>
automationExecution :: AutomationExecution

-- | The name of the currently executing step.
aeCurrentStepName :: Lens' AutomationExecution (Maybe Text)

-- | The parameter name.
aeTargetParameterName :: Lens' AutomationExecution (Maybe Text)

-- | The Amazon Resource Name (ARN) of the user who executed the
--   automation.
aeExecutedBy :: Lens' AutomationExecution (Maybe Text)

-- | 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 automation execution mode.
aeMode :: Lens' AutomationExecution (Maybe ExecutionMode)

-- | A boolean value that indicates if the response contains the full list
--   of the Automation step executions. If true, use the
--   DescribeAutomationStepExecutions API action to get the full list of
--   step executions.
aeStepExecutionsTruncated :: Lens' AutomationExecution (Maybe Bool)

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

-- | The AutomationExecutionId of the parent automation.
aeParentAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)

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

-- | The MaxErrors value specified by the user when the execution started.
aeMaxErrors :: Lens' AutomationExecution (Maybe Text)

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

-- | The action of the currently executing step.
aeCurrentAction :: Lens' AutomationExecution (Maybe Text)

-- | The specified targets.
aeTargets :: Lens' AutomationExecution [Target]

-- | A list of resolved targets in the rate control execution.
aeResolvedTargets :: Lens' AutomationExecution (Maybe ResolvedTargets)

-- | The key-value map of execution parameters, which were supplied when
--   calling StartAutomationExecution.
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]

-- | The MaxConcurrency value specified by the user when the execution
--   started.
aeMaxConcurrency :: Lens' AutomationExecution (Maybe Text)

-- | The target of the execution.
aeTarget :: Lens' AutomationExecution (Maybe Text)

-- | 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> - One or more keys to limit the results. Valid
--   filter keys include the following: DocumentNamePrefix,
--   ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction,
--   StartTimeBefore, StartTimeAfter.</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

-- | One or more keys to limit the results. Valid filter keys include the
--   following: DocumentNamePrefix, ExecutionStatus, ExecutionId,
--   ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter.
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>aemCurrentStepName</a> - The name of the currently executing
--   step.</li>
--   <li><a>aemTargetParameterName</a> - The list of execution outputs as
--   defined in the Automation document.</li>
--   <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>aemFailureMessage</a> - The list of execution outputs as
--   defined in the Automation document.</li>
--   <li><a>aemMode</a> - The Automation execution mode.</li>
--   <li><a>aemAutomationExecutionStatus</a> - The status of the execution.
--   Valid values include: Running, Succeeded, Failed, Timed out, or
--   Cancelled.</li>
--   <li><a>aemParentAutomationExecutionId</a> - The ExecutionId of the
--   parent Automation.</li>
--   <li><a>aemOutputs</a> - The list of execution outputs as defined in
--   the Automation document.</li>
--   <li><a>aemMaxErrors</a> - The MaxErrors value specified by the user
--   when starting the Automation.</li>
--   <li><a>aemExecutionStartTime</a> - The time the execution
--   started.&gt;</li>
--   <li><a>aemCurrentAction</a> - The action of the currently executing
--   step.</li>
--   <li><a>aemTargets</a> - The targets defined by the user when starting
--   the Automation.</li>
--   <li><a>aemResolvedTargets</a> - A list of targets that resolved during
--   the execution.</li>
--   <li><a>aemDocumentVersion</a> - The document version used during the
--   execution.</li>
--   <li><a>aemAutomationExecutionId</a> - The execution ID.</li>
--   <li><a>aemMaxConcurrency</a> - The MaxConcurrency value specified by
--   the user when starting the Automation.</li>
--   <li><a>aemTarget</a> - The list of execution outputs as defined in the
--   Automation document.</li>
--   </ul>
automationExecutionMetadata :: AutomationExecutionMetadata

-- | The name of the currently executing step.
aemCurrentStepName :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The list of execution outputs as defined in the Automation document.
aemTargetParameterName :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | 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 list of execution outputs as defined in the Automation document.
aemFailureMessage :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The Automation execution mode.
aemMode :: Lens' AutomationExecutionMetadata (Maybe ExecutionMode)

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

-- | The ExecutionId of the parent Automation.
aemParentAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)

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

-- | The MaxErrors value specified by the user when starting the
--   Automation.
aemMaxErrors :: Lens' AutomationExecutionMetadata (Maybe Text)

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

-- | The action of the currently executing step.
aemCurrentAction :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The targets defined by the user when starting the Automation.
aemTargets :: Lens' AutomationExecutionMetadata [Target]

-- | A list of targets that resolved during the execution.
aemResolvedTargets :: Lens' AutomationExecutionMetadata (Maybe ResolvedTargets)

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

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

-- | The MaxConcurrency value specified by the user when starting the
--   Automation.
aemMaxConcurrency :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The list of execution outputs as defined in the Automation document.
aemTarget :: 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 run. 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 document requested for
--   execution.</li>
--   <li><a>cErrorCount</a> - The number of targets for which the status is
--   Failed or Execution Timed Out.</li>
--   <li><a>cStatusDetails</a> - A detailed status of the command
--   execution. StatusDetails includes more information than Status because
--   it includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors or more command invocations shows a status of
--   Delivery Timed Out. This is a terminal state. * Execution Timed Out:
--   The value of MaxErrors or more command invocations shows a status of
--   Execution Timed Out. This is a terminal state. * Failed: The value of
--   MaxErrors or more command invocations shows a status of Failed. This
--   is a terminal state. * Incomplete: The command was attempted on all
--   instances and one or more invocations does not have a value of Success
--   but not enough invocations failed for the status to be Failed. 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 0. For more information about how to
--   use MaxErrors, see <a>Executing a Command Using Systems Manager Run
--   Command</a> .</li>
--   <li><a>cInstanceIds</a> - The instance IDs against which this command
--   was requested.</li>
--   <li><a>cOutputS3Region</a> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</li>
--   <li><a>cTargets</a> - An array of search criteria that targets
--   instances using a Key,Value combination that you specify. Targets 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
--   document when executing the command.</li>
--   <li><a>cDocumentVersion</a> - The SSM document version.</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: Success, Failed, Execution Timed Out, Delivery Timed
--   Out, Canceled, Terminated, or Undeliverable.</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
--   MaxConcurrency, see <a>Executing a Command Using Systems Manager Run
--   Command</a> .</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 run. 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 document requested for execution.
cDocumentName :: Lens' Command (Maybe Text)

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

-- | A detailed status of the command execution. StatusDetails includes
--   more information than Status because it includes states resulting from
--   error and concurrency control parameters. StatusDetails can show
--   different results than Status. For more information about these
--   statuses, see <a>Run Command Status</a> . StatusDetails 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 MaxErrors or more
--   command invocations shows a status of Delivery Timed Out. This is a
--   terminal state. * Execution Timed Out: The value of MaxErrors or more
--   command invocations shows a status of Execution Timed Out. This is a
--   terminal state. * Failed: The value of MaxErrors or more command
--   invocations shows a status of Failed. This is a terminal state. *
--   Incomplete: The command was attempted on all instances and one or more
--   invocations does not have a value of Success but not enough
--   invocations failed for the status to be Failed. 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 0. For more information about how to use MaxErrors, see
--   <a>Executing a Command Using Systems Manager Run Command</a> .
cMaxErrors :: Lens' Command (Maybe Text)

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

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
cOutputS3Region :: Lens' Command (Maybe Text)

-- | An array of search criteria that targets instances using a Key,Value
--   combination that you specify. Targets 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 document when executing the
--   command.
cParameters :: Lens' Command (HashMap Text [Text])

-- | The SSM document version.
cDocumentVersion :: Lens' Command (Maybe 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: Success,
--   Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated,
--   or Undeliverable.
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 MaxConcurrency, see
--   <a>Executing a Command Using Systems Manager Run Command</a> .
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.</li>
--   <li><a>cfValue</a> - The filter value.</li>
--   </ul>
commandFilter :: CommandFilterKey -> Text -> CommandFilter

-- | The name of the filter.
cfKey :: Lens' CommandFilter CommandFilterKey

-- | The filter value.
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>comInstanceId</a> - The instance ID in which this invocation
--   was requested.</li>
--   <li><a>comStatus</a> - Whether or not the invocation succeeded,
--   failed, or is pending.</li>
--   <li><a>comNotificationConfig</a> - Configurations for sending
--   notifications about command status changes on a per instance
--   basis.</li>
--   <li><a>comCommandPlugins</a> - Undocumented member.</li>
--   <li><a>comDocumentName</a> - The document name that was requested for
--   execution.</li>
--   <li><a>comStandardErrorURL</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, StandardErrorUrl 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>comStatusDetails</a> - A detailed status of the command
--   execution for each invocation (each instance targeted by the command).
--   StatusDetails includes more information than Status because it
--   includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors
--   limit, but they do contribute to whether the parent command status is
--   Success or Incomplete. 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 MaxErrors 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 MaxErrors 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 MaxErrors limit and don't contribute to whether the
--   parent command status is Success or Incomplete. This is a terminal
--   state. * Terminated: The parent command exceeded its MaxErrors limit
--   and subsequent command invocations were canceled by the system. This
--   is a terminal state.</li>
--   <li><a>comStandardOutputURL</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, StandardOutputUrl 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>comCommandId</a> - The command against which this invocation
--   was requested.</li>
--   <li><a>comDocumentVersion</a> - The SSM document version.</li>
--   <li><a>comComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>comTraceOutput</a> - Gets the trace output sent by the
--   agent.</li>
--   <li><a>comInstanceName</a> - The name of the invocation target. For
--   Amazon EC2 instances this is the value for the aws:Name tag. For
--   on-premises instances, this is the name of the instance.</li>
--   <li><a>comRequestedDateTime</a> - The time and date the request was
--   sent to this instance.</li>
--   <li><a>comServiceRole</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.
comInstanceId :: Lens' CommandInvocation (Maybe Text)

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

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

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

-- | The document name that was requested for execution.
comDocumentName :: 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,
--   StandardErrorUrl is populated if there is just one plugin defined for
--   the command, and the Amazon S3 bucket was defined for the command.
comStandardErrorURL :: Lens' CommandInvocation (Maybe Text)

-- | A detailed status of the command execution for each invocation (each
--   instance targeted by the command). StatusDetails includes more
--   information than Status because it includes states resulting from
--   error and concurrency control parameters. StatusDetails can show
--   different results than Status. For more information about these
--   statuses, see <a>Run Command Status</a> . StatusDetails 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 MaxErrors limit, but they do
--   contribute to whether the parent command status is Success or
--   Incomplete. 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 MaxErrors 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 MaxErrors
--   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
--   MaxErrors limit and don't contribute to whether the parent command
--   status is Success or Incomplete. This is a terminal state. *
--   Terminated: The parent command exceeded its MaxErrors limit and
--   subsequent command invocations were canceled by the system. This is a
--   terminal state.
comStatusDetails :: 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,
--   StandardOutputUrl is populated if there is just one plugin defined for
--   the command, and the Amazon S3 bucket was defined for the command.
comStandardOutputURL :: Lens' CommandInvocation (Maybe Text)

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

-- | The SSM document version.
comDocumentVersion :: Lens' CommandInvocation (Maybe Text)

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

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

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

-- | The time and date the request was sent to this instance.
comRequestedDateTime :: 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.
comServiceRole :: 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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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. StatusDetails includes more information than Status because
--   it includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors
--   limit, but they do contribute to whether the parent command status is
--   Success or Incomplete. 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 MaxErrors 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 MaxErrors 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 MaxErrors limit, and they don't contribute to whether
--   the parent command status is Success or Incomplete. This is a terminal
--   state. * Terminated: The parent command exceeded its MaxErrors 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> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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. StatusDetails includes more
--   information than Status because it includes states resulting from
--   error and concurrency control parameters. StatusDetails can show
--   different results than Status. For more information about these
--   statuses, see <a>Run Command Status</a> . StatusDetails 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 MaxErrors limit, but they do
--   contribute to whether the parent command status is Success or
--   Incomplete. 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 MaxErrors 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 MaxErrors
--   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
--   MaxErrors limit, and they don't contribute to whether the parent
--   command status is Success or Incomplete. This is a terminal state. *
--   Terminated: The parent command exceeded its MaxErrors 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)

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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)

-- | A summary of the call execution that includes an execution ID, the
--   type of execution (for example, <tt>Command</tt> ), and the date/time
--   of the execution using a datetime object that is saved in the
--   following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
--   
--   <i>See:</i> <a>complianceExecutionSummary</a> smart constructor.
data ComplianceExecutionSummary

-- | Creates a value of <a>ComplianceExecutionSummary</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>cesExecutionId</a> - An ID created by the system when
--   <tt>PutComplianceItems</tt> was called. For example,
--   <tt>CommandID</tt> is a valid execution ID. You can use this ID in
--   subsequent calls.</li>
--   <li><a>cesExecutionType</a> - The type of execution. For example,
--   <tt>Command</tt> is a valid execution type.</li>
--   <li><a>cesExecutionTime</a> - The time the execution ran as a datetime
--   object that is saved in the following format:
--   yyyy-MM-dd'T'HH:mm:ss'Z'.</li>
--   </ul>
complianceExecutionSummary :: UTCTime -> ComplianceExecutionSummary

-- | An ID created by the system when <tt>PutComplianceItems</tt> was
--   called. For example, <tt>CommandID</tt> is a valid execution ID. You
--   can use this ID in subsequent calls.
cesExecutionId :: Lens' ComplianceExecutionSummary (Maybe Text)

-- | The type of execution. For example, <tt>Command</tt> is a valid
--   execution type.
cesExecutionType :: Lens' ComplianceExecutionSummary (Maybe Text)

-- | The time the execution ran as a datetime object that is saved in the
--   following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
cesExecutionTime :: Lens' ComplianceExecutionSummary UTCTime

-- | Information about the compliance as defined by the resource type. For
--   example, for a patch resource type, <tt>Items</tt> includes
--   information about the PatchSeverity, Classification, etc.
--   
--   <i>See:</i> <a>complianceItem</a> smart constructor.
data ComplianceItem

-- | Creates a value of <a>ComplianceItem</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>ciStatus</a> - The status of the compliance item. An item is
--   either COMPLIANT or NON_COMPLIANT.</li>
--   <li><a>ciResourceId</a> - An ID for the resource. For a managed
--   instance, this is the instance ID.</li>
--   <li><a>ciResourceType</a> - The type of resource.
--   <tt>ManagedInstance</tt> is currently the only supported resource
--   type.</li>
--   <li><a>ciSeverity</a> - The severity of the compliance status.
--   Severity can be one of the following: Critical, High, Medium, Low,
--   Informational, Unspecified.</li>
--   <li><a>ciExecutionSummary</a> - A summary for the compliance item. The
--   summary includes an execution ID, the execution type (for example,
--   command), and the execution time.</li>
--   <li><a>ciDetails</a> - A <a>Key</a>: <a>Value</a> tag combination for
--   the compliance item.</li>
--   <li><a>ciId</a> - An ID for the compliance item. For example, if the
--   compliance item is a Windows patch, the ID could be the number of the
--   KB article; for example: KB4010320.</li>
--   <li><a>ciComplianceType</a> - The compliance type. For example,
--   Association (for a State Manager association), Patch, or
--   Custom:<tt>string</tt> are all valid compliance types.</li>
--   <li><a>ciTitle</a> - A title for the compliance item. For example, if
--   the compliance item is a Windows patch, the title could be the title
--   of the KB article for the patch; for example: Security Update for
--   Active Directory Federation Services.</li>
--   </ul>
complianceItem :: ComplianceItem

-- | The status of the compliance item. An item is either COMPLIANT or
--   NON_COMPLIANT.
ciStatus :: Lens' ComplianceItem (Maybe ComplianceStatus)

-- | An ID for the resource. For a managed instance, this is the instance
--   ID.
ciResourceId :: Lens' ComplianceItem (Maybe Text)

-- | The type of resource. <tt>ManagedInstance</tt> is currently the only
--   supported resource type.
ciResourceType :: Lens' ComplianceItem (Maybe Text)

-- | The severity of the compliance status. Severity can be one of the
--   following: Critical, High, Medium, Low, Informational, Unspecified.
ciSeverity :: Lens' ComplianceItem (Maybe ComplianceSeverity)

-- | A summary for the compliance item. The summary includes an execution
--   ID, the execution type (for example, command), and the execution time.
ciExecutionSummary :: Lens' ComplianceItem (Maybe ComplianceExecutionSummary)

-- | A <a>Key</a>: <a>Value</a> tag combination for the compliance item.
ciDetails :: Lens' ComplianceItem (HashMap Text Text)

-- | An ID for the compliance item. For example, if the compliance item is
--   a Windows patch, the ID could be the number of the KB article; for
--   example: KB4010320.
ciId :: Lens' ComplianceItem (Maybe Text)

-- | The compliance type. For example, Association (for a State Manager
--   association), Patch, or Custom:<tt>string</tt> are all valid
--   compliance types.
ciComplianceType :: Lens' ComplianceItem (Maybe Text)

-- | A title for the compliance item. For example, if the compliance item
--   is a Windows patch, the title could be the title of the KB article for
--   the patch; for example: Security Update for Active Directory
--   Federation Services.
ciTitle :: Lens' ComplianceItem (Maybe Text)

-- | Information about a compliance item.
--   
--   <i>See:</i> <a>complianceItemEntry</a> smart constructor.
data ComplianceItemEntry

-- | Creates a value of <a>ComplianceItemEntry</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>cieDetails</a> - A <a>Key</a>: <a>Value</a> tag combination for
--   the compliance item.</li>
--   <li><a>cieId</a> - The compliance item ID. For example, if the
--   compliance item is a Windows patch, the ID could be the number of the
--   KB article.</li>
--   <li><a>cieTitle</a> - The title of the compliance item. For example,
--   if the compliance item is a Windows patch, the title could be the
--   title of the KB article for the patch; for example: Security Update
--   for Active Directory Federation Services.</li>
--   <li><a>cieSeverity</a> - The severity of the compliance status.
--   Severity can be one of the following: Critical, High, Medium, Low,
--   Informational, Unspecified.</li>
--   <li><a>cieStatus</a> - The status of the compliance item. An item is
--   either COMPLIANT or NON_COMPLIANT.</li>
--   </ul>
complianceItemEntry :: ComplianceSeverity -> ComplianceStatus -> ComplianceItemEntry

-- | A <a>Key</a>: <a>Value</a> tag combination for the compliance item.
cieDetails :: Lens' ComplianceItemEntry (HashMap Text Text)

-- | The compliance item ID. For example, if the compliance item is a
--   Windows patch, the ID could be the number of the KB article.
cieId :: Lens' ComplianceItemEntry (Maybe Text)

-- | The title of the compliance item. For example, if the compliance item
--   is a Windows patch, the title could be the title of the KB article for
--   the patch; for example: Security Update for Active Directory
--   Federation Services.
cieTitle :: Lens' ComplianceItemEntry (Maybe Text)

-- | The severity of the compliance status. Severity can be one of the
--   following: Critical, High, Medium, Low, Informational, Unspecified.
cieSeverity :: Lens' ComplianceItemEntry ComplianceSeverity

-- | The status of the compliance item. An item is either COMPLIANT or
--   NON_COMPLIANT.
cieStatus :: Lens' ComplianceItemEntry ComplianceStatus

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

-- | Creates a value of <a>ComplianceStringFilter</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>csfValues</a> - The value for which to search.</li>
--   <li><a>csfKey</a> - The name of the filter.</li>
--   <li><a>csfType</a> - The type of comparison that should be performed
--   for the value: Equal, NotEqual, BeginWith, LessThan, or
--   GreaterThan.</li>
--   </ul>
complianceStringFilter :: ComplianceStringFilter

-- | The value for which to search.
csfValues :: Lens' ComplianceStringFilter (Maybe (NonEmpty Text))

-- | The name of the filter.
csfKey :: Lens' ComplianceStringFilter (Maybe Text)

-- | The type of comparison that should be performed for the value: Equal,
--   NotEqual, BeginWith, LessThan, or GreaterThan.
csfType :: Lens' ComplianceStringFilter (Maybe ComplianceQueryOperatorType)

-- | A summary of compliance information by compliance type.
--   
--   <i>See:</i> <a>complianceSummaryItem</a> smart constructor.
data ComplianceSummaryItem

-- | Creates a value of <a>ComplianceSummaryItem</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>csiNonCompliantSummary</a> - A list of NON_COMPLIANT items for
--   the specified compliance type.</li>
--   <li><a>csiCompliantSummary</a> - A list of COMPLIANT items for the
--   specified compliance type.</li>
--   <li><a>csiComplianceType</a> - The type of compliance item. For
--   example, the compliance type can be Association, Patch, or
--   Custom:string.</li>
--   </ul>
complianceSummaryItem :: ComplianceSummaryItem

-- | A list of NON_COMPLIANT items for the specified compliance type.
csiNonCompliantSummary :: Lens' ComplianceSummaryItem (Maybe NonCompliantSummary)

-- | A list of COMPLIANT items for the specified compliance type.
csiCompliantSummary :: Lens' ComplianceSummaryItem (Maybe CompliantSummary)

-- | The type of compliance item. For example, the compliance type can be
--   Association, Patch, or Custom:string.
csiComplianceType :: Lens' ComplianceSummaryItem (Maybe Text)

-- | A summary of resources that are compliant. The summary is organized
--   according to the resource count for each compliance type.
--   
--   <i>See:</i> <a>compliantSummary</a> smart constructor.
data CompliantSummary

-- | Creates a value of <a>CompliantSummary</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>csCompliantCount</a> - The total number of resources that are
--   compliant.</li>
--   <li><a>csSeveritySummary</a> - A summary of the compliance severity by
--   compliance type.</li>
--   </ul>
compliantSummary :: CompliantSummary

-- | The total number of resources that are compliant.
csCompliantCount :: Lens' CompliantSummary (Maybe Int)

-- | A summary of the compliance severity by compliance type.
csSeveritySummary :: Lens' CompliantSummary (Maybe SeveritySummary)

-- | Describes the association of a Systems Manager 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>cabreAssociationName</a> - Specify a descriptive name for the
--   association.</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)

-- | Specify a descriptive name for the association.
cabreAssociationName :: 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 a Systems Manager 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 Systems Manager 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.</li>
--   <li><a>dDefaultVersion</a> - The default version.</li>
--   <li><a>dTargetType</a> - The target type which defines the kinds of
--   resources the document can run on. For example, <i>AWS::EC2::Instance.
--   For a list of valid resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .</li>
--   <li><a>dOwner</a> - The AWS user account that created the
--   document.</li>
--   <li><a>dPlatformTypes</a> - The list of OS platforms compatible with
--   this Systems Manager document.</li>
--   <li><a>dCreatedDate</a> - The date when the document was created.</li>
--   <li><a>dDocumentFormat</a> - The document format, either JSON or
--   YAML.</li>
--   <li><a>dName</a> - The name of the Systems Manager 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>dTags</a> - The tags, or metadata, that have been applied to
--   the document.</li>
--   <li><a>dLatestVersion</a> - The latest version of the document.</li>
--   </ul>
documentDescription :: DocumentDescription

-- | The status of the Systems Manager 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.
dSha1 :: Lens' DocumentDescription (Maybe Text)

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

-- | The target type which defines the kinds of resources the document can
--   run on. For example, <i>AWS::EC2::Instance. For a list of valid
--   resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .
dTargetType :: Lens' DocumentDescription (Maybe Text)

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

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

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

-- | The document format, either JSON or YAML.
dDocumentFormat :: Lens' DocumentDescription (Maybe DocumentFormat)

-- | The name of the Systems Manager 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 tags, or metadata, that have been applied to the document.
dTags :: Lens' DocumentDescription [Tag]

-- | 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 a Systems Manager 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>diTargetType</a> - The target type which defines the kinds of
--   resources the document can run on. For example, <i>AWS::EC2::Instance.
--   For a list of valid resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .</li>
--   <li><a>diOwner</a> - The AWS user account that created the
--   document.</li>
--   <li><a>diPlatformTypes</a> - The operating system platform.</li>
--   <li><a>diDocumentFormat</a> - The document format, either JSON or
--   YAML.</li>
--   <li><a>diName</a> - The name of the Systems Manager document.</li>
--   <li><a>diDocumentVersion</a> - The document version.</li>
--   <li><a>diTags</a> - The tags, or metadata, that have been applied to
--   the document.</li>
--   </ul>
documentIdentifier :: DocumentIdentifier

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

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

-- | The target type which defines the kinds of resources the document can
--   run on. For example, <i>AWS::EC2::Instance. For a list of valid
--   resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .
diTargetType :: Lens' DocumentIdentifier (Maybe Text)

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

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

-- | The document format, either JSON or YAML.
diDocumentFormat :: Lens' DocumentIdentifier (Maybe DocumentFormat)

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

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

-- | The tags, or metadata, that have been applied to the document.
diTags :: Lens' DocumentIdentifier [Tag]

-- | One or more filters. Use a filter to return a more specific list of
--   documents.
--   
--   For keys, you can specify one or more tags that have been applied to a
--   document.
--   
--   Other valid values include Owner, Name, PlatformTypes, and
--   DocumentType.
--   
--   Note that only one Owner can be specified in a request. For example:
--   <tt>Key=Owner,Values=Self</tt> .
--   
--   If you use Name as a key, you can use a name prefix to return a list
--   of documents. For example, in the AWS CLI, to return a list of all
--   documents that begin with <tt>Te</tt> , run the following command:
--   
--   <pre>
--   aws ssm list-documents --filters Key=Name,Values=Te
--   </pre>
--   
--   If you specify more than two keys, only documents that are identified
--   by all the tags are returned in the results. If you specify more than
--   two values for a key, documents that are identified by any of the
--   values are returned in the results.
--   
--   To specify a custom key and value pair, use the format
--   <tt>Key=tag:[tagName],Values=[valueName]</tt> .
--   
--   For example, if you created a Key called region and are using the AWS
--   CLI to call the <tt>list-documents</tt> command:
--   
--   <pre>
--   aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
--   </pre>
--   
--   <i>See:</i> <a>documentKeyValuesFilter</a> smart constructor.
data DocumentKeyValuesFilter

-- | Creates a value of <a>DocumentKeyValuesFilter</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>dkvfValues</a> - The value for the filter key.</li>
--   <li><a>dkvfKey</a> - The name of the filter key.</li>
--   </ul>
documentKeyValuesFilter :: DocumentKeyValuesFilter

-- | The value for the filter key.
dkvfValues :: Lens' DocumentKeyValuesFilter [Text]

-- | The name of the filter key.
dkvfKey :: Lens' DocumentKeyValuesFilter (Maybe Text)

-- | Parameters specified in a System Manager 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>dviDocumentFormat</a> - The document format, either JSON or
--   YAML.</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 format, either JSON or YAML.
dviDocumentFormat :: Lens' DocumentVersionInfo (Maybe DocumentFormat)

-- | 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)

-- | The EffectivePatch structure defines metadata about a patch along with
--   the approval state of the patch in a particular patch baseline. The
--   approval state includes information about whether the patch is
--   currently approved, due to be approved by a rule, explicitly approved,
--   or explicitly rejected and the date the patch was or will be approved.
--   
--   <i>See:</i> <a>effectivePatch</a> smart constructor.
data EffectivePatch

-- | Creates a value of <a>EffectivePatch</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>epPatch</a> - Provides metadata for a patch, including
--   information such as the KB ID, severity, classification and a URL for
--   where more information can be obtained about the patch.</li>
--   <li><a>epPatchStatus</a> - The status of the patch in a patch
--   baseline. This includes information about whether the patch is
--   currently approved, due to be approved by a rule, explicitly approved,
--   or explicitly rejected and the date the patch was or will be
--   approved.</li>
--   </ul>
effectivePatch :: EffectivePatch

-- | Provides metadata for a patch, including information such as the KB
--   ID, severity, classification and a URL for where more information can
--   be obtained about the patch.
epPatch :: Lens' EffectivePatch (Maybe Patch)

-- | The status of the patch in a patch baseline. This includes information
--   about whether the patch is currently approved, due to be approved by a
--   rule, explicitly approved, or explicitly rejected and the date the
--   patch was or will be approved.
epPatchStatus :: Lens' EffectivePatch (Maybe PatchStatus)

-- | 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)

-- | Information about an Automation failure.
--   
--   <i>See:</i> <a>failureDetails</a> smart constructor.
data FailureDetails

-- | Creates a value of <a>FailureDetails</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>fdFailureType</a> - The type of Automation failure. Failure
--   types include the following: Action, Permission, Throttling,
--   Verification, Internal.</li>
--   <li><a>fdFailureStage</a> - The stage of the Automation execution when
--   the failure occurred. The stages include the following:
--   InputValidation, PreVerification, Invocation, PostVerification.</li>
--   <li><a>fdDetails</a> - Detailed information about the Automation step
--   failure.</li>
--   </ul>
failureDetails :: FailureDetails

-- | The type of Automation failure. Failure types include the following:
--   Action, Permission, Throttling, Verification, Internal.
fdFailureType :: Lens' FailureDetails (Maybe Text)

-- | The stage of the Automation execution when the failure occurred. The
--   stages include the following: InputValidation, PreVerification,
--   Invocation, PostVerification.
fdFailureStage :: Lens' FailureDetails (Maybe Text)

-- | Detailed information about the Automation step failure.
fdDetails :: Lens' FailureDetails (HashMap Text [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>
--   <li><a>iaAssociationVersion</a> - Version information for the
--   association on the instance.</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)

-- | Version information for the association on the instance.
iaAssociationVersion :: 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>iasiAssociationVersion</a> - The version of the association
--   applied to the instance.</li>
--   <li><a>iasiExecutionDate</a> - The date the instance association
--   executed.</li>
--   <li><a>iasiAssociationName</a> - The name of the association applied
--   to the instance.</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 version of the association applied to the instance.
iasiAssociationVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)

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

-- | The name of the association applied to the instance.
iasiAssociationName :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | 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. Some older versions of Windows
--   Server use the EC2Config service to process SSM requests. For this
--   reason, this field does not indicate whether or not the latest version
--   is installed on Windows managed instances.</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. Some older versions of Windows Server use the EC2Config
--   service to process SSM requests. For this reason, this field does not
--   indicate whether or not the latest version is installed on Windows
--   managed instances.
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>|<a>AssociationStatus</a>|"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>|<a>AssociationStatus</a>|"Tag
--   Key"
iisfKey :: Lens' InstanceInformationStringFilter Text

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

-- | Defines the high-level patch compliance state for a managed instance,
--   providing information about the number of installed, missing, not
--   applicable, and failed patches along with metadata about the operation
--   when this information was gathered for the instance.
--   
--   <i>See:</i> <a>instancePatchState</a> smart constructor.
data InstancePatchState

-- | Creates a value of <a>InstancePatchState</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>ipsOwnerInformation</a> - Placeholder information. This field
--   will always be empty in the current release of the service.</li>
--   <li><a>ipsFailedCount</a> - The number of patches from the patch
--   baseline that were attempted to be installed during the last patching
--   operation, but failed to install.</li>
--   <li><a>ipsInstalledOtherCount</a> - The number of patches not
--   specified in the patch baseline that are installed on the
--   instance.</li>
--   <li><a>ipsMissingCount</a> - The number of patches from the patch
--   baseline that are applicable for the instance but aren't currently
--   installed.</li>
--   <li><a>ipsNotApplicableCount</a> - The number of patches from the
--   patch baseline that aren't applicable for the instance and hence
--   aren't installed on the instance.</li>
--   <li><a>ipsInstalledCount</a> - The number of patches from the patch
--   baseline that are installed on the instance.</li>
--   <li><a>ipsSnapshotId</a> - The ID of the patch baseline snapshot used
--   during the patching operation when this compliance data was
--   collected.</li>
--   <li><a>ipsInstanceId</a> - The ID of the managed instance the
--   high-level patch compliance information was collected for.</li>
--   <li><a>ipsPatchGroup</a> - The name of the patch group the managed
--   instance belongs to.</li>
--   <li><a>ipsBaselineId</a> - The ID of the patch baseline used to patch
--   the instance.</li>
--   <li><a>ipsOperationStartTime</a> - The time the most recent patching
--   operation was started on the instance.</li>
--   <li><a>ipsOperationEndTime</a> - The time the most recent patching
--   operation completed on the instance.</li>
--   <li><a>ipsOperation</a> - The type of patching operation that was
--   performed: SCAN (assess patch compliance state) or INSTALL (install
--   missing patches).</li>
--   </ul>
instancePatchState :: Text -> Text -> Text -> UTCTime -> UTCTime -> PatchOperationType -> InstancePatchState

-- | Placeholder information. This field will always be empty in the
--   current release of the service.
ipsOwnerInformation :: Lens' InstancePatchState (Maybe Text)

-- | The number of patches from the patch baseline that were attempted to
--   be installed during the last patching operation, but failed to
--   install.
ipsFailedCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches not specified in the patch baseline that are
--   installed on the instance.
ipsInstalledOtherCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches from the patch baseline that are applicable for
--   the instance but aren't currently installed.
ipsMissingCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches from the patch baseline that aren't applicable
--   for the instance and hence aren't installed on the instance.
ipsNotApplicableCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches from the patch baseline that are installed on
--   the instance.
ipsInstalledCount :: Lens' InstancePatchState (Maybe Int)

-- | The ID of the patch baseline snapshot used during the patching
--   operation when this compliance data was collected.
ipsSnapshotId :: Lens' InstancePatchState (Maybe Text)

-- | The ID of the managed instance the high-level patch compliance
--   information was collected for.
ipsInstanceId :: Lens' InstancePatchState Text

-- | The name of the patch group the managed instance belongs to.
ipsPatchGroup :: Lens' InstancePatchState Text

-- | The ID of the patch baseline used to patch the instance.
ipsBaselineId :: Lens' InstancePatchState Text

-- | The time the most recent patching operation was started on the
--   instance.
ipsOperationStartTime :: Lens' InstancePatchState UTCTime

-- | The time the most recent patching operation completed on the instance.
ipsOperationEndTime :: Lens' InstancePatchState UTCTime

-- | The type of patching operation that was performed: SCAN (assess patch
--   compliance state) or INSTALL (install missing patches).
ipsOperation :: Lens' InstancePatchState PatchOperationType

-- | Defines a filter used in DescribeInstancePatchStatesForPatchGroup used
--   to scope down the information returned by the API.
--   
--   <i>See:</i> <a>instancePatchStateFilter</a> smart constructor.
data InstancePatchStateFilter

-- | Creates a value of <a>InstancePatchStateFilter</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>ipsfKey</a> - The key for the filter. Supported values are
--   FailedCount, InstalledCount, InstalledOtherCount, MissingCount and
--   NotApplicableCount.</li>
--   <li><a>ipsfValues</a> - The value for the filter, must be an integer
--   greater than or equal to 0.</li>
--   <li><a>ipsfType</a> - The type of comparison that should be performed
--   for the value: Equal, NotEqual, LessThan or GreaterThan.</li>
--   </ul>
instancePatchStateFilter :: Text -> NonEmpty Text -> InstancePatchStateOperatorType -> InstancePatchStateFilter

-- | The key for the filter. Supported values are FailedCount,
--   InstalledCount, InstalledOtherCount, MissingCount and
--   NotApplicableCount.
ipsfKey :: Lens' InstancePatchStateFilter Text

-- | The value for the filter, must be an integer greater than or equal to
--   0.
ipsfValues :: Lens' InstancePatchStateFilter (NonEmpty Text)

-- | The type of comparison that should be performed for the value: Equal,
--   NotEqual, LessThan or GreaterThan.
ipsfType :: Lens' InstancePatchStateFilter InstancePatchStateOperatorType

-- | Specifies the inventory type and attribute for the aggregation
--   execution.
--   
--   <i>See:</i> <a>inventoryAggregator</a> smart constructor.
data InventoryAggregator

-- | Creates a value of <a>InventoryAggregator</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>iaAggregators</a> - Nested aggregators to further refine
--   aggregation for an inventory type.</li>
--   <li><a>iaExpression</a> - The inventory type and attribute name for
--   aggregation.</li>
--   </ul>
inventoryAggregator :: InventoryAggregator

-- | Nested aggregators to further refine aggregation for an inventory
--   type.
iaAggregators :: Lens' InventoryAggregator (Maybe (NonEmpty InventoryAggregator))

-- | The inventory type and attribute name for aggregation.
iaExpression :: Lens' InventoryAggregator (Maybe Text)

-- | Status information returned by the <tt>DeleteInventory</tt> action.
--   
--   <i>See:</i> <a>inventoryDeletionStatusItem</a> smart constructor.
data InventoryDeletionStatusItem

-- | Creates a value of <a>InventoryDeletionStatusItem</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>idsiTypeName</a> - The name of the inventory data type.</li>
--   <li><a>idsiLastStatusUpdateTime</a> - The UTC timestamp of when the
--   last status report.</li>
--   <li><a>idsiLastStatusMessage</a> - Information about the status.</li>
--   <li><a>idsiDeletionSummary</a> - Information about the delete
--   operation. For more information about this summary, see
--   <a>Understanding the Delete Inventory Summary</a> .</li>
--   <li><a>idsiLastStatus</a> - The status of the operation. Possible
--   values are InProgress and Complete.</li>
--   <li><a>idsiDeletionStartTime</a> - The UTC timestamp when the delete
--   operation started.</li>
--   <li><a>idsiDeletionId</a> - The deletion ID returned by the
--   <tt>DeleteInventory</tt> action.</li>
--   </ul>
inventoryDeletionStatusItem :: InventoryDeletionStatusItem

-- | The name of the inventory data type.
idsiTypeName :: Lens' InventoryDeletionStatusItem (Maybe Text)

-- | The UTC timestamp of when the last status report.
idsiLastStatusUpdateTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)

-- | Information about the status.
idsiLastStatusMessage :: Lens' InventoryDeletionStatusItem (Maybe Text)

-- | Information about the delete operation. For more information about
--   this summary, see <a>Understanding the Delete Inventory Summary</a> .
idsiDeletionSummary :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionSummary)

-- | The status of the operation. Possible values are InProgress and
--   Complete.
idsiLastStatus :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionStatus)

-- | The UTC timestamp when the delete operation started.
idsiDeletionStartTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)

-- | The deletion ID returned by the <tt>DeleteInventory</tt> action.
idsiDeletionId :: Lens' InventoryDeletionStatusItem (Maybe Text)

-- | Information about the delete operation.
--   
--   <i>See:</i> <a>inventoryDeletionSummary</a> smart constructor.
data InventoryDeletionSummary

-- | Creates a value of <a>InventoryDeletionSummary</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>idsRemainingCount</a> - Remaining number of items to
--   delete.</li>
--   <li><a>idsSummaryItems</a> - A list of counts and versions for deleted
--   items.</li>
--   <li><a>idsTotalCount</a> - The total number of items to delete. This
--   count does not change during the delete operation.</li>
--   </ul>
inventoryDeletionSummary :: InventoryDeletionSummary

-- | Remaining number of items to delete.
idsRemainingCount :: Lens' InventoryDeletionSummary (Maybe Int)

-- | A list of counts and versions for deleted items.
idsSummaryItems :: Lens' InventoryDeletionSummary [InventoryDeletionSummaryItem]

-- | The total number of items to delete. This count does not change during
--   the delete operation.
idsTotalCount :: Lens' InventoryDeletionSummary (Maybe Int)

-- | Either a count, remaining count, or a version number in a delete
--   inventory summary.
--   
--   <i>See:</i> <a>inventoryDeletionSummaryItem</a> smart constructor.
data InventoryDeletionSummaryItem

-- | Creates a value of <a>InventoryDeletionSummaryItem</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>idsiRemainingCount</a> - The remaining number of items to
--   delete.</li>
--   <li><a>idsiCount</a> - A count of the number of deleted items.</li>
--   <li><a>idsiVersion</a> - The inventory type version.</li>
--   </ul>
inventoryDeletionSummaryItem :: InventoryDeletionSummaryItem

-- | The remaining number of items to delete.
idsiRemainingCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)

-- | A count of the number of deleted items.
idsiCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)

-- | The inventory type version.
idsiVersion :: Lens' InventoryDeletionSummaryItem (Maybe 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>iiContext</a> - A map of associated properties for a specified
--   inventory type. For example, with this attribute, you can specify the
--   <tt>ExecutionId</tt> , <tt>ExecutionType</tt> ,
--   <tt>ComplianceType</tt> properties of the <tt>AWS:ComplianceItem</tt>
--   type.</li>
--   <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 PutInventory 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 AWS. Custom inventory type names
--   will start with Custom. Default inventory item types include the
--   following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
--   AWS:Network, and AWS:WindowsUpdate.</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

-- | A map of associated properties for a specified inventory type. For
--   example, with this attribute, you can specify the <tt>ExecutionId</tt>
--   , <tt>ExecutionType</tt> , <tt>ComplianceType</tt> properties of the
--   <tt>AWS:ComplianceItem</tt> type.
iiContext :: Lens' InventoryItem (HashMap Text Text)

-- | MD5 hash of the inventory item type contents. The content hash is used
--   to determine whether to update inventory information. The PutInventory
--   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 AWS. Custom inventory type names will start with Custom.
--   Default inventory item types include the following: AWS:AWSComponent,
--   AWS:Application, AWS:InstanceInformation, AWS:Network, and
--   AWS:WindowsUpdate.
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>iisDisplayName</a> - The alias name of the inventory type. The
--   alias name is used for display purposes.</li>
--   <li><a>iisTypeName</a> - The name of the inventory type. Default
--   inventory item type names start with AWS. Custom inventory type names
--   will start with Custom. Default inventory item types include the
--   following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
--   AWS:Network, and AWS:WindowsUpdate.</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 alias name of the inventory type. The alias name is used for
--   display purposes.
iisDisplayName :: Lens' InventoryItemSchema (Maybe Text)

-- | The name of the inventory type. Default inventory item type names
--   start with AWS. Custom inventory type names will start with Custom.
--   Default inventory item types include the following: AWS:AWSComponent,
--   AWS:Application, AWS:InstanceInformation, AWS:Network, and
--   AWS:WindowsUpdate.
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 PutInventory 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 PutInventory
--   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

-- | The parameters for an AUTOMATION task type.
--   
--   <i>See:</i> <a>maintenanceWindowAutomationParameters</a> smart
--   constructor.
data MaintenanceWindowAutomationParameters

-- | Creates a value of <a>MaintenanceWindowAutomationParameters</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>mwapParameters</a> - The parameters for the AUTOMATION task.
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .</li>
--   <li><a>mwapDocumentVersion</a> - The version of an Automation document
--   to use during task execution.</li>
--   </ul>
maintenanceWindowAutomationParameters :: MaintenanceWindowAutomationParameters

-- | The parameters for the AUTOMATION task. For information about
--   specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
mwapParameters :: Lens' MaintenanceWindowAutomationParameters (HashMap Text [Text])

-- | The version of an Automation document to use during task execution.
mwapDocumentVersion :: Lens' MaintenanceWindowAutomationParameters (Maybe 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>mwetiiTaskType</a> - The task type.</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 task type.
mwetiiTaskType :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowTaskType)

-- | 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>mwiDescription</a> - A description of the Maintenance
--   Window.</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)

-- | A description of the Maintenance Window.
mwiDescription :: Lens' MaintenanceWindowIdentity (Maybe Text)

-- | 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 parameters for a LAMBDA task type.
--   
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
--   
--   <i>See:</i> <a>maintenanceWindowLambdaParameters</a> smart
--   constructor.
data MaintenanceWindowLambdaParameters

-- | Creates a value of <a>MaintenanceWindowLambdaParameters</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>mwlpPayload</a> - JSON to provide to your Lambda function as
--   input.-- <i>Note:</i> This <tt>Lens</tt> automatically encodes and
--   decodes Base64 data. The underlying isomorphism will encode to Base64
--   representation during serialisation, and decode from Base64
--   representation during deserialisation. This <tt>Lens</tt> accepts and
--   returns only raw unencoded data.</li>
--   <li><a>mwlpQualifier</a> - (Optional) Specify a Lambda function
--   version or alias name. If you specify a function version, the action
--   uses the qualified function ARN to invoke a specific Lambda function.
--   If you specify an alias name, the action uses the alias ARN to invoke
--   the Lambda function version to which the alias points.</li>
--   <li><a>mwlpClientContext</a> - Pass client-specific information to the
--   Lambda function that you are invoking. You can then process the client
--   information in your Lambda function as you choose through the context
--   variable.</li>
--   </ul>
maintenanceWindowLambdaParameters :: MaintenanceWindowLambdaParameters

-- | JSON to provide to your Lambda function as input.-- <i>Note:</i> This
--   <tt>Lens</tt> automatically encodes and decodes Base64 data. The
--   underlying isomorphism will encode to Base64 representation during
--   serialisation, and decode from Base64 representation during
--   deserialisation. This <tt>Lens</tt> accepts and returns only raw
--   unencoded data.
mwlpPayload :: Lens' MaintenanceWindowLambdaParameters (Maybe ByteString)

-- | (Optional) Specify a Lambda function version or alias name. If you
--   specify a function version, the action uses the qualified function ARN
--   to invoke a specific Lambda function. If you specify an alias name,
--   the action uses the alias ARN to invoke the Lambda function version to
--   which the alias points.
mwlpQualifier :: Lens' MaintenanceWindowLambdaParameters (Maybe Text)

-- | Pass client-specific information to the Lambda function that you are
--   invoking. You can then process the client information in your Lambda
--   function as you choose through the context variable.
mwlpClientContext :: Lens' MaintenanceWindowLambdaParameters (Maybe Text)

-- | The parameters for a RUN_COMMAND task type.
--   
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
--   
--   <i>See:</i> <a>maintenanceWindowRunCommandParameters</a> smart
--   constructor.
data MaintenanceWindowRunCommandParameters

-- | Creates a value of <a>MaintenanceWindowRunCommandParameters</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>mwrcpServiceRoleARN</a> - The IAM service role to assume during
--   task execution.</li>
--   <li><a>mwrcpNotificationConfig</a> - Configurations for sending
--   notifications about command status changes on a per-instance
--   basis.</li>
--   <li><a>mwrcpDocumentHashType</a> - SHA-256 or SHA-1. SHA-1 hashes have
--   been deprecated.</li>
--   <li><a>mwrcpOutputS3KeyPrefix</a> - The Amazon S3 bucket
--   subfolder.</li>
--   <li><a>mwrcpParameters</a> - The parameters for the RUN_COMMAND task
--   execution.</li>
--   <li><a>mwrcpDocumentHash</a> - The SHA-256 or SHA-1 hash created by
--   the system when the document was created. SHA-1 hashes have been
--   deprecated.</li>
--   <li><a>mwrcpTimeoutSeconds</a> - If this time is reached and the
--   command has not already started executing, it doesn not execute.</li>
--   <li><a>mwrcpComment</a> - Information about the command(s) to
--   execute.</li>
--   <li><a>mwrcpOutputS3BucketName</a> - The name of the Amazon S3
--   bucket.</li>
--   </ul>
maintenanceWindowRunCommandParameters :: MaintenanceWindowRunCommandParameters

-- | The IAM service role to assume during task execution.
mwrcpServiceRoleARN :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

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

-- | SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
mwrcpDocumentHashType :: Lens' MaintenanceWindowRunCommandParameters (Maybe DocumentHashType)

-- | The Amazon S3 bucket subfolder.
mwrcpOutputS3KeyPrefix :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

-- | The parameters for the RUN_COMMAND task execution.
mwrcpParameters :: Lens' MaintenanceWindowRunCommandParameters (HashMap Text [Text])

-- | The SHA-256 or SHA-1 hash created by the system when the document was
--   created. SHA-1 hashes have been deprecated.
mwrcpDocumentHash :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

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

-- | Information about the command(s) to execute.
mwrcpComment :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

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

-- | The parameters for a STEP_FUNCTION task.
--   
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
--   
--   <i>See:</i> <a>maintenanceWindowStepFunctionsParameters</a> smart
--   constructor.
data MaintenanceWindowStepFunctionsParameters

-- | Creates a value of <a>MaintenanceWindowStepFunctionsParameters</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>mwsfpInput</a> - The inputs for the STEP_FUNCTION task.</li>
--   <li><a>mwsfpName</a> - The name of the STEP_FUNCTION task.</li>
--   </ul>
maintenanceWindowStepFunctionsParameters :: MaintenanceWindowStepFunctionsParameters

-- | The inputs for the STEP_FUNCTION task.
mwsfpInput :: Lens' MaintenanceWindowStepFunctionsParameters (Maybe Text)

-- | The name of the STEP_FUNCTION task.
mwsfpName :: Lens' MaintenanceWindowStepFunctionsParameters (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>mName</a> - The target name.</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>mDescription</a> - A description of the target.</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 target name.
mName :: 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]

-- | A description of the target.
mDescription :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | 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 that have
--   the same priority are scheduled in parallel.</li>
--   <li><a>mwtTaskARN</a> - The resource that the task uses during
--   execution. For RUN_COMMAND and AUTOMATION task types, <tt>TaskArn</tt>
--   is the Systems Manager document name or ARN. For LAMBDA tasks, it's
--   the function name or ARN. For STEP_FUNCTION tasks, it's the state
--   machine ARN.</li>
--   <li><a>mwtMaxErrors</a> - The maximum number of errors allowed before
--   this task stops being scheduled.</li>
--   <li><a>mwtName</a> - The task name.</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. The type can be one of the
--   following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.</li>
--   <li><a>mwtDescription</a> - A description of the 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 that have the same priority are
--   scheduled in parallel.
mwtPriority :: Lens' MaintenanceWindowTask (Maybe Natural)

-- | The resource that the task uses during execution. For RUN_COMMAND and
--   AUTOMATION task types, <tt>TaskArn</tt> is the Systems Manager
--   document name or ARN. For LAMBDA tasks, it's the function name or ARN.
--   For STEP_FUNCTION tasks, it's the state machine ARN.
mwtTaskARN :: Lens' MaintenanceWindowTask (Maybe Text)

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

-- | The task name.
mwtName :: 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. The type can be one of the following: RUN_COMMAND,
--   AUTOMATION, LAMBDA, or STEP_FUNCTION.
mwtType :: Lens' MaintenanceWindowTask (Maybe MaintenanceWindowTaskType)

-- | A description of the task.
mwtDescription :: Lens' MaintenanceWindowTask (Maybe Text)

-- | 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)

-- | The parameters for task execution.
--   
--   <i>See:</i> <a>maintenanceWindowTaskInvocationParameters</a> smart
--   constructor.
data MaintenanceWindowTaskInvocationParameters

-- | Creates a value of <a>MaintenanceWindowTaskInvocationParameters</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>mwtipAutomation</a> - The parameters for an AUTOMATION task
--   type.</li>
--   <li><a>mwtipStepFunctions</a> - The parameters for a STEP_FUNCTION
--   task type.</li>
--   <li><a>mwtipRunCommand</a> - The parameters for a RUN_COMMAND task
--   type.</li>
--   <li><a>mwtipLambda</a> - The parameters for a LAMBDA task type.</li>
--   </ul>
maintenanceWindowTaskInvocationParameters :: MaintenanceWindowTaskInvocationParameters

-- | The parameters for an AUTOMATION task type.
mwtipAutomation :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowAutomationParameters)

-- | The parameters for a STEP_FUNCTION task type.
mwtipStepFunctions :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowStepFunctionsParameters)

-- | The parameters for a RUN_COMMAND task type.
mwtipRunCommand :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowRunCommandParameters)

-- | The parameters for a LAMBDA task type.
mwtipLambda :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowLambdaParameters)

-- | 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])

-- | A summary of resources that are not compliant. The summary is
--   organized according to resource type.
--   
--   <i>See:</i> <a>nonCompliantSummary</a> smart constructor.
data NonCompliantSummary

-- | Creates a value of <a>NonCompliantSummary</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>ncsNonCompliantCount</a> - The total number of compliance items
--   that are not compliant.</li>
--   <li><a>ncsSeveritySummary</a> - A summary of the non-compliance
--   severity by compliance type</li>
--   </ul>
nonCompliantSummary :: NonCompliantSummary

-- | The total number of compliance items that are not compliant.
ncsNonCompliantCount :: Lens' NonCompliantSummary (Maybe Int)

-- | A summary of the non-compliance severity by compliance type
ncsSeveritySummary :: Lens' NonCompliantSummary (Maybe SeveritySummary)

-- | 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>Setting Up Events and
--   Notifications</a> in the <i>AWS Systems Manager 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>Setting Up Events and Notifications</a> in the <i>AWS Systems
--   Manager 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>pVersion</a> - The parameter version.</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 parameter version.
pVersion :: Lens' Parameter (Maybe Integer)

-- | 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>phVersion</a> - The parameter version.</li>
--   <li><a>phLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>phAllowedPattern</a> - Parameter names can include the
--   following letters and symbols. a-zA-Z0-9_.-</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)

-- | The parameter version.
phVersion :: Lens' ParameterHistory (Maybe Integer)

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

-- | Parameter names can include the following letters and symbols.
--   a-zA-Z0-9_.-
phAllowedPattern :: 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>pmVersion</a> - The parameter version.</li>
--   <li><a>pmLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>pmAllowedPattern</a> - A parameter name can include only the
--   following letters and symbols. a-zA-Z0-9_.-</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)

-- | The parameter version.
pmVersion :: Lens' ParameterMetadata (Maybe Integer)

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

-- | A parameter name can include only the following letters and symbols.
--   a-zA-Z0-9_.-
pmAllowedPattern :: 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>parameterStringFilter</a> smart constructor.
data ParameterStringFilter

-- | Creates a value of <a>ParameterStringFilter</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>psfValues</a> - The value you want to search for.</li>
--   <li><a>psfOption</a> - Valid options are Equals and BeginsWith. For
--   Path filter, valid options are Recursive and OneLevel.</li>
--   <li><a>psfKey</a> - The name of the filter.</li>
--   </ul>
parameterStringFilter :: Text -> ParameterStringFilter

-- | The value you want to search for.
psfValues :: Lens' ParameterStringFilter (Maybe (NonEmpty Text))

-- | Valid options are Equals and BeginsWith. For Path filter, valid
--   options are Recursive and OneLevel.
psfOption :: Lens' ParameterStringFilter (Maybe Text)

-- | The name of the filter.
psfKey :: Lens' ParameterStringFilter Text

-- | This data type is deprecated. Instead, use
--   <a>ParameterStringFilter</a> .
--   
--   <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>pKey</a> - The name of the filter.</li>
--   <li><a>pValues</a> - The filter values.</li>
--   </ul>
parametersFilter :: ParametersFilterKey -> NonEmpty Text -> ParametersFilter

-- | The name of the filter.
pKey :: Lens' ParametersFilter ParametersFilterKey

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

-- | Represents metadata about a patch.
--   
--   <i>See:</i> <a>patch</a> smart constructor.
data Patch

-- | Creates a value of <a>Patch</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>pVendor</a> - The name of the vendor providing the patch.</li>
--   <li><a>pMsrcSeverity</a> - The severity of the patch (for example
--   Critical, Important, Moderate).</li>
--   <li><a>pProductFamily</a> - The product family the patch is applicable
--   for (for example, Windows).</li>
--   <li><a>pClassification</a> - The classification of the patch (for
--   example, SecurityUpdates, Updates, CriticalUpdates).</li>
--   <li><a>pMsrcNumber</a> - The ID of the MSRC bulletin the patch is
--   related to.</li>
--   <li><a>pLanguage</a> - The language of the patch if it's
--   language-specific.</li>
--   <li><a>pKbNumber</a> - The Microsoft Knowledge Base ID of the
--   patch.</li>
--   <li><a>pContentURL</a> - The URL where more information can be
--   obtained about the patch.</li>
--   <li><a>pId</a> - The ID of the patch (this is different than the
--   Microsoft Knowledge Base ID).</li>
--   <li><a>pReleaseDate</a> - The date the patch was released.</li>
--   <li><a>pTitle</a> - The title of the patch.</li>
--   <li><a>pProduct</a> - The specific product the patch is applicable for
--   (for example, WindowsServer2016).</li>
--   <li><a>pDescription</a> - The description of the patch.</li>
--   </ul>
patch :: Patch

-- | The name of the vendor providing the patch.
pVendor :: Lens' Patch (Maybe Text)

-- | The severity of the patch (for example Critical, Important, Moderate).
pMsrcSeverity :: Lens' Patch (Maybe Text)

-- | The product family the patch is applicable for (for example, Windows).
pProductFamily :: Lens' Patch (Maybe Text)

-- | The classification of the patch (for example, SecurityUpdates,
--   Updates, CriticalUpdates).
pClassification :: Lens' Patch (Maybe Text)

-- | The ID of the MSRC bulletin the patch is related to.
pMsrcNumber :: Lens' Patch (Maybe Text)

-- | The language of the patch if it's language-specific.
pLanguage :: Lens' Patch (Maybe Text)

-- | The Microsoft Knowledge Base ID of the patch.
pKbNumber :: Lens' Patch (Maybe Text)

-- | The URL where more information can be obtained about the patch.
pContentURL :: Lens' Patch (Maybe Text)

-- | The ID of the patch (this is different than the Microsoft Knowledge
--   Base ID).
pId :: Lens' Patch (Maybe Text)

-- | The date the patch was released.
pReleaseDate :: Lens' Patch (Maybe UTCTime)

-- | The title of the patch.
pTitle :: Lens' Patch (Maybe Text)

-- | The specific product the patch is applicable for (for example,
--   WindowsServer2016).
pProduct :: Lens' Patch (Maybe Text)

-- | The description of the patch.
pDescription :: Lens' Patch (Maybe Text)

-- | Defines the basic information about a patch baseline.
--   
--   <i>See:</i> <a>patchBaselineIdentity</a> smart constructor.
data PatchBaselineIdentity

-- | Creates a value of <a>PatchBaselineIdentity</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>pbiBaselineName</a> - The name of the patch baseline.</li>
--   <li><a>pbiBaselineDescription</a> - The description of the patch
--   baseline.</li>
--   <li><a>pbiOperatingSystem</a> - Defines the operating system the patch
--   baseline applies to. The Default value is WINDOWS.</li>
--   <li><a>pbiDefaultBaseline</a> - Whether this is the default baseline.
--   Note that Systems Manager supports creating multiple default patch
--   baselines. For example, you can create a default patch baseline for
--   each operating system.</li>
--   <li><a>pbiBaselineId</a> - The ID of the patch baseline.</li>
--   </ul>
patchBaselineIdentity :: PatchBaselineIdentity

-- | The name of the patch baseline.
pbiBaselineName :: Lens' PatchBaselineIdentity (Maybe Text)

-- | The description of the patch baseline.
pbiBaselineDescription :: Lens' PatchBaselineIdentity (Maybe Text)

-- | Defines the operating system the patch baseline applies to. The
--   Default value is WINDOWS.
pbiOperatingSystem :: Lens' PatchBaselineIdentity (Maybe OperatingSystem)

-- | Whether this is the default baseline. Note that Systems Manager
--   supports creating multiple default patch baselines. For example, you
--   can create a default patch baseline for each operating system.
pbiDefaultBaseline :: Lens' PatchBaselineIdentity (Maybe Bool)

-- | The ID of the patch baseline.
pbiBaselineId :: Lens' PatchBaselineIdentity (Maybe Text)

-- | Information about the state of a patch on a particular instance as it
--   relates to the patch baseline used to patch the instance.
--   
--   <i>See:</i> <a>patchComplianceData</a> smart constructor.
data PatchComplianceData

-- | Creates a value of <a>PatchComplianceData</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>pcdTitle</a> - The title of the patch.</li>
--   <li><a>pcdKBId</a> - The operating system-specific ID of the
--   patch.</li>
--   <li><a>pcdClassification</a> - The classification of the patch (for
--   example, SecurityUpdates, Updates, CriticalUpdates).</li>
--   <li><a>pcdSeverity</a> - The severity of the patch (for example,
--   Critical, Important, Moderate).</li>
--   <li><a>pcdState</a> - The state of the patch on the instance
--   (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).</li>
--   <li><a>pcdInstalledTime</a> - The date/time the patch was installed on
--   the instance. Note that not all operating systems provide this level
--   of information.</li>
--   </ul>
patchComplianceData :: Text -> Text -> Text -> Text -> PatchComplianceDataState -> UTCTime -> PatchComplianceData

-- | The title of the patch.
pcdTitle :: Lens' PatchComplianceData Text

-- | The operating system-specific ID of the patch.
pcdKBId :: Lens' PatchComplianceData Text

-- | The classification of the patch (for example, SecurityUpdates,
--   Updates, CriticalUpdates).
pcdClassification :: Lens' PatchComplianceData Text

-- | The severity of the patch (for example, Critical, Important,
--   Moderate).
pcdSeverity :: Lens' PatchComplianceData Text

-- | The state of the patch on the instance (INSTALLED, INSTALLED_OTHER,
--   MISSING, NOT_APPLICABLE or FAILED).
pcdState :: Lens' PatchComplianceData PatchComplianceDataState

-- | The date/time the patch was installed on the instance. Note that not
--   all operating systems provide this level of information.
pcdInstalledTime :: Lens' PatchComplianceData UTCTime

-- | Defines a patch filter.
--   
--   A patch filter consists of key/value pairs, but not all keys are valid
--   for all operating system types. For example, the key <tt>PRODUCT</tt>
--   is valid for all supported operating system types. The key
--   <tt>MSRC_SEVERITY</tt> , however, is valid only for Windows operating
--   systems, and the key <tt>SECTION</tt> is valid only for Ubuntu
--   operating systems.
--   
--   Refer to the following sections for information about which keys may
--   be used with each major operating system, and which values are valid
--   for each key.
--   
--   <b>Windows Operating Systems</b>
--   
--   The supported keys for Windows operating systems are <tt>PRODUCT</tt>
--   , <tt>CLASSIFICATION</tt> , and <tt>MSRC_SEVERITY</tt> . See the
--   following lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Windows7</pre></li>
--   <li><pre>Windows8</pre></li>
--   <li><pre>Windows8.1</pre></li>
--   <li><pre>Windows8Embedded</pre></li>
--   <li><pre>Windows10</pre></li>
--   <li><pre>Windows10LTSB</pre></li>
--   <li><pre>WindowsServer2008</pre></li>
--   <li><pre>WindowsServer2008R2</pre></li>
--   <li><pre>WindowsServer2012</pre></li>
--   <li><pre>WindowsServer2012R2</pre></li>
--   <li><pre>WindowsServer2016</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>CriticalUpdates</pre></li>
--   <li><pre>DefinitionUpdates</pre></li>
--   <li><pre>Drivers</pre></li>
--   <li><pre>FeaturePacks</pre></li>
--   <li><pre>SecurityUpdates</pre></li>
--   <li><pre>ServicePacks</pre></li>
--   <li><pre>Tools</pre></li>
--   <li><pre>UpdateRollups</pre></li>
--   <li><pre>Updates</pre></li>
--   <li><pre>Upgrades</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>MSRC_SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Moderate</pre></li>
--   <li><pre>Low</pre></li>
--   <li><pre>Unspecified</pre></li>
--   </ul>
--   
--   <b>Ubuntu Operating Systems</b>
--   
--   The supported keys for Ubuntu operating systems are <tt>PRODUCT</tt> ,
--   <tt>PRIORITY</tt> , and <tt>SECTION</tt> . See the following lists for
--   valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Ubuntu14.04</pre></li>
--   <li><pre>Ubuntu16.04</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>PRIORITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Required</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Standard</pre></li>
--   <li><pre>Optional</pre></li>
--   <li><pre>Extra</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SECTION</tt>
--   
--   Only the length of the key value is validated. Minimum length is 1.
--   Maximum length is 64.
--   
--   <b>Amazon Linux Operating Systems</b>
--   
--   The supported keys for Amazon Linux operating systems are
--   <tt>PRODUCT</tt> , <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> .
--   See the following lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>AmazonLinux2012.03</pre></li>
--   <li><pre>AmazonLinux2012.09</pre></li>
--   <li><pre>AmazonLinux2013.03</pre></li>
--   <li><pre>AmazonLinux2013.09</pre></li>
--   <li><pre>AmazonLinux2014.03</pre></li>
--   <li><pre>AmazonLinux2014.09</pre></li>
--   <li><pre>AmazonLinux2015.03</pre></li>
--   <li><pre>AmazonLinux2015.09</pre></li>
--   <li><pre>AmazonLinux2016.03</pre></li>
--   <li><pre>AmazonLinux2016.09</pre></li>
--   <li><pre>AmazonLinux2017.03</pre></li>
--   <li><pre>AmazonLinux2017.09</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Bugfix</pre></li>
--   <li><pre>Enhancement</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Newpackage</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Medium</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <b>RedHat Enterprise Linux (RHEL) Operating Systems</b>
--   
--   The supported keys for RedHat Enterprise Linux operating systems are
--   <tt>PRODUCT</tt> , <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> .
--   See the following lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>RedhatEnterpriseLinux6.5</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.6</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.7</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.8</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.9</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.0</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.1</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.2</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.3</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.4</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Bugfix</pre></li>
--   <li><pre>Enhancement</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Newpackage</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Medium</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <b>SUSE Linux Enterprise Server (SLES) Operating Systems</b>
--   
--   The supported keys for SLES operating systems are <tt>PRODUCT</tt> ,
--   <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> . See the following
--   lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Suse12.0</pre></li>
--   <li><pre>Suse12.1</pre></li>
--   <li><pre>Suse12.2</pre></li>
--   <li><pre>Suse12.3</pre></li>
--   <li><pre>Suse12.4</pre></li>
--   <li><pre>Suse12.5</pre></li>
--   <li><pre>Suse12.6</pre></li>
--   <li><pre>Suse12.7</pre></li>
--   <li><pre>Suse12.8</pre></li>
--   <li><pre>Suse12.9</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Optional</pre></li>
--   <li><pre>Feature</pre></li>
--   <li><pre>Document</pre></li>
--   <li><pre>Yast</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Moderate</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <b>CentOS Operating Systems</b>
--   
--   The supported keys for CentOS operating systems are <tt>PRODUCT</tt> ,
--   <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> . See the following
--   lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>CentOS6.5</pre></li>
--   <li><pre>CentOS6.6</pre></li>
--   <li><pre>CentOS6.7</pre></li>
--   <li><pre>CentOS6.8</pre></li>
--   <li><pre>CentOS6.9</pre></li>
--   <li><pre>CentOS7.0</pre></li>
--   <li><pre>CentOS7.1</pre></li>
--   <li><pre>CentOS7.2</pre></li>
--   <li><pre>CentOS7.3</pre></li>
--   <li><pre>CentOS7.4</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Bugfix</pre></li>
--   <li><pre>Enhancement</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Newpackage</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Medium</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <i>See:</i> <a>patchFilter</a> smart constructor.
data PatchFilter

-- | Creates a value of <a>PatchFilter</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 key for the filter. See <a>PatchFilter</a> for
--   lists of valid keys for each operating system type.</li>
--   <li><a>pfValues</a> - The value for the filter key. See
--   <a>PatchFilter</a> for lists of valid values for each key based on
--   operating system type.</li>
--   </ul>
patchFilter :: PatchFilterKey -> NonEmpty Text -> PatchFilter

-- | The key for the filter. See <a>PatchFilter</a> for lists of valid keys
--   for each operating system type.
pfKey :: Lens' PatchFilter PatchFilterKey

-- | The value for the filter key. See <a>PatchFilter</a> for lists of
--   valid values for each key based on operating system type.
pfValues :: Lens' PatchFilter (NonEmpty Text)

-- | A set of patch filters, typically used for approval rules.
--   
--   <i>See:</i> <a>patchFilterGroup</a> smart constructor.
data PatchFilterGroup

-- | Creates a value of <a>PatchFilterGroup</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>pfgPatchFilters</a> - The set of patch filters that make up the
--   group.</li>
--   </ul>
patchFilterGroup :: PatchFilterGroup

-- | The set of patch filters that make up the group.
pfgPatchFilters :: Lens' PatchFilterGroup [PatchFilter]

-- | The mapping between a patch group and the patch baseline the patch
--   group is registered with.
--   
--   <i>See:</i> <a>patchGroupPatchBaselineMapping</a> smart constructor.
data PatchGroupPatchBaselineMapping

-- | Creates a value of <a>PatchGroupPatchBaselineMapping</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>pgpbmBaselineIdentity</a> - The patch baseline the patch group
--   is registered with.</li>
--   <li><a>pgpbmPatchGroup</a> - The name of the patch group registered
--   with the patch baseline.</li>
--   </ul>
patchGroupPatchBaselineMapping :: PatchGroupPatchBaselineMapping

-- | The patch baseline the patch group is registered with.
pgpbmBaselineIdentity :: Lens' PatchGroupPatchBaselineMapping (Maybe PatchBaselineIdentity)

-- | The name of the patch group registered with the patch baseline.
pgpbmPatchGroup :: Lens' PatchGroupPatchBaselineMapping (Maybe Text)

-- | Defines a filter used in Patch Manager APIs.
--   
--   <i>See:</i> <a>patchOrchestratorFilter</a> smart constructor.
data PatchOrchestratorFilter

-- | Creates a value of <a>PatchOrchestratorFilter</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>pofValues</a> - The value for the filter.</li>
--   <li><a>pofKey</a> - The key for the filter.</li>
--   </ul>
patchOrchestratorFilter :: PatchOrchestratorFilter

-- | The value for the filter.
pofValues :: Lens' PatchOrchestratorFilter [Text]

-- | The key for the filter.
pofKey :: Lens' PatchOrchestratorFilter (Maybe Text)

-- | Defines an approval rule for a patch baseline.
--   
--   <i>See:</i> <a>patchRule</a> smart constructor.
data PatchRule

-- | Creates a value of <a>PatchRule</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>prEnableNonSecurity</a> - For instances identified by the
--   approval rule filters, enables a patch baseline to apply non-security
--   updates available in the specified repository. The default value is
--   <tt>false</tt>. Applies to Linux instances only.</li>
--   <li><a>prComplianceLevel</a> - A compliance severity level for all
--   approved patches in a patch baseline. Valid compliance severity levels
--   include the following: Unspecified, Critical, High, Medium, Low, and
--   Informational.</li>
--   <li><a>prPatchFilterGroup</a> - The patch filter group that defines
--   the criteria for the rule.</li>
--   <li><a>prApproveAfterDays</a> - The number of days after the release
--   date of each patch matched by the rule the patch is marked as approved
--   in the patch baseline.</li>
--   </ul>
patchRule :: PatchFilterGroup -> Natural -> PatchRule

-- | For instances identified by the approval rule filters, enables a patch
--   baseline to apply non-security updates available in the specified
--   repository. The default value is <tt>false</tt>. Applies to Linux
--   instances only.
prEnableNonSecurity :: Lens' PatchRule (Maybe Bool)

-- | A compliance severity level for all approved patches in a patch
--   baseline. Valid compliance severity levels include the following:
--   Unspecified, Critical, High, Medium, Low, and Informational.
prComplianceLevel :: Lens' PatchRule (Maybe PatchComplianceLevel)

-- | The patch filter group that defines the criteria for the rule.
prPatchFilterGroup :: Lens' PatchRule PatchFilterGroup

-- | The number of days after the release date of each patch matched by the
--   rule the patch is marked as approved in the patch baseline.
prApproveAfterDays :: Lens' PatchRule Natural

-- | A set of rules defining the approval rules for a patch baseline.
--   
--   <i>See:</i> <a>patchRuleGroup</a> smart constructor.
data PatchRuleGroup

-- | Creates a value of <a>PatchRuleGroup</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>prgPatchRules</a> - The rules that make up the rule group.</li>
--   </ul>
patchRuleGroup :: PatchRuleGroup

-- | The rules that make up the rule group.
prgPatchRules :: Lens' PatchRuleGroup [PatchRule]

-- | Information about the patches to use to update the instances,
--   including target operating systems and source repository. Applies to
--   Linux instances only.
--   
--   <i>See:</i> <a>patchSource</a> smart constructor.
data PatchSource

-- | Creates a value of <a>PatchSource</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>psName</a> - The name specified to identify the patch
--   source.</li>
--   <li><a>psProducts</a> - The specific operating system versions a patch
--   repository applies to, such as "Ubuntu16.04", "AmazonLinux2016.09",
--   "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported
--   product values, see <a>PatchFilter</a> .</li>
--   <li><a>psConfiguration</a> - The value of the yum repo configuration.
--   For example: <tt>cachedir=<i>var</i>cache<i>yum</i>$basesearch</tt>
--   <tt>&gt; releasever</tt> <tt>keepcache=0</tt>
--   <tt>debualevel=2</tt></li>
--   </ul>
patchSource :: Text -> NonEmpty Text -> Text -> PatchSource

-- | The name specified to identify the patch source.
psName :: Lens' PatchSource Text

-- | The specific operating system versions a patch repository applies to,
--   such as "Ubuntu16.04", "AmazonLinux2016.09",
--   "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported
--   product values, see <a>PatchFilter</a> .
psProducts :: Lens' PatchSource (NonEmpty Text)

-- | The value of the yum repo configuration. For example:
--   <tt>cachedir=<i>var</i>cache<i>yum</i>$basesearch</tt> <tt>&gt;
--   releasever</tt> <tt>keepcache=0</tt> <tt>debualevel=2</tt>
psConfiguration :: Lens' PatchSource Text

-- | Information about the approval status of a patch.
--   
--   <i>See:</i> <a>patchStatus</a> smart constructor.
data PatchStatus

-- | Creates a value of <a>PatchStatus</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>psApprovalDate</a> - The date the patch was approved (or will
--   be approved if the status is PENDING_APPROVAL).</li>
--   <li><a>psDeploymentStatus</a> - The approval status of a patch
--   (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED,
--   EXPLICIT_REJECTED).</li>
--   <li><a>psComplianceLevel</a> - The compliance severity level for a
--   patch.</li>
--   </ul>
patchStatus :: PatchStatus

-- | The date the patch was approved (or will be approved if the status is
--   PENDING_APPROVAL).
psApprovalDate :: Lens' PatchStatus (Maybe UTCTime)

-- | The approval status of a patch (APPROVED, PENDING_APPROVAL,
--   EXPLICIT_APPROVED, EXPLICIT_REJECTED).
psDeploymentStatus :: Lens' PatchStatus (Maybe PatchDeploymentStatus)

-- | The compliance severity level for a patch.
psComplianceLevel :: Lens' PatchStatus (Maybe PatchComplianceLevel)

-- | Information about targets that resolved during the Automation
--   execution.
--   
--   <i>See:</i> <a>resolvedTargets</a> smart constructor.
data ResolvedTargets

-- | Creates a value of <a>ResolvedTargets</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>rtTruncated</a> - A boolean value indicating whether the
--   resolved target list is truncated.</li>
--   <li><a>rtParameterValues</a> - A list of parameter values sent to
--   targets that resolved during the Automation execution.</li>
--   </ul>
resolvedTargets :: ResolvedTargets

-- | A boolean value indicating whether the resolved target list is
--   truncated.
rtTruncated :: Lens' ResolvedTargets (Maybe Bool)

-- | A list of parameter values sent to targets that resolved during the
--   Automation execution.
rtParameterValues :: Lens' ResolvedTargets [Text]

-- | Compliance summary information for a specific resource.
--   
--   <i>See:</i> <a>resourceComplianceSummaryItem</a> smart constructor.
data ResourceComplianceSummaryItem

-- | Creates a value of <a>ResourceComplianceSummaryItem</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>rcsiNonCompliantSummary</a> - A list of items that aren't
--   compliant for the resource.</li>
--   <li><a>rcsiStatus</a> - The compliance status for the resource.</li>
--   <li><a>rcsiResourceId</a> - The resource ID.</li>
--   <li><a>rcsiResourceType</a> - The resource type.</li>
--   <li><a>rcsiCompliantSummary</a> - A list of items that are compliant
--   for the resource.</li>
--   <li><a>rcsiExecutionSummary</a> - Information about the
--   execution.</li>
--   <li><a>rcsiOverallSeverity</a> - The highest severity item found for
--   the resource. The resource is compliant for this item.</li>
--   <li><a>rcsiComplianceType</a> - The compliance type.</li>
--   </ul>
resourceComplianceSummaryItem :: ResourceComplianceSummaryItem

-- | A list of items that aren't compliant for the resource.
rcsiNonCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe NonCompliantSummary)

-- | The compliance status for the resource.
rcsiStatus :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceStatus)

-- | The resource ID.
rcsiResourceId :: Lens' ResourceComplianceSummaryItem (Maybe Text)

-- | The resource type.
rcsiResourceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)

-- | A list of items that are compliant for the resource.
rcsiCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe CompliantSummary)

-- | Information about the execution.
rcsiExecutionSummary :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceExecutionSummary)

-- | The highest severity item found for the resource. The resource is
--   compliant for this item.
rcsiOverallSeverity :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceSeverity)

-- | The compliance type.
rcsiComplianceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)

-- | Information about a Resource Data Sync configuration, including its
--   current status and last successful sync.
--   
--   <i>See:</i> <a>resourceDataSyncItem</a> smart constructor.
data ResourceDataSyncItem

-- | Creates a value of <a>ResourceDataSyncItem</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>rdsiLastSyncStatusMessage</a> - The status message details
--   reported by the last sync.</li>
--   <li><a>rdsiSyncCreatedTime</a> - The date and time the configuration
--   was created (UTC).</li>
--   <li><a>rdsiLastSyncTime</a> - The last time the configuration
--   attempted to sync (UTC).</li>
--   <li><a>rdsiSyncName</a> - The name of the Resource Data Sync.</li>
--   <li><a>rdsiLastStatus</a> - The status reported by the last sync.</li>
--   <li><a>rdsiS3Destination</a> - Configuration information for the
--   target Amazon S3 bucket.</li>
--   <li><a>rdsiLastSuccessfulSyncTime</a> - The last time the sync
--   operations returned a status of <tt>SUCCESSFUL</tt> (UTC).</li>
--   </ul>
resourceDataSyncItem :: ResourceDataSyncItem

-- | The status message details reported by the last sync.
rdsiLastSyncStatusMessage :: Lens' ResourceDataSyncItem (Maybe Text)

-- | The date and time the configuration was created (UTC).
rdsiSyncCreatedTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)

-- | The last time the configuration attempted to sync (UTC).
rdsiLastSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)

-- | The name of the Resource Data Sync.
rdsiSyncName :: Lens' ResourceDataSyncItem (Maybe Text)

-- | The status reported by the last sync.
rdsiLastStatus :: Lens' ResourceDataSyncItem (Maybe LastResourceDataSyncStatus)

-- | Configuration information for the target Amazon S3 bucket.
rdsiS3Destination :: Lens' ResourceDataSyncItem (Maybe ResourceDataSyncS3Destination)

-- | The last time the sync operations returned a status of
--   <tt>SUCCESSFUL</tt> (UTC).
rdsiLastSuccessfulSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)

-- | Information about the target Amazon S3 bucket for the Resource Data
--   Sync.
--   
--   <i>See:</i> <a>resourceDataSyncS3Destination</a> smart constructor.
data ResourceDataSyncS3Destination

-- | Creates a value of <a>ResourceDataSyncS3Destination</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>rdssdPrefix</a> - An Amazon S3 prefix for the bucket.</li>
--   <li><a>rdssdAWSKMSKeyARN</a> - The ARN of an encryption key for a
--   destination in Amazon S3. Must belong to the same region as the
--   destination Amazon S3 bucket.</li>
--   <li><a>rdssdBucketName</a> - The name of the Amazon S3 bucket where
--   the aggregated data is stored.</li>
--   <li><a>rdssdSyncFormat</a> - A supported sync format. The following
--   format is currently supported: JsonSerDe</li>
--   <li><a>rdssdRegion</a> - The AWS Region with the Amazon S3 bucket
--   targeted by the Resource Data Sync.</li>
--   </ul>
resourceDataSyncS3Destination :: Text -> ResourceDataSyncS3Format -> Text -> ResourceDataSyncS3Destination

-- | An Amazon S3 prefix for the bucket.
rdssdPrefix :: Lens' ResourceDataSyncS3Destination (Maybe Text)

-- | The ARN of an encryption key for a destination in Amazon S3. Must
--   belong to the same region as the destination Amazon S3 bucket.
rdssdAWSKMSKeyARN :: Lens' ResourceDataSyncS3Destination (Maybe Text)

-- | The name of the Amazon S3 bucket where the aggregated data is stored.
rdssdBucketName :: Lens' ResourceDataSyncS3Destination Text

-- | A supported sync format. The following format is currently supported:
--   JsonSerDe
rdssdSyncFormat :: Lens' ResourceDataSyncS3Destination ResourceDataSyncS3Format

-- | The AWS Region with the Amazon S3 bucket targeted by the Resource Data
--   Sync.
rdssdRegion :: Lens' ResourceDataSyncS3Destination 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> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</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)

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
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)

-- | The number of managed instances found for each patch severity level
--   defined in the request filter.
--   
--   <i>See:</i> <a>severitySummary</a> smart constructor.
data SeveritySummary

-- | Creates a value of <a>SeveritySummary</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>ssLowCount</a> - The total number of resources or compliance
--   items that have a severity level of low. Low severity is determined by
--   the organization that published the compliance items.</li>
--   <li><a>ssUnspecifiedCount</a> - The total number of resources or
--   compliance items that have a severity level of unspecified.
--   Unspecified severity is determined by the organization that published
--   the compliance items.</li>
--   <li><a>ssHighCount</a> - The total number of resources or compliance
--   items that have a severity level of high. High severity is determined
--   by the organization that published the compliance items.</li>
--   <li><a>ssMediumCount</a> - The total number of resources or compliance
--   items that have a severity level of medium. Medium severity is
--   determined by the organization that published the compliance
--   items.</li>
--   <li><a>ssInformationalCount</a> - The total number of resources or
--   compliance items that have a severity level of informational.
--   Informational severity is determined by the organization that
--   published the compliance items.</li>
--   <li><a>ssCriticalCount</a> - The total number of resources or
--   compliance items that have a severity level of critical. Critical
--   severity is determined by the organization that published the
--   compliance items.</li>
--   </ul>
severitySummary :: SeveritySummary

-- | The total number of resources or compliance items that have a severity
--   level of low. Low severity is determined by the organization that
--   published the compliance items.
ssLowCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of unspecified. Unspecified severity is determined by the
--   organization that published the compliance items.
ssUnspecifiedCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of high. High severity is determined by the organization that
--   published the compliance items.
ssHighCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of medium. Medium severity is determined by the organization
--   that published the compliance items.
ssMediumCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of informational. Informational severity is determined by the
--   organization that published the compliance items.
ssInformationalCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of critical. Critical severity is determined by the organization
--   that published the compliance items.
ssCriticalCount :: Lens' SeveritySummary (Maybe Int)

-- | 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>seFailureDetails</a> - Information about the Automation
--   failure.</li>
--   <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: Pending, InProgress, Success, Cancelled, Failed, and
--   TimedOut.</li>
--   <li><a>seOverriddenParameters</a> - A user-specified list of
--   parameters to override when executing a step.</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 Pending status,
--   this field is not populated.</li>
--   <li><a>seMaxAttempts</a> - The maximum number of tries to run the
--   action of the step. The default value is 1.</li>
--   <li><a>seStepExecutionId</a> - The unique ID of a step execution.</li>
--   <li><a>seTimeoutSeconds</a> - The timeout seconds of the step.</li>
--   <li><a>seOnFailure</a> - The action to take if the step fails. The
--   default value is Abort.</li>
--   </ul>
stepExecution :: StepExecution

-- | Information about the Automation failure.
seFailureDetails :: Lens' StepExecution (Maybe FailureDetails)

-- | 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: Pending,
--   InProgress, Success, Cancelled, Failed, and TimedOut.
seStepStatus :: Lens' StepExecution (Maybe AutomationExecutionStatus)

-- | A user-specified list of parameters to override when executing a step.
seOverriddenParameters :: Lens' StepExecution (HashMap Text [Text])

-- | 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 Pending status, this field is not
--   populated.
seExecutionStartTime :: Lens' StepExecution (Maybe UTCTime)

-- | The maximum number of tries to run the action of the step. The default
--   value is 1.
seMaxAttempts :: Lens' StepExecution (Maybe Int)

-- | The unique ID of a step execution.
seStepExecutionId :: Lens' StepExecution (Maybe Text)

-- | The timeout seconds of the step.
seTimeoutSeconds :: Lens' StepExecution (Maybe Integer)

-- | The action to take if the step fails. The default value is Abort.
seOnFailure :: Lens' StepExecution (Maybe Text)

-- | A filter to limit the amount of step execution information returned by
--   the call.
--   
--   <i>See:</i> <a>stepExecutionFilter</a> smart constructor.
data StepExecutionFilter

-- | Creates a value of <a>StepExecutionFilter</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>sefKey</a> - One or more keys to limit the results. Valid
--   filter keys include the following: StepName, Action, StepExecutionId,
--   StepExecutionStatus, StartTimeBefore, StartTimeAfter.</li>
--   <li><a>sefValues</a> - The values of the filter key.</li>
--   </ul>
stepExecutionFilter :: StepExecutionFilterKey -> NonEmpty Text -> StepExecutionFilter

-- | One or more keys to limit the results. Valid filter keys include the
--   following: StepName, Action, StepExecutionId, StepExecutionStatus,
--   StartTimeBefore, StartTimeAfter.
sefKey :: Lens' StepExecutionFilter StepExecutionFilterKey

-- | The values of the filter key.
sefValues :: Lens' StepExecutionFilter (NonEmpty Text)

-- | Metadata that you assign to your AWS resources. Tags enable you to
--   categorize your resources in different ways, for example, by purpose,
--   owner, or environment. In Systems Manager, you can apply tags to
--   documents, managed instances, Maintenance Windows, Parameter Store
--   parameters, and patch baselines.
--   
--   <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 Key,Value
--   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 Key. For
--   example, if you specified tag:ServerRole, you could specify
--   value:WebServer 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 Key,Value parameters, see
--   <a>Executing a Command Using Systems Manager Run Command</a> .</li>
--   <li><a>tKey</a> - User-defined criteria for sending commands that
--   target instances that meet the criteria. Key can be tag:<a>EC2 tag</a>
--   or InstanceIds. For more information about how to send commands that
--   target instances using Key,Value parameters, see <a>Executing a
--   Command Using Systems Manager Run Command</a> .</li>
--   </ul>
target :: Target

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

-- | User-defined criteria for sending commands that target instances that
--   meet the criteria. Key can be tag:<a>EC2 tag</a> or InstanceIds. For
--   more information about how to send commands that target instances
--   using Key,Value parameters, see <a>Executing a Command Using Systems
--   Manager Run Command</a> .
tKey :: Lens' Target (Maybe Text)


-- | 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>saeType</a> - The stop request type. Valid types include the
--   following: Cancel and Complete. The default type is Cancel.</li>
--   <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 stop request type. Valid types include the following: Cancel and
--   Complete. The default type is Cancel.
saeType :: Lens' StopAutomationExecution (Maybe StopType)

-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.StopAutomationExecution.StopAutomationExecutionResponse
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


-- | 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>saeTargetParameterName</a> - The name of the parameter used as
--   the target resource for the rate-controlled execution. Required if you
--   specify Targets.</li>
--   <li><a>saeClientToken</a> - User-provided idempotency token. The token
--   must be unique, is case insensitive, enforces the UUID format, and
--   can't be reused.</li>
--   <li><a>saeMode</a> - The execution mode of the automation. Valid modes
--   include the following: Auto and Interactive. The default mode is
--   Auto.</li>
--   <li><a>saeMaxErrors</a> - The number of errors that are allowed before
--   the system stops running the automation on additional targets. You can
--   specify either an absolute number of errors, for example 10, or a
--   percentage of the target set, for example 10%. If you specify 3, for
--   example, the system stops running the automation when the fourth error
--   is received. If you specify 0, then the system stops running the
--   automation on additional targets after the first error result is
--   returned. If you run an automation on 50 resources and set max-errors
--   to 10%, then the system stops running the automation on additional
--   targets when the sixth error is received. Executions that are already
--   running an automation when max-errors is reached are allowed to
--   complete, but some of these executions may fail as well. If you need
--   to ensure that there won't be more than max-errors failed executions,
--   set max-concurrency to 1 so the executions proceed one at a time.</li>
--   <li><a>saeTargets</a> - A key-value mapping to target resources.
--   Required if you specify TargetParameterName.</li>
--   <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>saeMaxConcurrency</a> - The maximum number of targets allowed
--   to run this task in parallel. You can specify a number, such as 10, or
--   a percentage, such as 10%. The default value is 10.</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

-- | The name of the parameter used as the target resource for the
--   rate-controlled execution. Required if you specify Targets.
saeTargetParameterName :: Lens' StartAutomationExecution (Maybe Text)

-- | User-provided idempotency token. The token must be unique, is case
--   insensitive, enforces the UUID format, and can't be reused.
saeClientToken :: Lens' StartAutomationExecution (Maybe Text)

-- | The execution mode of the automation. Valid modes include the
--   following: Auto and Interactive. The default mode is Auto.
saeMode :: Lens' StartAutomationExecution (Maybe ExecutionMode)

-- | The number of errors that are allowed before the system stops running
--   the automation on additional targets. You can specify either an
--   absolute number of errors, for example 10, or a percentage of the
--   target set, for example 10%. If you specify 3, for example, the system
--   stops running the automation when the fourth error is received. If you
--   specify 0, then the system stops running the automation on additional
--   targets after the first error result is returned. If you run an
--   automation on 50 resources and set max-errors to 10%, then the system
--   stops running the automation on additional targets when the sixth
--   error is received. Executions that are already running an automation
--   when max-errors is reached are allowed to complete, but some of these
--   executions may fail as well. If you need to ensure that there won't be
--   more than max-errors failed executions, set max-concurrency to 1 so
--   the executions proceed one at a time.
saeMaxErrors :: Lens' StartAutomationExecution (Maybe Text)

-- | A key-value mapping to target resources. Required if you specify
--   TargetParameterName.
saeTargets :: Lens' StartAutomationExecution [Target]

-- | 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 maximum number of targets allowed to run this task in parallel.
--   You can specify a number, such as 10, or a percentage, such as 10%.
--   The default value is 10.
saeMaxConcurrency :: 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 Control.DeepSeq.NFData Network.AWS.SSM.StartAutomationExecution.StartAutomationExecutionResponse
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


-- | Executes commands on one or more managed 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 MaxErrors, 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 0. For more information about how to
--   use MaxErrors, see <a>Using Error Controls</a> .</li>
--   <li><a>scInstanceIds</a> - The instance IDs where the command should
--   execute. You can specify a maximum of 50 IDs. If you prefer not to
--   list individual instance IDs, you can instead send commands to a fleet
--   of instances using the Targets parameter, which accepts EC2 tags. For
--   more information about how to use Targets, see <a>Sending Commands to
--   a Fleet</a> .</li>
--   <li><a>scOutputS3Region</a> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</li>
--   <li><a>scTargets</a> - (Optional) An array of search criteria that
--   targets instances using a Key,Value combination that you specify.
--   Targets is required if you don't provide one or more instance IDs in
--   the call. For more information about how to use Targets, see
--   <a>Sending Commands to a Fleet</a> .</li>
--   <li><a>scParameters</a> - The required and optional parameters
--   specified in the 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>scDocumentVersion</a> - The SSM document version to use in the
--   request. You can specify Default, Latest, or a specific version
--   number.</li>
--   <li><a>scTimeoutSeconds</a> - If this time is reached and the command
--   has not already started executing, it will not run.</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
--   MaxConcurrency, see <a>Using Concurrency Controls</a> .</li>
--   <li><a>scDocumentName</a> - Required. The name of the Systems Manager
--   document to execute. This can be a 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 MaxErrors, 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 0. For more information about how to use MaxErrors, see <a>Using
--   Error Controls</a> .
scMaxErrors :: Lens' SendCommand (Maybe Text)

-- | The instance IDs where the command should execute. You can specify a
--   maximum of 50 IDs. If you prefer not to list individual instance IDs,
--   you can instead send commands to a fleet of instances using the
--   Targets parameter, which accepts EC2 tags. For more information about
--   how to use Targets, see <a>Sending Commands to a Fleet</a> .
scInstanceIds :: Lens' SendCommand [Text]

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
scOutputS3Region :: Lens' SendCommand (Maybe Text)

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

-- | The required and optional parameters specified in the 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)

-- | The SSM document version to use in the request. You can specify
--   Default, Latest, or a specific version number.
scDocumentVersion :: Lens' SendCommand (Maybe Text)

-- | If this time is reached and the command has not already started
--   executing, it will not run.
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 MaxConcurrency, see <a>Using Concurrency Controls</a>
--   .
scMaxConcurrency :: Lens' SendCommand (Maybe Text)

-- | Required. The name of the Systems Manager document to execute. This
--   can be a 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 Control.DeepSeq.NFData Network.AWS.SSM.SendCommand.SendCommandResponse
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


-- | Sends a signal to an Automation execution to change the current
--   behavior or status of the execution.
module Network.AWS.SSM.SendAutomationSignal

-- | Creates a value of <a>SendAutomationSignal</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>sasPayload</a> - The data sent with the signal. The data schema
--   depends on the type of signal used in the request.</li>
--   <li><a>sasAutomationExecutionId</a> - The unique identifier for an
--   existing Automation execution that you want to send the signal
--   to.</li>
--   <li><a>sasSignalType</a> - The type of signal. Valid signal types
--   include the following: Approve and Reject</li>
--   </ul>
sendAutomationSignal :: Text -> SignalType -> SendAutomationSignal

-- | <i>See:</i> <a>sendAutomationSignal</a> smart constructor.
data SendAutomationSignal

-- | The data sent with the signal. The data schema depends on the type of
--   signal used in the request.
sasPayload :: Lens' SendAutomationSignal (HashMap Text [Text])

-- | The unique identifier for an existing Automation execution that you
--   want to send the signal to.
sasAutomationExecutionId :: Lens' SendAutomationSignal Text

-- | The type of signal. Valid signal types include the following: Approve
--   and Reject
sasSignalType :: Lens' SendAutomationSignal SignalType

-- | Creates a value of <a>SendAutomationSignalResponse</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>sasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
sendAutomationSignalResponse :: Int -> SendAutomationSignalResponse

-- | <i>See:</i> <a>sendAutomationSignalResponse</a> smart constructor.
data SendAutomationSignalResponse

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


-- | 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. Use the ID of the resource. Here are some examples:
--   ManagedInstance: mi-012345abcde MaintenanceWindow: mw-012345abcde
--   PatchBaseline: pb-012345abcde For the Document and Parameter values,
--   use the name of the resource.</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. Use the ID of the
--   resource. Here are some examples: ManagedInstance: mi-012345abcde
--   MaintenanceWindow: mw-012345abcde PatchBaseline: pb-012345abcde For
--   the Document and Parameter values, use the name of the resource.
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 Control.DeepSeq.NFData Network.AWS.SSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
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


-- | 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>rtwmwTaskInvocationParameters</a> - The parameters that the
--   task should use during execution. Populate only the fields that match
--   the task type. All other fields should be empty.</li>
--   <li><a>rtwmwName</a> - An optional name for the task.</li>
--   <li><a>rtwmwLoggingInfo</a> - A structure containing information about
--   an Amazon S3 bucket to write instance-level logs to.</li>
--   <li><a>rtwmwDescription</a> - An optional description for the
--   task.</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 Maintenance
--   Window targets). Specify instances using the following format:
--   <tt>Key=InstanceIds,Values=<a>instance-id-1</a>,<a>instance-id-2</a></tt>
--   Specify Maintenance Window targets using the following format:
--   <tt>Key=<a>WindowTargetIds</a>,Values=<a>window-target-id-1</a>,<a>window-target-id-2</a></tt></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)

-- | The parameters that the task should use during execution. Populate
--   only the fields that match the task type. All other fields should be
--   empty.
rtwmwTaskInvocationParameters :: Lens' RegisterTaskWithMaintenanceWindow (Maybe MaintenanceWindowTaskInvocationParameters)

-- | An optional name for the task.
rtwmwName :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Text)

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

-- | An optional description for the task.
rtwmwDescription :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Text)

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

-- | The targets (either instances or Maintenance Window targets). Specify
--   instances using the following format:
--   <tt>Key=InstanceIds,Values=<a>instance-id-1</a>,<a>instance-id-2</a></tt>
--   Specify Maintenance Window targets using the following format:
--   <tt>Key=<a>WindowTargetIds</a>,Values=<a>window-target-id-1</a>,<a>window-target-id-2</a></tt>
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.Classes.Eq Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.RegisterTaskWithMaintenanceWindow.RegisterTaskWithMaintenanceWindowResponse
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


-- | 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>rName</a> - An optional name for the target.</li>
--   <li><a>rDescription</a> - An optional description for the target.</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). Specify
--   instances using the following format:
--   <tt>Key=InstanceIds,Values=<a>instance-id-1</a>,<a>instance-id-2</a></tt>
--   Specify tags using either of the following formats:
--   <tt>Key=tag:<a>tag-key</a>,Values=<a>tag-value-1</a>,<a>tag-value-2</a></tt>
--   <tt>Key=tag-key,Values=<a>tag-key-1</a>,<a>tag-key-2</a></tt></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)

-- | An optional name for the target.
rName :: Lens' RegisterTargetWithMaintenanceWindow (Maybe Text)

-- | An optional description for the target.
rDescription :: 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). Specify instances using the
--   following format:
--   <tt>Key=InstanceIds,Values=<a>instance-id-1</a>,<a>instance-id-2</a></tt>
--   Specify tags using either of the following formats:
--   <tt>Key=tag:<a>tag-key</a>,Values=<a>tag-value-1</a>,<a>tag-value-2</a></tt>
--   <tt>Key=tag-key,Values=<a>tag-key-1</a>,<a>tag-key-2</a></tt>
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.Classes.Eq Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.RegisterTargetWithMaintenanceWindow.RegisterTargetWithMaintenanceWindowResponse
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


-- | Registers a patch baseline for a patch group.
module Network.AWS.SSM.RegisterPatchBaselineForPatchGroup

-- | Creates a value of <a>RegisterPatchBaselineForPatchGroup</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>rpbfpgBaselineId</a> - The ID of the patch baseline to register
--   the patch group with.</li>
--   <li><a>rpbfpgPatchGroup</a> - The name of the patch group that should
--   be registered with the patch baseline.</li>
--   </ul>
registerPatchBaselineForPatchGroup :: Text -> Text -> RegisterPatchBaselineForPatchGroup

-- | <i>See:</i> <a>registerPatchBaselineForPatchGroup</a> smart
--   constructor.
data RegisterPatchBaselineForPatchGroup

-- | The ID of the patch baseline to register the patch group with.
rpbfpgBaselineId :: Lens' RegisterPatchBaselineForPatchGroup Text

-- | The name of the patch group that should be registered with the patch
--   baseline.
rpbfpgPatchGroup :: Lens' RegisterPatchBaselineForPatchGroup Text

-- | Creates a value of <a>RegisterPatchBaselineForPatchGroupResponse</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>rpbfpgrsBaselineId</a> - The ID of the patch baseline the patch
--   group was registered with.</li>
--   <li><a>rpbfpgrsPatchGroup</a> - The name of the patch group registered
--   with the patch baseline.</li>
--   <li><a>rpbfpgrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
registerPatchBaselineForPatchGroupResponse :: Int -> RegisterPatchBaselineForPatchGroupResponse

-- | <i>See:</i> <a>registerPatchBaselineForPatchGroupResponse</a> smart
--   constructor.
data RegisterPatchBaselineForPatchGroupResponse

-- | The ID of the patch baseline the patch group was registered with.
rpbfpgrsBaselineId :: Lens' RegisterPatchBaselineForPatchGroupResponse (Maybe Text)

-- | The name of the patch group registered with the patch baseline.
rpbfpgrsPatchGroup :: Lens' RegisterPatchBaselineForPatchGroupResponse (Maybe Text)

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


-- | Defines the default patch baseline.
module Network.AWS.SSM.RegisterDefaultPatchBaseline

-- | Creates a value of <a>RegisterDefaultPatchBaseline</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>rdpbBaselineId</a> - The ID of the patch baseline that should
--   be the default patch baseline.</li>
--   </ul>
registerDefaultPatchBaseline :: Text -> RegisterDefaultPatchBaseline

-- | <i>See:</i> <a>registerDefaultPatchBaseline</a> smart constructor.
data RegisterDefaultPatchBaseline

-- | The ID of the patch baseline that should be the default patch
--   baseline.
rdpbBaselineId :: Lens' RegisterDefaultPatchBaseline Text

-- | Creates a value of <a>RegisterDefaultPatchBaselineResponse</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>rdpbrsBaselineId</a> - The ID of the default patch
--   baseline.</li>
--   <li><a>rdpbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
registerDefaultPatchBaselineResponse :: Int -> RegisterDefaultPatchBaselineResponse

-- | <i>See:</i> <a>registerDefaultPatchBaselineResponse</a> smart
--   constructor.
data RegisterDefaultPatchBaselineResponse

-- | The ID of the default patch baseline.
rdpbrsBaselineId :: Lens' RegisterDefaultPatchBaselineResponse (Maybe Text)

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


-- | Add a parameter 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 KMS Key ID that you want to use to encrypt a
--   parameter when you choose the SecureString data type. If you don't
--   specify a key ID, the system uses the default key associated with your
--   AWS account.</li>
--   <li><a>ppAllowedPattern</a> - A regular expression used to validate
--   the parameter value. For example, for String types with values
--   restricted to numbers, you can specify the following:
--   AllowedPattern=^d+$</li>
--   <li><a>ppOverwrite</a> - Overwrite an existing parameter. If not
--   specified, will default to "false".</li>
--   <li><a>ppDescription</a> - Information about the parameter that you
--   want to add to the system. <i>Important:</i> Do not enter personally
--   identifiable information in this field.</li>
--   <li><a>ppName</a> - The fully qualified name of the parameter that you
--   want to add to the system. The fully qualified name includes the
--   complete hierarchy of the parameter path and name. For example:
--   <tt><i>Dev</i>DBServer<i>MySQL</i>db-string13</tt> For information
--   about parameter name requirements and restrictions, see <a>About
--   Creating Systems Manager Parameters</a> in the <i>AWS Systems Manager
--   User Guide</i> .</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 KMS Key ID that you want to use to encrypt a parameter when you
--   choose the SecureString data type. If you don't specify a key ID, the
--   system uses the default key associated with your AWS account.
ppKeyId :: Lens' PutParameter (Maybe Text)

-- | A regular expression used to validate the parameter value. For
--   example, for String types with values restricted to numbers, you can
--   specify the following: AllowedPattern=^d+$
ppAllowedPattern :: Lens' PutParameter (Maybe Text)

-- | Overwrite an existing parameter. If not specified, will default to
--   "false".
ppOverwrite :: Lens' PutParameter (Maybe Bool)

-- | Information about the parameter that you want to add to the system.
--   <i>Important:</i> Do not enter personally identifiable information in
--   this field.
ppDescription :: Lens' PutParameter (Maybe Text)

-- | The fully qualified name of the parameter that you want to add to the
--   system. The fully qualified name includes the complete hierarchy of
--   the parameter path and name. For example:
--   <tt><i>Dev</i>DBServer<i>MySQL</i>db-string13</tt> For information
--   about parameter name requirements and restrictions, see <a>About
--   Creating Systems Manager Parameters</a> in the <i>AWS Systems Manager
--   User Guide</i> .
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>pprsVersion</a> - The new version number of a parameter. If you
--   edit a parameter value, Parameter Store automatically creates a new
--   version and assigns this new version a unique ID. You can reference a
--   parameter version ID in API actions or in Systems Manager documents
--   (SSM documents). By default, if you don't specify a specific version,
--   the system returns the latest parameter value when a parameter is
--   called.</li>
--   <li><a>pprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putParameterResponse :: Int -> PutParameterResponse

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

-- | The new version number of a parameter. If you edit a parameter value,
--   Parameter Store automatically creates a new version and assigns this
--   new version a unique ID. You can reference a parameter version ID in
--   API actions or in Systems Manager documents (SSM documents). By
--   default, if you don't specify a specific version, the system returns
--   the latest parameter value when a parameter is called.
pprsVersion :: Lens' PutParameterResponse (Maybe Integer)

-- | <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 Control.DeepSeq.NFData Network.AWS.SSM.PutParameter.PutParameterResponse
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


-- | 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>pirsMessage</a> - Information about the request.</li>
--   <li><a>pirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putInventoryResponse :: Int -> PutInventoryResponse

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

-- | Information about the request.
pirsMessage :: Lens' PutInventoryResponse (Maybe Text)

-- | <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 Control.DeepSeq.NFData Network.AWS.SSM.PutInventory.PutInventoryResponse
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


-- | Registers a compliance type and other compliance details on a
--   designated resource. This action lets you register custom compliance
--   details with a resource. This call overwrites existing compliance
--   information on the resource, so you must provide a full list of
--   compliance items each time that you send the request.
--   
--   ComplianceType can be one of the following:
--   
--   <ul>
--   <li>ExecutionId: The execution ID when the patch, association, or
--   custom compliance item was applied.</li>
--   <li>ExecutionType: Specify patch, association, or
--   Custom:<tt>string</tt> .</li>
--   <li>ExecutionTime. The time the patch, association, or custom
--   compliance item was applied to the instance.</li>
--   <li>Id: The patch, association, or custom compliance ID.</li>
--   <li>Title: A title.</li>
--   <li>Status: The status of the compliance item. For example,
--   <tt>approved</tt> for patches, or <tt>Failed</tt> for
--   associations.</li>
--   <li>Severity: A patch severity. For example, <tt>critical</tt> .</li>
--   <li>DocumentName: A SSM document name. For example,
--   AWS-RunPatchBaseline.</li>
--   <li>DocumentVersion: An SSM document version number. For example,
--   4.</li>
--   <li>Classification: A patch classification. For example, <tt>security
--   updates</tt> .</li>
--   <li>PatchBaselineId: A patch baseline ID.</li>
--   <li>PatchSeverity: A patch severity. For example, <tt>Critical</tt>
--   .</li>
--   <li>PatchState: A patch state. For example,
--   <tt>InstancesWithFailedPatches</tt> .</li>
--   <li>PatchGroup: The name of a patch group.</li>
--   <li>InstalledTime: The time the association, patch, or custom
--   compliance item was applied to the resource. Specify the time by using
--   the following format: yyyy-MM-dd'T'HH:mm:ss'Z'</li>
--   </ul>
module Network.AWS.SSM.PutComplianceItems

-- | Creates a value of <a>PutComplianceItems</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>pciItemContentHash</a> - MD5 or SHA-256 content hash. The
--   content hash is used to determine if existing information should be
--   overwritten or ignored. If the content hashes match, the request to
--   put compliance information is ignored.</li>
--   <li><a>pciResourceId</a> - Specify an ID for this resource. For a
--   managed instance, this is the instance ID.</li>
--   <li><a>pciResourceType</a> - Specify the type of resource.
--   <tt>ManagedInstance</tt> is currently the only supported resource
--   type.</li>
--   <li><a>pciComplianceType</a> - Specify the compliance type. For
--   example, specify Association (for a State Manager association), Patch,
--   or Custom:<tt>string</tt> .</li>
--   <li><a>pciExecutionSummary</a> - A summary of the call execution that
--   includes an execution ID, the type of execution (for example,
--   <tt>Command</tt> ), and the date/time of the execution using a
--   datetime object that is saved in the following format:
--   yyyy-MM-dd'T'HH:mm:ss'Z'.</li>
--   <li><a>pciItems</a> - Information about the compliance as defined by
--   the resource type. For example, for a patch compliance type,
--   <tt>Items</tt> includes information about the PatchSeverity,
--   Classification, etc.</li>
--   </ul>
putComplianceItems :: Text -> Text -> Text -> ComplianceExecutionSummary -> PutComplianceItems

-- | <i>See:</i> <a>putComplianceItems</a> smart constructor.
data PutComplianceItems

-- | MD5 or SHA-256 content hash. The content hash is used to determine if
--   existing information should be overwritten or ignored. If the content
--   hashes match, the request to put compliance information is ignored.
pciItemContentHash :: Lens' PutComplianceItems (Maybe Text)

-- | Specify an ID for this resource. For a managed instance, this is the
--   instance ID.
pciResourceId :: Lens' PutComplianceItems Text

-- | Specify the type of resource. <tt>ManagedInstance</tt> is currently
--   the only supported resource type.
pciResourceType :: Lens' PutComplianceItems Text

-- | Specify the compliance type. For example, specify Association (for a
--   State Manager association), Patch, or Custom:<tt>string</tt> .
pciComplianceType :: Lens' PutComplianceItems Text

-- | A summary of the call execution that includes an execution ID, the
--   type of execution (for example, <tt>Command</tt> ), and the date/time
--   of the execution using a datetime object that is saved in the
--   following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
pciExecutionSummary :: Lens' PutComplianceItems ComplianceExecutionSummary

-- | Information about the compliance as defined by the resource type. For
--   example, for a patch compliance type, <tt>Items</tt> includes
--   information about the PatchSeverity, Classification, etc.
pciItems :: Lens' PutComplianceItems [ComplianceItemEntry]

-- | Creates a value of <a>PutComplianceItemsResponse</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>pcirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putComplianceItemsResponse :: Int -> PutComplianceItemsResponse

-- | <i>See:</i> <a>putComplianceItemsResponse</a> smart constructor.
data PutComplianceItemsResponse

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


-- | Shares a Systems Manager document publicly or privately. If you share
--   a document privately, you must specify the AWS user account IDs for
--   those people who can use the document. If you share a document
--   publicly, you must specify <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 Control.DeepSeq.NFData Network.AWS.SSM.ModifyDocumentPermission.ModifyDocumentPermissionResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.ListTagsForResource.ListTagsForResourceResponse
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


-- | Lists your resource data sync configurations. Includes information
--   about the last time a sync attempted to start, the last sync status,
--   and the last time a sync successfully completed.
--   
--   The number of sync configurations might be too large to return using a
--   single call to <tt>ListResourceDataSync</tt> . You can limit the
--   number of sync configurations returned by using the
--   <tt>MaxResults</tt> parameter. To determine whether there are more
--   sync configurations to list, check the value of <tt>NextToken</tt> in
--   the output. If there are more sync configurations to list, you can
--   request them by specifying the <tt>NextToken</tt> returned in the call
--   to the parameter of a subsequent call.
module Network.AWS.SSM.ListResourceDataSync

-- | Creates a value of <a>ListResourceDataSync</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>lrdsNextToken</a> - A token to start the list. Use this token
--   to get the next set of results.</li>
--   <li><a>lrdsMaxResults</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>
listResourceDataSync :: ListResourceDataSync

-- | <i>See:</i> <a>listResourceDataSync</a> smart constructor.
data ListResourceDataSync

-- | A token to start the list. Use this token to get the next set of
--   results.
lrdsNextToken :: Lens' ListResourceDataSync (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.
lrdsMaxResults :: Lens' ListResourceDataSync (Maybe Natural)

-- | Creates a value of <a>ListResourceDataSyncResponse</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>lrdsrsResourceDataSyncItems</a> - A list of your current
--   Resource Data Sync configurations and their statuses.</li>
--   <li><a>lrdsrsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>lrdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listResourceDataSyncResponse :: Int -> ListResourceDataSyncResponse

-- | <i>See:</i> <a>listResourceDataSyncResponse</a> smart constructor.
data ListResourceDataSyncResponse

-- | A list of your current Resource Data Sync configurations and their
--   statuses.
lrdsrsResourceDataSyncItems :: Lens' ListResourceDataSyncResponse [ResourceDataSyncItem]

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
lrdsrsNextToken :: Lens' ListResourceDataSyncResponse (Maybe Text)

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


-- | Returns a resource-level summary count. The summary includes
--   information about compliant and non-compliant statuses and detailed
--   compliance-item severity counts, according to the filter criteria you
--   specify.
module Network.AWS.SSM.ListResourceComplianceSummaries

-- | Creates a value of <a>ListResourceComplianceSummaries</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>lrcsFilters</a> - One or more filters. Use a filter to return a
--   more specific list of results.</li>
--   <li><a>lrcsNextToken</a> - A token to start the list. Use this token
--   to get the next set of results.</li>
--   <li><a>lrcsMaxResults</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>
listResourceComplianceSummaries :: ListResourceComplianceSummaries

-- | <i>See:</i> <a>listResourceComplianceSummaries</a> smart constructor.
data ListResourceComplianceSummaries

-- | One or more filters. Use a filter to return a more specific list of
--   results.
lrcsFilters :: Lens' ListResourceComplianceSummaries [ComplianceStringFilter]

-- | A token to start the list. Use this token to get the next set of
--   results.
lrcsNextToken :: Lens' ListResourceComplianceSummaries (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.
lrcsMaxResults :: Lens' ListResourceComplianceSummaries (Maybe Natural)

-- | Creates a value of <a>ListResourceComplianceSummariesResponse</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>lrcsrsResourceComplianceSummaryItems</a> - A summary count for
--   specified or targeted managed instances. Summary count includes
--   information about compliant and non-compliant State Manager
--   associations, patch status, or custom items according to the filter
--   criteria that you specify.</li>
--   <li><a>lrcsrsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>lrcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listResourceComplianceSummariesResponse :: Int -> ListResourceComplianceSummariesResponse

-- | <i>See:</i> <a>listResourceComplianceSummariesResponse</a> smart
--   constructor.
data ListResourceComplianceSummariesResponse

-- | A summary count for specified or targeted managed instances. Summary
--   count includes information about compliant and non-compliant State
--   Manager associations, patch status, or custom items according to the
--   filter criteria that you specify.
lrcsrsResourceComplianceSummaryItems :: Lens' ListResourceComplianceSummariesResponse [ResourceComplianceSummaryItem]

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
lrcsrsNextToken :: Lens' ListResourceComplianceSummariesResponse (Maybe Text)

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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.ListInventoryEntries.ListInventoryEntriesResponse
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


-- | Describes one or more of your Systems Manager 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>ldFilters</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))

-- | One or more filters. Use a filter to return a more specific list of
--   results.
ldFilters :: Lens' ListDocuments [DocumentKeyValuesFilter]

-- | 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 Systems Manager
--   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 Systems Manager 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.Types.AWSRequest Network.AWS.SSM.ListDocuments.ListDocuments
instance Control.DeepSeq.NFData Network.AWS.SSM.ListDocuments.ListDocumentsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.ListDocumentVersions.ListDocumentVersionsResponse
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


-- | Returns a summary count of compliant and non-compliant resources for a
--   compliance type. For example, this call can return State Manager
--   associations, patches, or custom compliance types according to the
--   filter criteria that you specify.
module Network.AWS.SSM.ListComplianceSummaries

-- | Creates a value of <a>ListComplianceSummaries</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>lcsFilters</a> - One or more compliance or inventory filters.
--   Use a filter to return a more specific list of results.</li>
--   <li><a>lcsNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>lcsMaxResults</a> - The maximum number of items to return for
--   this call. Currently, you can specify null or 50. The call also
--   returns a token that you can specify in a subsequent call to get the
--   next set of results.</li>
--   </ul>
listComplianceSummaries :: ListComplianceSummaries

-- | <i>See:</i> <a>listComplianceSummaries</a> smart constructor.
data ListComplianceSummaries

-- | One or more compliance or inventory filters. Use a filter to return a
--   more specific list of results.
lcsFilters :: Lens' ListComplianceSummaries [ComplianceStringFilter]

-- | A token to start the list. Use this token to get the next set of
--   results.
lcsNextToken :: Lens' ListComplianceSummaries (Maybe Text)

-- | The maximum number of items to return for this call. Currently, you
--   can specify null or 50. The call also returns a token that you can
--   specify in a subsequent call to get the next set of results.
lcsMaxResults :: Lens' ListComplianceSummaries (Maybe Natural)

-- | Creates a value of <a>ListComplianceSummariesResponse</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>lcsrsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>lcsrsComplianceSummaryItems</a> - A list of compliant and
--   non-compliant summary counts based on compliance types. For example,
--   this call returns State Manager associations, patches, or custom
--   compliance types according to the filter criteria that you
--   specified.</li>
--   <li><a>lcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listComplianceSummariesResponse :: Int -> ListComplianceSummariesResponse

-- | <i>See:</i> <a>listComplianceSummariesResponse</a> smart constructor.
data ListComplianceSummariesResponse

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
lcsrsNextToken :: Lens' ListComplianceSummariesResponse (Maybe Text)

-- | A list of compliant and non-compliant summary counts based on
--   compliance types. For example, this call returns State Manager
--   associations, patches, or custom compliance types according to the
--   filter criteria that you specified.
lcsrsComplianceSummaryItems :: Lens' ListComplianceSummariesResponse [ComplianceSummaryItem]

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


-- | For a specified resource ID, this API action returns a list of
--   compliance statuses for different resource types. Currently, you can
--   only specify one resource ID per call. List results depend on the
--   criteria specified in the filter.
module Network.AWS.SSM.ListComplianceItems

-- | Creates a value of <a>ListComplianceItems</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>lResourceIds</a> - The ID for the resources from which to get
--   compliance information. Currently, you can only specify one resource
--   ID.</li>
--   <li><a>lFilters</a> - One or more compliance filters. Use a filter to
--   return a more specific list of results.</li>
--   <li><a>lNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>lMaxResults</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>lResourceTypes</a> - The type of resource from which to get
--   compliance information. Currently, the only supported resource type is
--   <tt>ManagedInstance</tt> .</li>
--   </ul>
listComplianceItems :: ListComplianceItems

-- | <i>See:</i> <a>listComplianceItems</a> smart constructor.
data ListComplianceItems

-- | The ID for the resources from which to get compliance information.
--   Currently, you can only specify one resource ID.
lResourceIds :: Lens' ListComplianceItems (Maybe (NonEmpty Text))

-- | One or more compliance filters. Use a filter to return a more specific
--   list of results.
lFilters :: Lens' ListComplianceItems [ComplianceStringFilter]

-- | A token to start the list. Use this token to get the next set of
--   results.
lNextToken :: Lens' ListComplianceItems (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.
lMaxResults :: Lens' ListComplianceItems (Maybe Natural)

-- | The type of resource from which to get compliance information.
--   Currently, the only supported resource type is
--   <tt>ManagedInstance</tt> .
lResourceTypes :: Lens' ListComplianceItems (Maybe (NonEmpty Text))

-- | Creates a value of <a>ListComplianceItemsResponse</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>lcirsComplianceItems</a> - A list of compliance information for
--   the specified resource ID.</li>
--   <li><a>lcirsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>lcirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listComplianceItemsResponse :: Int -> ListComplianceItemsResponse

-- | <i>See:</i> <a>listComplianceItemsResponse</a> smart constructor.
data ListComplianceItemsResponse

-- | A list of compliance information for the specified resource ID.
lcirsComplianceItems :: Lens' ListComplianceItemsResponse [ComplianceItem]

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
lcirsNextToken :: Lens' ListComplianceItemsResponse (Maybe Text)

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


-- | 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.Types.AWSRequest Network.AWS.SSM.ListCommands.ListCommands
instance Control.DeepSeq.NFData Network.AWS.SSM.ListCommands.ListCommandsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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>lrsNextToken</a> - (Optional) The token for the next set of
--   items to return. (You received this token from a previous call.)</li>
--   <li><a>lrsCommandInvocations</a> - (Optional) A list of all
--   invocations.</li>
--   <li><a>lrsResponseStatus</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.)
lrsNextToken :: Lens' ListCommandInvocationsResponse (Maybe Text)

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

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lrsResponseStatus :: 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.Types.AWSRequest Network.AWS.SSM.ListCommandInvocations.ListCommandInvocations
instance Control.DeepSeq.NFData Network.AWS.SSM.ListCommandInvocations.ListCommandInvocationsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Lists the associations for the specified Systems Manager 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.Types.AWSRequest Network.AWS.SSM.ListAssociations.ListAssociations
instance Control.DeepSeq.NFData Network.AWS.SSM.ListAssociations.ListAssociationsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Retrieves all versions of an association for a specific association
--   ID.
module Network.AWS.SSM.ListAssociationVersions

-- | Creates a value of <a>ListAssociationVersions</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>lavNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>lavMaxResults</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>lavAssociationId</a> - The association ID for which you want to
--   view all versions.</li>
--   </ul>
listAssociationVersions :: Text -> ListAssociationVersions

-- | <i>See:</i> <a>listAssociationVersions</a> smart constructor.
data ListAssociationVersions

-- | A token to start the list. Use this token to get the next set of
--   results.
lavNextToken :: Lens' ListAssociationVersions (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.
lavMaxResults :: Lens' ListAssociationVersions (Maybe Natural)

-- | The association ID for which you want to view all versions.
lavAssociationId :: Lens' ListAssociationVersions Text

-- | Creates a value of <a>ListAssociationVersionsResponse</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>lavrsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>lavrsAssociationVersions</a> - Information about all versions
--   of the association for the specified association ID.</li>
--   <li><a>lavrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAssociationVersionsResponse :: Int -> ListAssociationVersionsResponse

-- | <i>See:</i> <a>listAssociationVersionsResponse</a> smart constructor.
data ListAssociationVersionsResponse

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
lavrsNextToken :: Lens' ListAssociationVersionsResponse (Maybe Text)

-- | Information about all versions of the association for the specified
--   association ID.
lavrsAssociationVersions :: Lens' ListAssociationVersionsResponse (Maybe (NonEmpty AssociationVersionInfo))

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


-- | Retrieves the patch baseline that should be used for the specified
--   patch group.
module Network.AWS.SSM.GetPatchBaselineForPatchGroup

-- | Creates a value of <a>GetPatchBaselineForPatchGroup</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>gpbfpgOperatingSystem</a> - Returns he operating system rule
--   specified for patch groups using the patch baseline.</li>
--   <li><a>gpbfpgPatchGroup</a> - The name of the patch group whose patch
--   baseline should be retrieved.</li>
--   </ul>
getPatchBaselineForPatchGroup :: Text -> GetPatchBaselineForPatchGroup

-- | <i>See:</i> <a>getPatchBaselineForPatchGroup</a> smart constructor.
data GetPatchBaselineForPatchGroup

-- | Returns he operating system rule specified for patch groups using the
--   patch baseline.
gpbfpgOperatingSystem :: Lens' GetPatchBaselineForPatchGroup (Maybe OperatingSystem)

-- | The name of the patch group whose patch baseline should be retrieved.
gpbfpgPatchGroup :: Lens' GetPatchBaselineForPatchGroup Text

-- | Creates a value of <a>GetPatchBaselineForPatchGroupResponse</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>gpbfpgrsOperatingSystem</a> - The operating system rule
--   specified for patch groups using the patch baseline.</li>
--   <li><a>gpbfpgrsBaselineId</a> - The ID of the patch baseline that
--   should be used for the patch group.</li>
--   <li><a>gpbfpgrsPatchGroup</a> - The name of the patch group.</li>
--   <li><a>gpbfpgrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getPatchBaselineForPatchGroupResponse :: Int -> GetPatchBaselineForPatchGroupResponse

-- | <i>See:</i> <a>getPatchBaselineForPatchGroupResponse</a> smart
--   constructor.
data GetPatchBaselineForPatchGroupResponse

-- | The operating system rule specified for patch groups using the patch
--   baseline.
gpbfpgrsOperatingSystem :: Lens' GetPatchBaselineForPatchGroupResponse (Maybe OperatingSystem)

-- | The ID of the patch baseline that should be used for the patch group.
gpbfpgrsBaselineId :: Lens' GetPatchBaselineForPatchGroupResponse (Maybe Text)

-- | The name of the patch group.
gpbfpgrsPatchGroup :: Lens' GetPatchBaselineForPatchGroupResponse (Maybe Text)

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


-- | Retrieves information about a patch baseline.
module Network.AWS.SSM.GetPatchBaseline

-- | Creates a value of <a>GetPatchBaseline</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>gpbBaselineId</a> - The ID of the patch baseline to
--   retrieve.</li>
--   </ul>
getPatchBaseline :: Text -> GetPatchBaseline

-- | <i>See:</i> <a>getPatchBaseline</a> smart constructor.
data GetPatchBaseline

-- | The ID of the patch baseline to retrieve.
gpbBaselineId :: Lens' GetPatchBaseline Text

-- | Creates a value of <a>GetPatchBaselineResponse</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>gpbrsApprovalRules</a> - A set of rules used to include patches
--   in the baseline.</li>
--   <li><a>gpbrsOperatingSystem</a> - Returns the operating system
--   specified for the patch baseline.</li>
--   <li><a>gpbrsGlobalFilters</a> - A set of global filters used to
--   exclude patches from the baseline.</li>
--   <li><a>gpbrsApprovedPatchesComplianceLevel</a> - Returns the specified
--   compliance severity level for approved patches in the patch
--   baseline.</li>
--   <li><a>gpbrsApprovedPatches</a> - A list of explicitly approved
--   patches for the baseline.</li>
--   <li><a>gpbrsApprovedPatchesEnableNonSecurity</a> - Indicates whether
--   the list of approved patches includes non-security updates that should
--   be applied to the instances. The default value is <tt>false</tt>.
--   Applies to Linux instances only.</li>
--   <li><a>gpbrsRejectedPatches</a> - A list of explicitly rejected
--   patches for the baseline.</li>
--   <li><a>gpbrsSources</a> - Information about the patches to use to
--   update the instances, including target operating systems and source
--   repositories. Applies to Linux instances only.</li>
--   <li><a>gpbrsCreatedDate</a> - The date the patch baseline was
--   created.</li>
--   <li><a>gpbrsName</a> - The name of the patch baseline.</li>
--   <li><a>gpbrsPatchGroups</a> - Patch groups included in the patch
--   baseline.</li>
--   <li><a>gpbrsModifiedDate</a> - The date the patch baseline was last
--   modified.</li>
--   <li><a>gpbrsDescription</a> - A description of the patch
--   baseline.</li>
--   <li><a>gpbrsBaselineId</a> - The ID of the retrieved patch
--   baseline.</li>
--   <li><a>gpbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getPatchBaselineResponse :: Int -> GetPatchBaselineResponse

-- | <i>See:</i> <a>getPatchBaselineResponse</a> smart constructor.
data GetPatchBaselineResponse

-- | A set of rules used to include patches in the baseline.
gpbrsApprovalRules :: Lens' GetPatchBaselineResponse (Maybe PatchRuleGroup)

-- | Returns the operating system specified for the patch baseline.
gpbrsOperatingSystem :: Lens' GetPatchBaselineResponse (Maybe OperatingSystem)

-- | A set of global filters used to exclude patches from the baseline.
gpbrsGlobalFilters :: Lens' GetPatchBaselineResponse (Maybe PatchFilterGroup)

-- | Returns the specified compliance severity level for approved patches
--   in the patch baseline.
gpbrsApprovedPatchesComplianceLevel :: Lens' GetPatchBaselineResponse (Maybe PatchComplianceLevel)

-- | A list of explicitly approved patches for the baseline.
gpbrsApprovedPatches :: Lens' GetPatchBaselineResponse [Text]

-- | Indicates whether the list of approved patches includes non-security
--   updates that should be applied to the instances. The default value is
--   <tt>false</tt>. Applies to Linux instances only.
gpbrsApprovedPatchesEnableNonSecurity :: Lens' GetPatchBaselineResponse (Maybe Bool)

-- | A list of explicitly rejected patches for the baseline.
gpbrsRejectedPatches :: Lens' GetPatchBaselineResponse [Text]

-- | Information about the patches to use to update the instances,
--   including target operating systems and source repositories. Applies to
--   Linux instances only.
gpbrsSources :: Lens' GetPatchBaselineResponse [PatchSource]

-- | The date the patch baseline was created.
gpbrsCreatedDate :: Lens' GetPatchBaselineResponse (Maybe UTCTime)

-- | The name of the patch baseline.
gpbrsName :: Lens' GetPatchBaselineResponse (Maybe Text)

-- | Patch groups included in the patch baseline.
gpbrsPatchGroups :: Lens' GetPatchBaselineResponse [Text]

-- | The date the patch baseline was last modified.
gpbrsModifiedDate :: Lens' GetPatchBaselineResponse (Maybe UTCTime)

-- | A description of the patch baseline.
gpbrsDescription :: Lens' GetPatchBaselineResponse (Maybe Text)

-- | The ID of the retrieved patch baseline.
gpbrsBaselineId :: Lens' GetPatchBaselineResponse (Maybe Text)

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


-- | Retrieve parameters in a specific hierarchy. For more information, see
--   <a>Working with Systems Manager Parameters</a> .
--   
--   Request results are returned on a best-effort basis. If you specify
--   <tt>MaxResults</tt> in the request, the response includes information
--   up to the limit specified. The number of items returned, however, can
--   be between zero and the value of <tt>MaxResults</tt> . If the service
--   reaches an internal limit while processing the results, it stops the
--   operation and returns the matching values up to that point and a
--   <tt>NextToken</tt> . You can specify the <tt>NextToken</tt> in a
--   subsequent call to get the next set of results.
--   
--   This operation returns paginated results.
module Network.AWS.SSM.GetParametersByPath

-- | Creates a value of <a>GetParametersByPath</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>gpbpWithDecryption</a> - Retrieve all parameters in a hierarchy
--   with their value decrypted.</li>
--   <li><a>gpbpParameterFilters</a> - Filters to limit the request
--   results.</li>
--   <li><a>gpbpNextToken</a> - A token to start the list. Use this token
--   to get the next set of results.</li>
--   <li><a>gpbpRecursive</a> - Retrieve all parameters within a hierarchy.
--   <i>Important:</i> If a user has access to a path, then the user can
--   access all levels of that path. For example, if a user has permission
--   to access path <i>a, then the user can also access </i>a<i>b. Even if
--   a user has explicitly been denied access in IAM for parameter </i>a,
--   they can still call the GetParametersByPath API action recursively and
--   view <i>a</i>b.</li>
--   <li><a>gpbpMaxResults</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>gpbpPath</a> - The hierarchy for the parameter. Hierarchies
--   start with a forward slash (<i>) and end with the parameter name. A
--   hierarchy can have a maximum of 15 levels. Here is an example of a
--   hierarchy: @</i>Finance<i>Prod</i>IAD<i>WinServ2016</i>license33@</li>
--   </ul>
getParametersByPath :: Text -> GetParametersByPath

-- | <i>See:</i> <a>getParametersByPath</a> smart constructor.
data GetParametersByPath

-- | Retrieve all parameters in a hierarchy with their value decrypted.
gpbpWithDecryption :: Lens' GetParametersByPath (Maybe Bool)

-- | Filters to limit the request results.
gpbpParameterFilters :: Lens' GetParametersByPath [ParameterStringFilter]

-- | A token to start the list. Use this token to get the next set of
--   results.
gpbpNextToken :: Lens' GetParametersByPath (Maybe Text)

-- | Retrieve all parameters within a hierarchy. <i>Important:</i> If a
--   user has access to a path, then the user can access all levels of that
--   path. For example, if a user has permission to access path <i>a, then
--   the user can also access </i>a<i>b. Even if a user has explicitly been
--   denied access in IAM for parameter </i>a, they can still call the
--   GetParametersByPath API action recursively and view <i>a</i>b.
gpbpRecursive :: Lens' GetParametersByPath (Maybe Bool)

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

-- | The hierarchy for the parameter. Hierarchies start with a forward
--   slash (<i>) and end with the parameter name. A hierarchy can have a
--   maximum of 15 levels. Here is an example of a hierarchy:
--   @</i>Finance<i>Prod</i>IAD<i>WinServ2016</i>license33@
gpbpPath :: Lens' GetParametersByPath Text

-- | Creates a value of <a>GetParametersByPathResponse</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>gpbprsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>gpbprsParameters</a> - A list of parameters found in the
--   specified hierarchy.</li>
--   <li><a>gpbprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getParametersByPathResponse :: Int -> GetParametersByPathResponse

-- | <i>See:</i> <a>getParametersByPathResponse</a> smart constructor.
data GetParametersByPathResponse

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
gpbprsNextToken :: Lens' GetParametersByPathResponse (Maybe Text)

-- | A list of parameters found in the specified hierarchy.
gpbprsParameters :: Lens' GetParametersByPathResponse [Parameter]

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


-- | Get details of a parameter.
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>grsParameters</a> - A list of details for a parameter.</li>
--   <li><a>grsInvalidParameters</a> - A list of parameters that are not
--   formatted correctly or do not run when executed.</li>
--   <li><a>grsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getParametersResponse :: Int -> GetParametersResponse

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

-- | A list of details for a parameter.
grsParameters :: Lens' GetParametersResponse [Parameter]

-- | A list of parameters that are not formatted correctly or do not run
--   when executed.
grsInvalidParameters :: Lens' GetParametersResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
grsResponseStatus :: 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 Control.DeepSeq.NFData Network.AWS.SSM.GetParameters.GetParametersResponse
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


-- | Query a list of all parameters used by the AWS account.
--   
--   This operation returns paginated results.
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 Control.DeepSeq.NFData Network.AWS.SSM.GetParameterHistory.GetParameterHistoryResponse
instance Network.AWS.Pager.AWSPager 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


-- | Get information about a parameter by using the parameter name.
module Network.AWS.SSM.GetParameter

-- | Creates a value of <a>GetParameter</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>gWithDecryption</a> - Return decrypted values for secure string
--   parameters. This flag is ignored for String and StringList parameter
--   types.</li>
--   <li><a>gName</a> - The name of the parameter you want to query.</li>
--   </ul>
getParameter :: Text -> GetParameter

-- | <i>See:</i> <a>getParameter</a> smart constructor.
data GetParameter

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

-- | The name of the parameter you want to query.
gName :: Lens' GetParameter Text

-- | Creates a value of <a>GetParameterResponse</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>gprsParameter</a> - Information about a parameter.</li>
--   <li><a>gprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getParameterResponse :: Int -> GetParameterResponse

-- | <i>See:</i> <a>getParameterResponse</a> smart constructor.
data GetParameterResponse

-- | Information about a parameter.
gprsParameter :: Lens' GetParameterResponse (Maybe Parameter)

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


-- | Lists the tasks in a Maintenance Window.
module Network.AWS.SSM.GetMaintenanceWindowTask

-- | Creates a value of <a>GetMaintenanceWindowTask</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>gmwtWindowId</a> - The Maintenance Window ID that includes the
--   task to retrieve.</li>
--   <li><a>gmwtWindowTaskId</a> - The Maintenance Window task ID to
--   retrieve.</li>
--   </ul>
getMaintenanceWindowTask :: Text -> Text -> GetMaintenanceWindowTask

-- | <i>See:</i> <a>getMaintenanceWindowTask</a> smart constructor.
data GetMaintenanceWindowTask

-- | The Maintenance Window ID that includes the task to retrieve.
gmwtWindowId :: Lens' GetMaintenanceWindowTask Text

-- | The Maintenance Window task ID to retrieve.
gmwtWindowTaskId :: Lens' GetMaintenanceWindowTask Text

-- | Creates a value of <a>GetMaintenanceWindowTaskResponse</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>gmwtrsServiceRoleARN</a> - The IAM service role to assume
--   during task execution.</li>
--   <li><a>gmwtrsWindowTaskId</a> - The retrieved Maintenance Window task
--   ID.</li>
--   <li><a>gmwtrsTaskParameters</a> - The parameters to pass to the task
--   when it executes.</li>
--   <li><a>gmwtrsPriority</a> - The priority of the task when it executes.
--   The lower the number, the higher the priority. Tasks that have the
--   same priority are scheduled in parallel.</li>
--   <li><a>gmwtrsTaskType</a> - The type of task to execute.</li>
--   <li><a>gmwtrsTaskARN</a> - The resource that the task used during
--   execution. For RUN_COMMAND and AUTOMATION task types, the TaskArn is
--   the Systems Manager Document name<i>ARN. For LAMBDA tasks, the value
--   is the function name</i>ARN. For STEP_FUNCTION tasks, the value is the
--   state machine ARN.</li>
--   <li><a>gmwtrsMaxErrors</a> - The maximum number of errors allowed
--   before the task stops being scheduled.</li>
--   <li><a>gmwtrsTaskInvocationParameters</a> - The parameters to pass to
--   the task when it executes.</li>
--   <li><a>gmwtrsName</a> - The retrieved task name.</li>
--   <li><a>gmwtrsTargets</a> - The targets where the task should
--   execute.</li>
--   <li><a>gmwtrsLoggingInfo</a> - The location in Amazon S3 where the
--   task results are logged.</li>
--   <li><a>gmwtrsDescription</a> - The retrieved task description.</li>
--   <li><a>gmwtrsMaxConcurrency</a> - The maximum number of targets
--   allowed to run this task in parallel.</li>
--   <li><a>gmwtrsWindowId</a> - The retrieved Maintenance Window ID.</li>
--   <li><a>gmwtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getMaintenanceWindowTaskResponse :: Int -> GetMaintenanceWindowTaskResponse

-- | <i>See:</i> <a>getMaintenanceWindowTaskResponse</a> smart constructor.
data GetMaintenanceWindowTaskResponse

-- | The IAM service role to assume during task execution.
gmwtrsServiceRoleARN :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The retrieved Maintenance Window task ID.
gmwtrsWindowTaskId :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The parameters to pass to the task when it executes.
gmwtrsTaskParameters :: Lens' GetMaintenanceWindowTaskResponse (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))

-- | The priority of the task when it executes. The lower the number, the
--   higher the priority. Tasks that have the same priority are scheduled
--   in parallel.
gmwtrsPriority :: Lens' GetMaintenanceWindowTaskResponse (Maybe Natural)

-- | The type of task to execute.
gmwtrsTaskType :: Lens' GetMaintenanceWindowTaskResponse (Maybe MaintenanceWindowTaskType)

-- | The resource that the task used during execution. For RUN_COMMAND and
--   AUTOMATION task types, the TaskArn is the Systems Manager Document
--   name<i>ARN. For LAMBDA tasks, the value is the function name</i>ARN.
--   For STEP_FUNCTION tasks, the value is the state machine ARN.
gmwtrsTaskARN :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The maximum number of errors allowed before the task stops being
--   scheduled.
gmwtrsMaxErrors :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The parameters to pass to the task when it executes.
gmwtrsTaskInvocationParameters :: Lens' GetMaintenanceWindowTaskResponse (Maybe MaintenanceWindowTaskInvocationParameters)

-- | The retrieved task name.
gmwtrsName :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The targets where the task should execute.
gmwtrsTargets :: Lens' GetMaintenanceWindowTaskResponse [Target]

-- | The location in Amazon S3 where the task results are logged.
gmwtrsLoggingInfo :: Lens' GetMaintenanceWindowTaskResponse (Maybe LoggingInfo)

-- | The retrieved task description.
gmwtrsDescription :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The maximum number of targets allowed to run this task in parallel.
gmwtrsMaxConcurrency :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

-- | The retrieved Maintenance Window ID.
gmwtrsWindowId :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)

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


-- | Retrieves a task invocation. A task invocation is a specific task
--   executing on a specific target. Maintenance Windows report status for
--   all invocations.
module Network.AWS.SSM.GetMaintenanceWindowExecutionTaskInvocation

-- | Creates a value of <a>GetMaintenanceWindowExecutionTaskInvocation</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>gmwetiWindowExecutionId</a> - The ID of the Maintenance Window
--   execution for which the task is a part.</li>
--   <li><a>gmwetiTaskId</a> - The ID of the specific task in the
--   Maintenance Window task that should be retrieved.</li>
--   <li><a>gmwetiInvocationId</a> - The invocation ID to retrieve.</li>
--   </ul>
getMaintenanceWindowExecutionTaskInvocation :: Text -> Text -> Text -> GetMaintenanceWindowExecutionTaskInvocation

-- | <i>See:</i> <a>getMaintenanceWindowExecutionTaskInvocation</a> smart
--   constructor.
data GetMaintenanceWindowExecutionTaskInvocation

-- | The ID of the Maintenance Window execution for which the task is a
--   part.
gmwetiWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocation Text

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

-- | The invocation ID to retrieve.
gmwetiInvocationId :: Lens' GetMaintenanceWindowExecutionTaskInvocation Text

-- | Creates a value of
--   <a>GetMaintenanceWindowExecutionTaskInvocationResponse</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>gmwetirsStatus</a> - The task status for an invocation.</li>
--   <li><a>gmwetirsExecutionId</a> - The execution ID.</li>
--   <li><a>gmwetirsTaskExecutionId</a> - The task execution ID.</li>
--   <li><a>gmwetirsStartTime</a> - The time that the task started
--   executing on the target.</li>
--   <li><a>gmwetirsInvocationId</a> - The invocation ID.</li>
--   <li><a>gmwetirsOwnerInformation</a> - User-provided value to be
--   included in any CloudWatch events raised while running tasks for these
--   targets in this Maintenance Window.</li>
--   <li><a>gmwetirsTaskType</a> - Retrieves the task type for a
--   Maintenance Window. Task types include the following: LAMBDA,
--   STEP_FUNCTION, AUTOMATION, RUN_COMMAND.</li>
--   <li><a>gmwetirsWindowTargetId</a> - The Maintenance Window target
--   ID.</li>
--   <li><a>gmwetirsWindowExecutionId</a> - The Maintenance Window
--   execution ID.</li>
--   <li><a>gmwetirsStatusDetails</a> - The details explaining the status.
--   Details are only available for certain status values.</li>
--   <li><a>gmwetirsEndTime</a> - The time that the task finished executing
--   on the target.</li>
--   <li><a>gmwetirsParameters</a> - The parameters used at the time that
--   the task executed.</li>
--   <li><a>gmwetirsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getMaintenanceWindowExecutionTaskInvocationResponse :: Int -> GetMaintenanceWindowExecutionTaskInvocationResponse

-- | <i>See:</i> <a>getMaintenanceWindowExecutionTaskInvocationResponse</a>
--   smart constructor.
data GetMaintenanceWindowExecutionTaskInvocationResponse

-- | The task status for an invocation.
gmwetirsStatus :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe MaintenanceWindowExecutionStatus)

-- | The execution ID.
gmwetirsExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

-- | The task execution ID.
gmwetirsTaskExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

-- | The time that the task started executing on the target.
gmwetirsStartTime :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe UTCTime)

-- | The invocation ID.
gmwetirsInvocationId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

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

-- | Retrieves the task type for a Maintenance Window. Task types include
--   the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.
gmwetirsTaskType :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe MaintenanceWindowTaskType)

-- | The Maintenance Window target ID.
gmwetirsWindowTargetId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

-- | The Maintenance Window execution ID.
gmwetirsWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

-- | The details explaining the status. Details are only available for
--   certain status values.
gmwetirsStatusDetails :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

-- | The time that the task finished executing on the target.
gmwetirsEndTime :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe UTCTime)

-- | The parameters used at the time that the task executed.
gmwetirsParameters :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)

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


-- | 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,
--   between 1 and 255 characters Value: an array of strings, each string
--   is between 1 and 255 characters</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, between 1 and 255 characters Value:
--   an array of strings, each string is between 1 and 255 characters
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.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 Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindowExecutionTask.GetMaintenanceWindowExecutionTaskResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindowExecution.GetMaintenanceWindowExecutionResponse
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


-- | 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>gmwrsDescription</a> - The description of the Maintenance
--   Window.</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 description of the Maintenance Window.
gmwrsDescription :: Lens' GetMaintenanceWindowResponse (Maybe Text)

-- | 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.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 Control.DeepSeq.NFData Network.AWS.SSM.GetMaintenanceWindow.GetMaintenanceWindowResponse
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


-- | 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>gisAggregator</a> - Returns inventory schemas that support
--   aggregation. For example, this call returns the
--   <tt>AWS:InstanceInformation</tt> type, because it supports aggregation
--   based on the <tt>PlatformName</tt> , <tt>PlatformType</tt> , and
--   <tt>PlatformVersion</tt> attributes.</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>gisSubType</a> - Returns the sub-type schema for a specified
--   inventory type.</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)

-- | Returns inventory schemas that support aggregation. For example, this
--   call returns the <tt>AWS:InstanceInformation</tt> type, because it
--   supports aggregation based on the <tt>PlatformName</tt> ,
--   <tt>PlatformType</tt> , and <tt>PlatformVersion</tt> attributes.
gisAggregator :: Lens' GetInventorySchema (Maybe Bool)

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

-- | Returns the sub-type schema for a specified inventory type.
gisSubType :: Lens' GetInventorySchema (Maybe Bool)

-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.GetInventorySchema.GetInventorySchemaResponse
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


-- | 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>giAggregators</a> - Returns counts of inventory types based on
--   one or more expressions. For example, if you aggregate by using an
--   expression that uses the <tt>AWS:InstanceInformation.PlatformType</tt>
--   type, you can see a count of how many Windows and Linux instances
--   exist in your inventoried fleet.</li>
--   <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

-- | Returns counts of inventory types based on one or more expressions.
--   For example, if you aggregate by using an expression that uses the
--   <tt>AWS:InstanceInformation.PlatformType</tt> type, you can see a
--   count of how many Windows and Linux instances exist in your
--   inventoried fleet.
giAggregators :: Lens' GetInventory (Maybe (NonEmpty InventoryAggregator))

-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.GetInventory.GetInventoryResponse
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


-- | Gets the contents of the specified Systems Manager 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>gdDocumentFormat</a> - Returns the document in the specified
--   format. The document format can be either JSON or YAML. JSON is the
--   default format.</li>
--   <li><a>gdDocumentVersion</a> - The document version for which you want
--   information.</li>
--   <li><a>gdName</a> - The name of the Systems Manager document.</li>
--   </ul>
getDocument :: Text -> GetDocument

-- | <i>See:</i> <a>getDocument</a> smart constructor.
data GetDocument

-- | Returns the document in the specified format. The document format can
--   be either JSON or YAML. JSON is the default format.
gdDocumentFormat :: Lens' GetDocument (Maybe DocumentFormat)

-- | The document version for which you want information.
gdDocumentVersion :: Lens' GetDocument (Maybe Text)

-- | The name of the Systems Manager 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 Systems Manager
--   document.</li>
--   <li><a>gdrsDocumentFormat</a> - The document format, either JSON or
--   YAML.</li>
--   <li><a>gdrsName</a> - The name of the Systems Manager 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 Systems Manager document.
gdrsContent :: Lens' GetDocumentResponse (Maybe Text)

-- | The document format, either JSON or YAML.
gdrsDocumentFormat :: Lens' GetDocumentResponse (Maybe DocumentFormat)

-- | The name of the Systems Manager 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 Control.DeepSeq.NFData Network.AWS.SSM.GetDocument.GetDocumentResponse
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


-- | Retrieves the current snapshot for the patch baseline the instance
--   uses. This API is primarily used by the AWS-RunPatchBaseline Systems
--   Manager document.
module Network.AWS.SSM.GetDeployablePatchSnapshotForInstance

-- | Creates a value of <a>GetDeployablePatchSnapshotForInstance</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>gdpsfiInstanceId</a> - The ID of the instance for which the
--   appropriate patch snapshot should be retrieved.</li>
--   <li><a>gdpsfiSnapshotId</a> - The user-defined snapshot ID.</li>
--   </ul>
getDeployablePatchSnapshotForInstance :: Text -> Text -> GetDeployablePatchSnapshotForInstance

-- | <i>See:</i> <a>getDeployablePatchSnapshotForInstance</a> smart
--   constructor.
data GetDeployablePatchSnapshotForInstance

-- | The ID of the instance for which the appropriate patch snapshot should
--   be retrieved.
gdpsfiInstanceId :: Lens' GetDeployablePatchSnapshotForInstance Text

-- | The user-defined snapshot ID.
gdpsfiSnapshotId :: Lens' GetDeployablePatchSnapshotForInstance Text

-- | Creates a value of
--   <a>GetDeployablePatchSnapshotForInstanceResponse</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>gdpsfirsInstanceId</a> - The ID of the instance.</li>
--   <li><a>gdpsfirsProduct</a> - Returns the specific operating system
--   (for example Windows Server 2012 or Amazon Linux 2015.09) on the
--   instance for the specified patch snapshot.</li>
--   <li><a>gdpsfirsSnapshotDownloadURL</a> - A pre-signed Amazon S3 URL
--   that can be used to download the patch snapshot.</li>
--   <li><a>gdpsfirsSnapshotId</a> - The user-defined snapshot ID.</li>
--   <li><a>gdpsfirsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getDeployablePatchSnapshotForInstanceResponse :: Int -> GetDeployablePatchSnapshotForInstanceResponse

-- | <i>See:</i> <a>getDeployablePatchSnapshotForInstanceResponse</a> smart
--   constructor.
data GetDeployablePatchSnapshotForInstanceResponse

-- | The ID of the instance.
gdpsfirsInstanceId :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)

-- | Returns the specific operating system (for example Windows Server 2012
--   or Amazon Linux 2015.09) on the instance for the specified patch
--   snapshot.
gdpsfirsProduct :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)

-- | A pre-signed Amazon S3 URL that can be used to download the patch
--   snapshot.
gdpsfirsSnapshotDownloadURL :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)

-- | The user-defined snapshot ID.
gdpsfirsSnapshotId :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)

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


-- | Retrieves the default patch baseline. Note that Systems Manager
--   supports creating multiple default patch baselines. For example, you
--   can create a default patch baseline for each operating system.
--   
--   If you do not specify an operating system value, the default patch
--   baseline for Windows is returned.
module Network.AWS.SSM.GetDefaultPatchBaseline

-- | Creates a value of <a>GetDefaultPatchBaseline</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>gdpbOperatingSystem</a> - Returns the default patch baseline
--   for the specified operating system.</li>
--   </ul>
getDefaultPatchBaseline :: GetDefaultPatchBaseline

-- | <i>See:</i> <a>getDefaultPatchBaseline</a> smart constructor.
data GetDefaultPatchBaseline

-- | Returns the default patch baseline for the specified operating system.
gdpbOperatingSystem :: Lens' GetDefaultPatchBaseline (Maybe OperatingSystem)

-- | Creates a value of <a>GetDefaultPatchBaselineResponse</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>gdpbrsOperatingSystem</a> - The operating system for the
--   returned patch baseline.</li>
--   <li><a>gdpbrsBaselineId</a> - The ID of the default patch
--   baseline.</li>
--   <li><a>gdpbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDefaultPatchBaselineResponse :: Int -> GetDefaultPatchBaselineResponse

-- | <i>See:</i> <a>getDefaultPatchBaselineResponse</a> smart constructor.
data GetDefaultPatchBaselineResponse

-- | The operating system for the returned patch baseline.
gdpbrsOperatingSystem :: Lens' GetDefaultPatchBaselineResponse (Maybe OperatingSystem)

-- | The ID of the default patch baseline.
gdpbrsBaselineId :: Lens' GetDefaultPatchBaselineResponse (Maybe Text)

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


-- | 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 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 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 this invocation plugin. This
--   status can be different than StatusDetails.</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
--   ExecutionStartDateTime.</li>
--   <li><a>gcirsDocumentName</a> - The name of the document that was
--   executed. For example, AWS-RunShellScript.</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, June 7, 2017 is represented as 2017-06-7. The following
--   sample AWS CLI command uses the <tt>InvokedBefore</tt> filter. <tt>aws
--   ssm list-commands --filters
--   key=InvokedBefore,value=2017-06-07T00:00:00Z</tt> 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 -1, 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. StatusDetails includes more information
--   than Status because it includes states resulting from error and
--   concurrency control parameters. StatusDetails can show different
--   results than Status. For more information about these statuses, see
--   <a>Run Command Status</a> . StatusDetails 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 MaxErrors limit, but they do
--   contribute to whether the parent command status is Success or
--   Incomplete. 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 MaxErrors 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
--   MaxErrors 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
--   MaxErrors limit and don't contribute to whether the parent command
--   status is Success or Incomplete. This is a terminal state. *
--   Terminated: The parent command exceeded its MaxErrors 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, June 7, 2017 is represented as 2017-06-7. The following
--   sample AWS CLI command uses the <tt>InvokedAfter</tt> filter. <tt>aws
--   ssm list-commands --filters
--   key=InvokedAfter,value=2017-06-07T00:00:00Z</tt> 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>gcirsDocumentVersion</a> - The SSM document version used in the
--   request.</li>
--   <li><a>gcirsStandardOutputContent</a> - The first 24,000 characters
--   written by the plugin to stdout. If the command has not finished
--   executing, if ExecutionStatus is neither Succeeded nor Failed, 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 this invocation plugin. This status can be different
--   than StatusDetails.
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 ExecutionStartDateTime.
gcirsExecutionElapsedTime :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The name of the document that was executed. For example,
--   AWS-RunShellScript.
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, June 7, 2017 is represented
--   as 2017-06-7. The following sample AWS CLI command uses the
--   <tt>InvokedBefore</tt> filter. <tt>aws ssm list-commands --filters
--   key=InvokedBefore,value=2017-06-07T00:00:00Z</tt> 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 -1, 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.
--   StatusDetails includes more information than Status because it
--   includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors limit, but they do contribute to whether
--   the parent command status is Success or Incomplete. 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 MaxErrors 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 MaxErrors 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 MaxErrors limit
--   and don't contribute to whether the parent command status is Success
--   or Incomplete. This is a terminal state. * Terminated: The parent
--   command exceeded its MaxErrors 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, June 7, 2017 is represented
--   as 2017-06-7. The following sample AWS CLI command uses the
--   <tt>InvokedAfter</tt> filter. <tt>aws ssm list-commands --filters
--   key=InvokedAfter,value=2017-06-07T00:00:00Z</tt> 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 SSM document version used in the request.
gcirsDocumentVersion :: Lens' GetCommandInvocationResponse (Maybe Text)

-- | The first 24,000 characters written by the plugin to stdout. If the
--   command has not finished executing, if ExecutionStatus is neither
--   Succeeded nor Failed, 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 Control.DeepSeq.NFData Network.AWS.SSM.GetCommandInvocation.GetCommandInvocationResponse
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


-- | 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 StartAutomationExecution 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 StartAutomationExecution 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 Control.DeepSeq.NFData Network.AWS.SSM.GetAutomationExecution.GetAutomationExecutionResponse
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


-- | Lists all patch groups that have been registered with patch baselines.
module Network.AWS.SSM.DescribePatchGroups

-- | Creates a value of <a>DescribePatchGroups</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>dpgFilters</a> - One or more filters. Use a filter to return a
--   more specific list of results.</li>
--   <li><a>dpgNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dpgMaxResults</a> - The maximum number of patch groups to
--   return (per page).</li>
--   </ul>
describePatchGroups :: DescribePatchGroups

-- | <i>See:</i> <a>describePatchGroups</a> smart constructor.
data DescribePatchGroups

-- | One or more filters. Use a filter to return a more specific list of
--   results.
dpgFilters :: Lens' DescribePatchGroups [PatchOrchestratorFilter]

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

-- | The maximum number of patch groups to return (per page).
dpgMaxResults :: Lens' DescribePatchGroups (Maybe Natural)

-- | Creates a value of <a>DescribePatchGroupsResponse</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>dpgrsMappings</a> - Each entry in the array contains:
--   PatchGroup: string (between 1 and 256 characters, Regex:
--   ^([p{L}p{Z}p{N}_.:/=+-@]*)$) PatchBaselineIdentity: A
--   PatchBaselineIdentity element.</li>
--   <li><a>dpgrsNextToken</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>dpgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describePatchGroupsResponse :: Int -> DescribePatchGroupsResponse

-- | <i>See:</i> <a>describePatchGroupsResponse</a> smart constructor.
data DescribePatchGroupsResponse

-- | Each entry in the array contains: PatchGroup: string (between 1 and
--   256 characters, Regex: ^([p{L}p{Z}p{N}_.:/=+-@]*)$)
--   PatchBaselineIdentity: A PatchBaselineIdentity element.
dpgrsMappings :: Lens' DescribePatchGroupsResponse [PatchGroupPatchBaselineMapping]

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

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


-- | Returns high-level aggregated patch compliance state for a patch
--   group.
module Network.AWS.SSM.DescribePatchGroupState

-- | Creates a value of <a>DescribePatchGroupState</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>dpgsPatchGroup</a> - The name of the patch group whose patch
--   snapshot should be retrieved.</li>
--   </ul>
describePatchGroupState :: Text -> DescribePatchGroupState

-- | <i>See:</i> <a>describePatchGroupState</a> smart constructor.
data DescribePatchGroupState

-- | The name of the patch group whose patch snapshot should be retrieved.
dpgsPatchGroup :: Lens' DescribePatchGroupState Text

-- | Creates a value of <a>DescribePatchGroupStateResponse</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>dpgsrsInstancesWithMissingPatches</a> - The number of instances
--   with missing patches from the patch baseline.</li>
--   <li><a>dpgsrsInstancesWithInstalledOtherPatches</a> - The number of
--   instances with patches installed that aren't defined in the patch
--   baseline.</li>
--   <li><a>dpgsrsInstancesWithNotApplicablePatches</a> - The number of
--   instances with patches that aren't applicable.</li>
--   <li><a>dpgsrsInstancesWithInstalledPatches</a> - The number of
--   instances with installed patches.</li>
--   <li><a>dpgsrsInstances</a> - The number of instances in the patch
--   group.</li>
--   <li><a>dpgsrsInstancesWithFailedPatches</a> - The number of instances
--   with patches from the patch baseline that failed to install.</li>
--   <li><a>dpgsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describePatchGroupStateResponse :: Int -> DescribePatchGroupStateResponse

-- | <i>See:</i> <a>describePatchGroupStateResponse</a> smart constructor.
data DescribePatchGroupStateResponse

-- | The number of instances with missing patches from the patch baseline.
dpgsrsInstancesWithMissingPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)

-- | The number of instances with patches installed that aren't defined in
--   the patch baseline.
dpgsrsInstancesWithInstalledOtherPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)

-- | The number of instances with patches that aren't applicable.
dpgsrsInstancesWithNotApplicablePatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)

-- | The number of instances with installed patches.
dpgsrsInstancesWithInstalledPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)

-- | The number of instances in the patch group.
dpgsrsInstances :: Lens' DescribePatchGroupStateResponse (Maybe Int)

-- | The number of instances with patches from the patch baseline that
--   failed to install.
dpgsrsInstancesWithFailedPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)

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


-- | Lists the patch baselines in your AWS account.
module Network.AWS.SSM.DescribePatchBaselines

-- | Creates a value of <a>DescribePatchBaselines</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>dpbFilters</a> - Each element in the array is a structure
--   containing: Key: (string, <a>NAME_PREFIX</a> or <a>OWNER</a>) Value:
--   (array of strings, exactly 1 entry, between 1 and 255 characters)</li>
--   <li><a>dpbNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dpbMaxResults</a> - The maximum number of patch baselines to
--   return (per page).</li>
--   </ul>
describePatchBaselines :: DescribePatchBaselines

-- | <i>See:</i> <a>describePatchBaselines</a> smart constructor.
data DescribePatchBaselines

-- | Each element in the array is a structure containing: Key: (string,
--   <a>NAME_PREFIX</a> or <a>OWNER</a>) Value: (array of strings, exactly
--   1 entry, between 1 and 255 characters)
dpbFilters :: Lens' DescribePatchBaselines [PatchOrchestratorFilter]

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

-- | The maximum number of patch baselines to return (per page).
dpbMaxResults :: Lens' DescribePatchBaselines (Maybe Natural)

-- | Creates a value of <a>DescribePatchBaselinesResponse</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>dpbsrsBaselineIdentities</a> - An array of
--   PatchBaselineIdentity elements.</li>
--   <li><a>dpbsrsNextToken</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>dpbsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describePatchBaselinesResponse :: Int -> DescribePatchBaselinesResponse

-- | <i>See:</i> <a>describePatchBaselinesResponse</a> smart constructor.
data DescribePatchBaselinesResponse

-- | An array of PatchBaselineIdentity elements.
dpbsrsBaselineIdentities :: Lens' DescribePatchBaselinesResponse [PatchBaselineIdentity]

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

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


-- | Get information about a parameter.
--   
--   Request results are returned on a best-effort basis. If you specify
--   <tt>MaxResults</tt> in the request, the response includes information
--   up to the limit specified. The number of items returned, however, can
--   be between zero and the value of <tt>MaxResults</tt> . If the service
--   reaches an internal limit while processing the results, it stops the
--   operation and returns the matching values up to that point and a
--   <tt>NextToken</tt> . You can specify the <tt>NextToken</tt> in a
--   subsequent call to get the next set of results.
--   
--   This operation returns paginated results.
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>dpParameterFilters</a> - Filters to limit the request
--   results.</li>
--   <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

-- | Filters to limit the request results.
dpParameterFilters :: Lens' DescribeParameters [ParameterStringFilter]

-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeParameters.DescribeParametersResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Name
--   and Enabled.</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 Name and Enabled.
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.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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindows.DescribeMaintenanceWindowsResponse
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


-- | 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 WindowTaskId,
--   TaskArn, Priority, and TaskType.</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 WindowTaskId, TaskArn, Priority, and
--   TaskType.
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.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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowTasks.DescribeMaintenanceWindowTasksResponse
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


-- | 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 Type, WindowTargetId and OwnerInformation.</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 Type,
--   WindowTargetId and OwnerInformation.
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.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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowTargets.DescribeMaintenanceWindowTargetsResponse
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


-- | Lists the executions of a Maintenance Window. This includes
--   information about when the Maintenance Window was scheduled to be
--   active, and information about tasks registered and run with the
--   Maintenance Window.
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, between 1 and 128 characters) Values (array
--   of strings, each string is between 1 and 256 characters) The supported
--   Keys are ExecutedBefore and ExecutedAfter 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,
--   between 1 and 128 characters) Values (array of strings, each string is
--   between 1 and 256 characters) The supported Keys are ExecutedBefore
--   and ExecutedAfter 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutions.DescribeMaintenanceWindowExecutionsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks.DescribeMaintenanceWindowExecutionTasksResponse
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


-- | 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.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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations.DescribeMaintenanceWindowExecutionTaskInvocationsResponse
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


-- | Describes a specific delete inventory operation.
module Network.AWS.SSM.DescribeInventoryDeletions

-- | Creates a value of <a>DescribeInventoryDeletions</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>didNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>didMaxResults</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>didDeletionId</a> - Specify the delete inventory ID for which
--   you want information. This ID was returned by the
--   <tt>DeleteInventory</tt> action.</li>
--   </ul>
describeInventoryDeletions :: DescribeInventoryDeletions

-- | <i>See:</i> <a>describeInventoryDeletions</a> smart constructor.
data DescribeInventoryDeletions

-- | A token to start the list. Use this token to get the next set of
--   results.
didNextToken :: Lens' DescribeInventoryDeletions (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.
didMaxResults :: Lens' DescribeInventoryDeletions (Maybe Natural)

-- | Specify the delete inventory ID for which you want information. This
--   ID was returned by the <tt>DeleteInventory</tt> action.
didDeletionId :: Lens' DescribeInventoryDeletions (Maybe Text)

-- | Creates a value of <a>DescribeInventoryDeletionsResponse</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>didrsInventoryDeletions</a> - A list of status items for
--   deleted inventory.</li>
--   <li><a>didrsNextToken</a> - The token for the next set of items to
--   return. Use this token to get the next set of results.</li>
--   <li><a>didrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInventoryDeletionsResponse :: Int -> DescribeInventoryDeletionsResponse

-- | <i>See:</i> <a>describeInventoryDeletionsResponse</a> smart
--   constructor.
data DescribeInventoryDeletionsResponse

-- | A list of status items for deleted inventory.
didrsInventoryDeletions :: Lens' DescribeInventoryDeletionsResponse [InventoryDeletionStatusItem]

-- | The token for the next set of items to return. Use this token to get
--   the next set of results.
didrsNextToken :: Lens' DescribeInventoryDeletionsResponse (Maybe Text)

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


-- | Retrieves information about the patches on the specified instance and
--   their state relative to the patch baseline being used for the
--   instance.
module Network.AWS.SSM.DescribeInstancePatches

-- | Creates a value of <a>DescribeInstancePatches</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>dipFilters</a> - Each entry in the array is a structure
--   containing: Key (string, between 1 and 128 characters) Values (array
--   of strings, each string between 1 and 256 characters)</li>
--   <li><a>dipNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dipMaxResults</a> - The maximum number of patches to return
--   (per page).</li>
--   <li><a>dipInstanceId</a> - The ID of the instance whose patch state
--   information should be retrieved.</li>
--   </ul>
describeInstancePatches :: Text -> DescribeInstancePatches

-- | <i>See:</i> <a>describeInstancePatches</a> smart constructor.
data DescribeInstancePatches

-- | Each entry in the array is a structure containing: Key (string,
--   between 1 and 128 characters) Values (array of strings, each string
--   between 1 and 256 characters)
dipFilters :: Lens' DescribeInstancePatches [PatchOrchestratorFilter]

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

-- | The maximum number of patches to return (per page).
dipMaxResults :: Lens' DescribeInstancePatches (Maybe Natural)

-- | The ID of the instance whose patch state information should be
--   retrieved.
dipInstanceId :: Lens' DescribeInstancePatches Text

-- | Creates a value of <a>DescribeInstancePatchesResponse</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>diprsPatches</a> - Each entry in the array is a structure
--   containing: Title (string) KBId (string) Classification (string)
--   Severity (string) State (string: <a>INSTALLED</a>, "INSTALLED OTHER",
--   <a>MISSING</a>, "NOT APPLICABLE", <a>FAILED</a>) InstalledTime
--   (DateTime) InstalledBy (string)</li>
--   <li><a>diprsNextToken</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>diprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInstancePatchesResponse :: Int -> DescribeInstancePatchesResponse

-- | <i>See:</i> <a>describeInstancePatchesResponse</a> smart constructor.
data DescribeInstancePatchesResponse

-- | Each entry in the array is a structure containing: Title (string) KBId
--   (string) Classification (string) Severity (string) State (string:
--   <a>INSTALLED</a>, "INSTALLED OTHER", <a>MISSING</a>, "NOT APPLICABLE",
--   <a>FAILED</a>) InstalledTime (DateTime) InstalledBy (string)
diprsPatches :: Lens' DescribeInstancePatchesResponse [PatchComplianceData]

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

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


-- | Retrieves the high-level patch state for the instances in the
--   specified patch group.
module Network.AWS.SSM.DescribeInstancePatchStatesForPatchGroup

-- | Creates a value of <a>DescribeInstancePatchStatesForPatchGroup</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>dipsfpgFilters</a> - Each entry in the array is a structure
--   containing: Key (string between 1 and 200 characters) Values (array
--   containing a single string) Type (string <a>Equal</a>,
--   <a>NotEqual</a>, <a>LessThan</a>, <a>GreaterThan</a>)</li>
--   <li><a>dipsfpgNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dipsfpgMaxResults</a> - The maximum number of patches to return
--   (per page).</li>
--   <li><a>dipsfpgPatchGroup</a> - The name of the patch group for which
--   the patch state information should be retrieved.</li>
--   </ul>
describeInstancePatchStatesForPatchGroup :: Text -> DescribeInstancePatchStatesForPatchGroup

-- | <i>See:</i> <a>describeInstancePatchStatesForPatchGroup</a> smart
--   constructor.
data DescribeInstancePatchStatesForPatchGroup

-- | Each entry in the array is a structure containing: Key (string between
--   1 and 200 characters) Values (array containing a single string) Type
--   (string <a>Equal</a>, <a>NotEqual</a>, <a>LessThan</a>,
--   <a>GreaterThan</a>)
dipsfpgFilters :: Lens' DescribeInstancePatchStatesForPatchGroup [InstancePatchStateFilter]

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

-- | The maximum number of patches to return (per page).
dipsfpgMaxResults :: Lens' DescribeInstancePatchStatesForPatchGroup (Maybe Natural)

-- | The name of the patch group for which the patch state information
--   should be retrieved.
dipsfpgPatchGroup :: Lens' DescribeInstancePatchStatesForPatchGroup Text

-- | Creates a value of
--   <a>DescribeInstancePatchStatesForPatchGroupResponse</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>dipsfpgrsNextToken</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>dipsfpgrsInstancePatchStates</a> - The high-level patch state
--   for the requested instances.</li>
--   <li><a>dipsfpgrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
describeInstancePatchStatesForPatchGroupResponse :: Int -> DescribeInstancePatchStatesForPatchGroupResponse

-- | <i>See:</i> <a>describeInstancePatchStatesForPatchGroupResponse</a>
--   smart constructor.
data DescribeInstancePatchStatesForPatchGroupResponse

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

-- | The high-level patch state for the requested instances.
dipsfpgrsInstancePatchStates :: Lens' DescribeInstancePatchStatesForPatchGroupResponse (Maybe (NonEmpty InstancePatchState))

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


-- | Retrieves the high-level patch state of one or more instances.
module Network.AWS.SSM.DescribeInstancePatchStates

-- | Creates a value of <a>DescribeInstancePatchStates</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>dipsNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dipsMaxResults</a> - The maximum number of instances to return
--   (per page).</li>
--   <li><a>dipsInstanceIds</a> - The ID of the instance whose patch state
--   information should be retrieved.</li>
--   </ul>
describeInstancePatchStates :: DescribeInstancePatchStates

-- | <i>See:</i> <a>describeInstancePatchStates</a> smart constructor.
data DescribeInstancePatchStates

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

-- | The maximum number of instances to return (per page).
dipsMaxResults :: Lens' DescribeInstancePatchStates (Maybe Natural)

-- | The ID of the instance whose patch state information should be
--   retrieved.
dipsInstanceIds :: Lens' DescribeInstancePatchStates [Text]

-- | Creates a value of <a>DescribeInstancePatchStatesResponse</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>dipsrsNextToken</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>dipsrsInstancePatchStates</a> - The high-level patch state for
--   the requested instances.</li>
--   <li><a>dipsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInstancePatchStatesResponse :: Int -> DescribeInstancePatchStatesResponse

-- | <i>See:</i> <a>describeInstancePatchStatesResponse</a> smart
--   constructor.
data DescribeInstancePatchStatesResponse

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

-- | The high-level patch state for the requested instances.
dipsrsInstancePatchStates :: Lens' DescribeInstancePatchStatesResponse [InstancePatchState]

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


-- | 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.
--   
--   This operation returns paginated results.
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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeInstanceInformation.DescribeInstanceInformationResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeInstanceAssociationsStatus.DescribeInstanceAssociationsStatusResponse
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


-- | Retrieves the current effective patches (the patch and the approval
--   state) for the specified patch baseline. Note that this API applies
--   only to Windows patch baselines.
module Network.AWS.SSM.DescribeEffectivePatchesForPatchBaseline

-- | Creates a value of <a>DescribeEffectivePatchesForPatchBaseline</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>depfpbNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>depfpbMaxResults</a> - The maximum number of patches to return
--   (per page).</li>
--   <li><a>depfpbBaselineId</a> - The ID of the patch baseline to retrieve
--   the effective patches for.</li>
--   </ul>
describeEffectivePatchesForPatchBaseline :: Text -> DescribeEffectivePatchesForPatchBaseline

-- | <i>See:</i> <a>describeEffectivePatchesForPatchBaseline</a> smart
--   constructor.
data DescribeEffectivePatchesForPatchBaseline

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

-- | The maximum number of patches to return (per page).
depfpbMaxResults :: Lens' DescribeEffectivePatchesForPatchBaseline (Maybe Natural)

-- | The ID of the patch baseline to retrieve the effective patches for.
depfpbBaselineId :: Lens' DescribeEffectivePatchesForPatchBaseline Text

-- | Creates a value of
--   <a>DescribeEffectivePatchesForPatchBaselineResponse</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>depfpbrsEffectivePatches</a> - An array of patches and patch
--   status.</li>
--   <li><a>depfpbrsNextToken</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>depfpbrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
describeEffectivePatchesForPatchBaselineResponse :: Int -> DescribeEffectivePatchesForPatchBaselineResponse

-- | <i>See:</i> <a>describeEffectivePatchesForPatchBaselineResponse</a>
--   smart constructor.
data DescribeEffectivePatchesForPatchBaselineResponse

-- | An array of patches and patch status.
depfpbrsEffectivePatches :: Lens' DescribeEffectivePatchesForPatchBaselineResponse [EffectivePatch]

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

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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeEffectiveInstanceAssociations.DescribeEffectiveInstanceAssociationsResponse
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


-- | Describes the permissions for a Systems Manager document. If you
--   created the document, you are the owner. If a document is shared, it
--   can either be shared privately (by specifying a user's AWS account ID)
--   or publicly (<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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeDocumentPermission.DescribeDocumentPermissionResponse
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


-- | Describes the specified Systems Manager 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 Systems Manager 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 Systems Manager 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>desrsDocument</a> - Information about the Systems Manager
--   document.</li>
--   <li><a>desrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDocumentResponse :: Int -> DescribeDocumentResponse

-- | <i>See:</i> <a>describeDocumentResponse</a> smart constructor.
data DescribeDocumentResponse

-- | Information about the Systems Manager document.
desrsDocument :: Lens' DescribeDocumentResponse (Maybe DocumentDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
desrsResponseStatus :: 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeDocument.DescribeDocumentResponse
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


-- | Lists all patches that could possibly be included in a patch baseline.
module Network.AWS.SSM.DescribeAvailablePatches

-- | Creates a value of <a>DescribeAvailablePatches</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>dapFilters</a> - Filters used to scope down the returned
--   patches.</li>
--   <li><a>dapNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dapMaxResults</a> - The maximum number of patches to return
--   (per page).</li>
--   </ul>
describeAvailablePatches :: DescribeAvailablePatches

-- | <i>See:</i> <a>describeAvailablePatches</a> smart constructor.
data DescribeAvailablePatches

-- | Filters used to scope down the returned patches.
dapFilters :: Lens' DescribeAvailablePatches [PatchOrchestratorFilter]

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

-- | The maximum number of patches to return (per page).
dapMaxResults :: Lens' DescribeAvailablePatches (Maybe Natural)

-- | Creates a value of <a>DescribeAvailablePatchesResponse</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>daprsPatches</a> - An array of patches. Each entry in the array
--   is a patch structure.</li>
--   <li><a>daprsNextToken</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>daprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAvailablePatchesResponse :: Int -> DescribeAvailablePatchesResponse

-- | <i>See:</i> <a>describeAvailablePatchesResponse</a> smart constructor.
data DescribeAvailablePatchesResponse

-- | An array of patches. Each entry in the array is a patch structure.
daprsPatches :: Lens' DescribeAvailablePatchesResponse [Patch]

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

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


-- | Information about all active and terminated step executions in an
--   Automation workflow.
module Network.AWS.SSM.DescribeAutomationStepExecutions

-- | Creates a value of <a>DescribeAutomationStepExecutions</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>daseFilters</a> - One or more filters to limit the number of
--   step executions returned by the request.</li>
--   <li><a>daseReverseOrder</a> - A boolean that indicates whether to list
--   step executions in reverse order by start time. The default value is
--   false.</li>
--   <li><a>daseNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>daseMaxResults</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>daseAutomationExecutionId</a> - The Automation execution ID for
--   which you want step execution descriptions.</li>
--   </ul>
describeAutomationStepExecutions :: Text -> DescribeAutomationStepExecutions

-- | <i>See:</i> <a>describeAutomationStepExecutions</a> smart constructor.
data DescribeAutomationStepExecutions

-- | One or more filters to limit the number of step executions returned by
--   the request.
daseFilters :: Lens' DescribeAutomationStepExecutions (Maybe (NonEmpty StepExecutionFilter))

-- | A boolean that indicates whether to list step executions in reverse
--   order by start time. The default value is false.
daseReverseOrder :: Lens' DescribeAutomationStepExecutions (Maybe Bool)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
daseNextToken :: Lens' DescribeAutomationStepExecutions (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.
daseMaxResults :: Lens' DescribeAutomationStepExecutions (Maybe Natural)

-- | The Automation execution ID for which you want step execution
--   descriptions.
daseAutomationExecutionId :: Lens' DescribeAutomationStepExecutions Text

-- | Creates a value of <a>DescribeAutomationStepExecutionsResponse</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>dasersNextToken</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>dasersStepExecutions</a> - A list of details about the current
--   state of all steps that make up an execution.</li>
--   <li><a>dasersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAutomationStepExecutionsResponse :: Int -> DescribeAutomationStepExecutionsResponse

-- | <i>See:</i> <a>describeAutomationStepExecutionsResponse</a> smart
--   constructor.
data DescribeAutomationStepExecutionsResponse

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

-- | A list of details about the current state of all steps that make up an
--   execution.
dasersStepExecutions :: Lens' DescribeAutomationStepExecutionsResponse [StepExecution]

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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeAutomationExecutions.DescribeAutomationExecutionsResponse
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


-- | Describes the association for the specified target or instance. If you
--   created the association by using the <tt>Targets</tt> parameter, then
--   you must retrieve the association by using the association ID. If you
--   created the association by specifying an instance ID and a Systems
--   Manager document, then you retrieve the association by specifying the
--   document name and the instance ID.
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 Systems Manager document.</li>
--   <li><a>daAssociationVersion</a> - Specify the association version to
--   retrieve. To view the latest version, either specify <tt>&gt;
--   LATEST</tt> for this parameter, or omit this parameter. To view a list
--   of all associations for an instance, use ListInstanceAssociations. To
--   get a list of versions for a specific association, use
--   ListAssociationVersions.</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 Systems Manager document.
daName :: Lens' DescribeAssociation (Maybe Text)

-- | Specify the association version to retrieve. To view the latest
--   version, either specify <tt>&gt; LATEST</tt> for this parameter, or
--   omit this parameter. To view a list of all associations for an
--   instance, use ListInstanceAssociations. To get a list of versions for
--   a specific association, use ListAssociationVersions.
daAssociationVersion :: 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>daarsAssociationDescription</a> - Information about the
--   association.</li>
--   <li><a>daarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAssociationResponse :: Int -> DescribeAssociationResponse

-- | <i>See:</i> <a>describeAssociationResponse</a> smart constructor.
data DescribeAssociationResponse

-- | Information about the association.
daarsAssociationDescription :: Lens' DescribeAssociationResponse (Maybe AssociationDescription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
daarsResponseStatus :: 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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeAssociation.DescribeAssociationResponse
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


-- | 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.
--   
--   This operation returns paginated results.
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 Control.DeepSeq.NFData Network.AWS.SSM.DescribeActivations.DescribeActivationsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow.DeregisterTaskFromMaintenanceWindowResponse
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


-- | 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>dtfmwSafe</a> - The system checks if the target is being
--   referenced by a task. If the target is being referenced, the system
--   returns an error and does not deregister the target from the
--   Maintenance Window.</li>
--   <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 system checks if the target is being referenced by a task. If the
--   target is being referenced, the system returns an error and does not
--   deregister the target from the Maintenance Window.
dtfmwSafe :: Lens' DeregisterTargetFromMaintenanceWindow (Maybe Bool)

-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow.DeregisterTargetFromMaintenanceWindowResponse
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


-- | Removes a patch group from a patch baseline.
module Network.AWS.SSM.DeregisterPatchBaselineForPatchGroup

-- | Creates a value of <a>DeregisterPatchBaselineForPatchGroup</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>dpbfpgBaselineId</a> - The ID of the patch baseline to
--   deregister the patch group from.</li>
--   <li><a>dpbfpgPatchGroup</a> - The name of the patch group that should
--   be deregistered from the patch baseline.</li>
--   </ul>
deregisterPatchBaselineForPatchGroup :: Text -> Text -> DeregisterPatchBaselineForPatchGroup

-- | <i>See:</i> <a>deregisterPatchBaselineForPatchGroup</a> smart
--   constructor.
data DeregisterPatchBaselineForPatchGroup

-- | The ID of the patch baseline to deregister the patch group from.
dpbfpgBaselineId :: Lens' DeregisterPatchBaselineForPatchGroup Text

-- | The name of the patch group that should be deregistered from the patch
--   baseline.
dpbfpgPatchGroup :: Lens' DeregisterPatchBaselineForPatchGroup Text

-- | Creates a value of <a>DeregisterPatchBaselineForPatchGroupResponse</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>dpbfpgrsBaselineId</a> - The ID of the patch baseline the patch
--   group was deregistered from.</li>
--   <li><a>dpbfpgrsPatchGroup</a> - The name of the patch group
--   deregistered from the patch baseline.</li>
--   <li><a>dpbfpgrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
deregisterPatchBaselineForPatchGroupResponse :: Int -> DeregisterPatchBaselineForPatchGroupResponse

-- | <i>See:</i> <a>deregisterPatchBaselineForPatchGroupResponse</a> smart
--   constructor.
data DeregisterPatchBaselineForPatchGroupResponse

-- | The ID of the patch baseline the patch group was deregistered from.
dpbfpgrsBaselineId :: Lens' DeregisterPatchBaselineForPatchGroupResponse (Maybe Text)

-- | The name of the patch group deregistered from the patch baseline.
dpbfpgrsPatchGroup :: Lens' DeregisterPatchBaselineForPatchGroupResponse (Maybe Text)

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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DeregisterManagedInstance.DeregisterManagedInstanceResponse
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


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

-- | Creates a value of <a>DeleteResourceDataSync</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>drdsSyncName</a> - The name of the configuration to
--   delete.</li>
--   </ul>
deleteResourceDataSync :: Text -> DeleteResourceDataSync

-- | <i>See:</i> <a>deleteResourceDataSync</a> smart constructor.
data DeleteResourceDataSync

-- | The name of the configuration to delete.
drdsSyncName :: Lens' DeleteResourceDataSync Text

-- | Creates a value of <a>DeleteResourceDataSyncResponse</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>drdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteResourceDataSyncResponse :: Int -> DeleteResourceDataSyncResponse

-- | <i>See:</i> <a>deleteResourceDataSyncResponse</a> smart constructor.
data DeleteResourceDataSyncResponse

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


-- | Deletes a patch baseline.
module Network.AWS.SSM.DeletePatchBaseline

-- | Creates a value of <a>DeletePatchBaseline</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>dpbBaselineId</a> - The ID of the patch baseline to
--   delete.</li>
--   </ul>
deletePatchBaseline :: Text -> DeletePatchBaseline

-- | <i>See:</i> <a>deletePatchBaseline</a> smart constructor.
data DeletePatchBaseline

-- | The ID of the patch baseline to delete.
dpbBaselineId :: Lens' DeletePatchBaseline Text

-- | Creates a value of <a>DeletePatchBaselineResponse</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>dpbrsBaselineId</a> - The ID of the deleted patch
--   baseline.</li>
--   <li><a>dpbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deletePatchBaselineResponse :: Int -> DeletePatchBaselineResponse

-- | <i>See:</i> <a>deletePatchBaselineResponse</a> smart constructor.
data DeletePatchBaselineResponse

-- | The ID of the deleted patch baseline.
dpbrsBaselineId :: Lens' DeletePatchBaselineResponse (Maybe Text)

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


-- | Delete a list of parameters. This API is used to delete parameters by
--   using the Amazon EC2 console.
module Network.AWS.SSM.DeleteParameters

-- | Creates a value of <a>DeleteParameters</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>dpNames</a> - The names of the parameters to delete.</li>
--   </ul>
deleteParameters :: NonEmpty Text -> DeleteParameters

-- | <i>See:</i> <a>deleteParameters</a> smart constructor.
data DeleteParameters

-- | The names of the parameters to delete.
dpNames :: Lens' DeleteParameters (NonEmpty Text)

-- | Creates a value of <a>DeleteParametersResponse</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>drsDeletedParameters</a> - The names of the deleted
--   parameters.</li>
--   <li><a>drsInvalidParameters</a> - The names of parameters that weren't
--   deleted because the parameters are not valid.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteParametersResponse :: Int -> DeleteParametersResponse

-- | <i>See:</i> <a>deleteParametersResponse</a> smart constructor.
data DeleteParametersResponse

-- | The names of the deleted parameters.
drsDeletedParameters :: Lens' DeleteParametersResponse (Maybe (NonEmpty Text))

-- | The names of parameters that weren't deleted because the parameters
--   are not valid.
drsInvalidParameters :: Lens' DeleteParametersResponse (Maybe (NonEmpty Text))

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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DeleteParameter.DeleteParameterResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.DeleteMaintenanceWindow.DeleteMaintenanceWindowResponse
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


-- | Delete a custom inventory type, or the data associated with a custom
--   Inventory type. Deleting a custom inventory type is also referred to
--   as deleting a custom inventory schema.
module Network.AWS.SSM.DeleteInventory

-- | Creates a value of <a>DeleteInventory</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>diClientToken</a> - User-provided idempotency token.</li>
--   <li><a>diSchemaDeleteOption</a> - Use the <tt>SchemaDeleteOption</tt>
--   to delete a custom inventory type (schema). If you don't choose this
--   option, the system only deletes existing inventory data associated
--   with the custom inventory type. Choose one of the following options:
--   DisableSchema: If you choose this option, the system ignores all
--   inventory data for the specified version, and any earlier versions. To
--   enable this schema again, you must call the <tt>PutInventory</tt>
--   action for a version greater than the disbled version. DeleteSchema:
--   This option deletes the specified custom type from the Inventory
--   service. You can recreate the schema later, if you want.</li>
--   <li><a>diDryRun</a> - Use this option to view a summary of the
--   deletion request without deleting any data or the data type. This
--   option is useful when you only want to understand what will be
--   deleted. Once you validate that the data to be deleted is what you
--   intend to delete, you can run the same command without specifying the
--   <tt>DryRun</tt> option.</li>
--   <li><a>diTypeName</a> - The name of the custom inventory type for
--   which you want to delete either all previously collected data, or the
--   inventory type itself.</li>
--   </ul>
deleteInventory :: Text -> DeleteInventory

-- | <i>See:</i> <a>deleteInventory</a> smart constructor.
data DeleteInventory

-- | User-provided idempotency token.
diClientToken :: Lens' DeleteInventory (Maybe Text)

-- | Use the <tt>SchemaDeleteOption</tt> to delete a custom inventory type
--   (schema). If you don't choose this option, the system only deletes
--   existing inventory data associated with the custom inventory type.
--   Choose one of the following options: DisableSchema: If you choose this
--   option, the system ignores all inventory data for the specified
--   version, and any earlier versions. To enable this schema again, you
--   must call the <tt>PutInventory</tt> action for a version greater than
--   the disbled version. DeleteSchema: This option deletes the specified
--   custom type from the Inventory service. You can recreate the schema
--   later, if you want.
diSchemaDeleteOption :: Lens' DeleteInventory (Maybe InventorySchemaDeleteOption)

-- | Use this option to view a summary of the deletion request without
--   deleting any data or the data type. This option is useful when you
--   only want to understand what will be deleted. Once you validate that
--   the data to be deleted is what you intend to delete, you can run the
--   same command without specifying the <tt>DryRun</tt> option.
diDryRun :: Lens' DeleteInventory (Maybe Bool)

-- | The name of the custom inventory type for which you want to delete
--   either all previously collected data, or the inventory type itself.
diTypeName :: Lens' DeleteInventory Text

-- | Creates a value of <a>DeleteInventoryResponse</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>dirsTypeName</a> - The name of the inventory data type
--   specified in the request.</li>
--   <li><a>dirsDeletionSummary</a> - A summary of the delete operation.
--   For more information about this summary, see <a>Understanding the
--   Delete Inventory Summary</a> .</li>
--   <li><a>dirsDeletionId</a> - Every <tt>DeleteInventory</tt> action is
--   assigned a unique ID. This option returns a unique ID. You can use
--   this ID to query the status of a delete operation. This option is
--   useful for ensuring that a delete operation has completed before you
--   begin other actions.</li>
--   <li><a>dirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteInventoryResponse :: Int -> DeleteInventoryResponse

-- | <i>See:</i> <a>deleteInventoryResponse</a> smart constructor.
data DeleteInventoryResponse

-- | The name of the inventory data type specified in the request.
dirsTypeName :: Lens' DeleteInventoryResponse (Maybe Text)

-- | A summary of the delete operation. For more information about this
--   summary, see <a>Understanding the Delete Inventory Summary</a> .
dirsDeletionSummary :: Lens' DeleteInventoryResponse (Maybe InventoryDeletionSummary)

-- | Every <tt>DeleteInventory</tt> action is assigned a unique ID. This
--   option returns a unique ID. You can use this ID to query the status of
--   a delete operation. This option is useful for ensuring that a delete
--   operation has completed before you begin other actions.
dirsDeletionId :: Lens' DeleteInventoryResponse (Maybe Text)

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


-- | Deletes the Systems Manager document and all instance associations to
--   the document.
--   
--   Before you delete the document, we recommend that you use
--   <tt>DeleteAssociation</tt> 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 document.</li>
--   </ul>
deleteDocument :: Text -> DeleteDocument

-- | <i>See:</i> <a>deleteDocument</a> smart constructor.
data DeleteDocument

-- | The name of the 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 Control.DeepSeq.NFData Network.AWS.SSM.DeleteDocument.DeleteDocumentResponse
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


-- | Disassociates the specified Systems Manager document from the
--   specified instance.
--   
--   When you disassociate a document from an instance, it does not change
--   the configuration of the instance. To change the configuration state
--   of an instance after you disassociate a document, you must create a
--   new document with the desired configuration and associate it with the
--   instance.
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 Systems Manager 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 Systems Manager 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 Control.DeepSeq.NFData Network.AWS.SSM.DeleteAssociation.DeleteAssociationResponse
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


-- | 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>delersResponseStatus</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>
delersResponseStatus :: 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 Control.DeepSeq.NFData Network.AWS.SSM.DeleteActivation.DeleteActivationResponse
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


-- | Creates a resource data sync configuration to a single bucket in
--   Amazon S3. This is an asynchronous operation that returns immediately.
--   After a successful initial sync is completed, the system continuously
--   syncs data to the Amazon S3 bucket. To check the status of the sync,
--   use the <tt>ListResourceDataSync</tt> .
--   
--   By default, data is not encrypted in Amazon S3. We strongly recommend
--   that you enable encryption in Amazon S3 to ensure secure data storage.
--   We also recommend that you secure access to the Amazon S3 bucket by
--   creating a restrictive bucket policy. To view an example of a
--   restrictive Amazon S3 bucket policy for Resource Data Sync, see
--   <a>Configuring Resource Data Sync for Inventory</a> .
module Network.AWS.SSM.CreateResourceDataSync

-- | Creates a value of <a>CreateResourceDataSync</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>crdsSyncName</a> - A name for the configuration.</li>
--   <li><a>crdsS3Destination</a> - Amazon S3 configuration details for the
--   sync.</li>
--   </ul>
createResourceDataSync :: Text -> ResourceDataSyncS3Destination -> CreateResourceDataSync

-- | <i>See:</i> <a>createResourceDataSync</a> smart constructor.
data CreateResourceDataSync

-- | A name for the configuration.
crdsSyncName :: Lens' CreateResourceDataSync Text

-- | Amazon S3 configuration details for the sync.
crdsS3Destination :: Lens' CreateResourceDataSync ResourceDataSyncS3Destination

-- | Creates a value of <a>CreateResourceDataSyncResponse</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>crdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createResourceDataSyncResponse :: Int -> CreateResourceDataSyncResponse

-- | <i>See:</i> <a>createResourceDataSyncResponse</a> smart constructor.
data CreateResourceDataSyncResponse

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


-- | Creates a patch baseline.
module Network.AWS.SSM.CreatePatchBaseline

-- | Creates a value of <a>CreatePatchBaseline</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>cpbApprovalRules</a> - A set of rules used to include patches
--   in the baseline.</li>
--   <li><a>cpbClientToken</a> - User-provided idempotency token.</li>
--   <li><a>cpbOperatingSystem</a> - Defines the operating system the patch
--   baseline applies to. The Default value is WINDOWS.</li>
--   <li><a>cpbGlobalFilters</a> - A set of global filters used to exclude
--   patches from the baseline.</li>
--   <li><a>cpbApprovedPatchesComplianceLevel</a> - Defines the compliance
--   level for approved patches. This means that if an approved patch is
--   reported as missing, this is the severity of the compliance violation.
--   The default value is UNSPECIFIED.</li>
--   <li><a>cpbApprovedPatches</a> - A list of explicitly approved patches
--   for the baseline. For information about accepted formats for lists of
--   approved patches and rejected patches, see <a>Package Name Formats for
--   Approved and Rejected Patch Lists</a> in the <i>AWS Systems Manager
--   User Guide</i> .</li>
--   <li><a>cpbApprovedPatchesEnableNonSecurity</a> - Indicates whether the
--   list of approved patches includes non-security updates that should be
--   applied to the instances. The default value is <tt>false</tt>. Applies
--   to Linux instances only.</li>
--   <li><a>cpbRejectedPatches</a> - A list of explicitly rejected patches
--   for the baseline. For information about accepted formats for lists of
--   approved patches and rejected patches, see <a>Package Name Formats for
--   Approved and Rejected Patch Lists</a> in the <i>AWS Systems Manager
--   User Guide</i> .</li>
--   <li><a>cpbSources</a> - Information about the patches to use to update
--   the instances, including target operating systems and source
--   repositories. Applies to Linux instances only.</li>
--   <li><a>cpbDescription</a> - A description of the patch baseline.</li>
--   <li><a>cpbName</a> - The name of the patch baseline.</li>
--   </ul>
createPatchBaseline :: Text -> CreatePatchBaseline

-- | <i>See:</i> <a>createPatchBaseline</a> smart constructor.
data CreatePatchBaseline

-- | A set of rules used to include patches in the baseline.
cpbApprovalRules :: Lens' CreatePatchBaseline (Maybe PatchRuleGroup)

-- | User-provided idempotency token.
cpbClientToken :: Lens' CreatePatchBaseline (Maybe Text)

-- | Defines the operating system the patch baseline applies to. The
--   Default value is WINDOWS.
cpbOperatingSystem :: Lens' CreatePatchBaseline (Maybe OperatingSystem)

-- | A set of global filters used to exclude patches from the baseline.
cpbGlobalFilters :: Lens' CreatePatchBaseline (Maybe PatchFilterGroup)

-- | Defines the compliance level for approved patches. This means that if
--   an approved patch is reported as missing, this is the severity of the
--   compliance violation. The default value is UNSPECIFIED.
cpbApprovedPatchesComplianceLevel :: Lens' CreatePatchBaseline (Maybe PatchComplianceLevel)

-- | A list of explicitly approved patches for the baseline. For
--   information about accepted formats for lists of approved patches and
--   rejected patches, see <a>Package Name Formats for Approved and
--   Rejected Patch Lists</a> in the <i>AWS Systems Manager User Guide</i>
--   .
cpbApprovedPatches :: Lens' CreatePatchBaseline [Text]

-- | Indicates whether the list of approved patches includes non-security
--   updates that should be applied to the instances. The default value is
--   <tt>false</tt>. Applies to Linux instances only.
cpbApprovedPatchesEnableNonSecurity :: Lens' CreatePatchBaseline (Maybe Bool)

-- | A list of explicitly rejected patches for the baseline. For
--   information about accepted formats for lists of approved patches and
--   rejected patches, see <a>Package Name Formats for Approved and
--   Rejected Patch Lists</a> in the <i>AWS Systems Manager User Guide</i>
--   .
cpbRejectedPatches :: Lens' CreatePatchBaseline [Text]

-- | Information about the patches to use to update the instances,
--   including target operating systems and source repositories. Applies to
--   Linux instances only.
cpbSources :: Lens' CreatePatchBaseline [PatchSource]

-- | A description of the patch baseline.
cpbDescription :: Lens' CreatePatchBaseline (Maybe Text)

-- | The name of the patch baseline.
cpbName :: Lens' CreatePatchBaseline Text

-- | Creates a value of <a>CreatePatchBaselineResponse</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>cpbrsBaselineId</a> - The ID of the created patch
--   baseline.</li>
--   <li><a>cpbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createPatchBaselineResponse :: Int -> CreatePatchBaselineResponse

-- | <i>See:</i> <a>createPatchBaselineResponse</a> smart constructor.
data CreatePatchBaselineResponse

-- | The ID of the created patch baseline.
cpbrsBaselineId :: Lens' CreatePatchBaselineResponse (Maybe Text)

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


-- | 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>cmwDescription</a> - An optional description for the
--   Maintenance Window. We recommend specifying a description to help you
--   organize your Maintenance Windows.</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> - Enables a Maintenance Window
--   task to execute on managed instances, even if you have not registered
--   those instances as targets. If enabled, then you must specify the
--   unregistered instances (by instance ID) when you register a task with
--   the Maintenance Window If you don't enable this option, then you must
--   specify previously-registered targets when you register a task with
--   the Maintenance Window.</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)

-- | An optional description for the Maintenance Window. We recommend
--   specifying a description to help you organize your Maintenance
--   Windows.
cmwDescription :: 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

-- | Enables a Maintenance Window task to execute on managed instances,
--   even if you have not registered those instances as targets. If
--   enabled, then you must specify the unregistered instances (by instance
--   ID) when you register a task with the Maintenance Window If you don't
--   enable this option, then you must specify previously-registered
--   targets when you register a task with the Maintenance Window.
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.Classes.Eq Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.CreateMaintenanceWindow.CreateMaintenanceWindowResponse
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


-- | Creates a Systems Manager document.
--   
--   After you create a 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>cdTargetType</a> - Specify a target type to define the kinds of
--   resources the document can run on. For example, to run a document on
--   EC2 instances, specify the following value: <i>AWS::EC2::Instance. If
--   you specify a value of '</i>' the document can run on all types of
--   resources. If you don't specify a value, the document can't run on any
--   resources. For a list of valid resource types, see <a>AWS Resource
--   Types Reference</a> in the <i>AWS CloudFormation User Guide</i> .</li>
--   <li><a>cdDocumentFormat</a> - Specify the document format for the
--   request. The document format can be either JSON or YAML. JSON is the
--   default format.</li>
--   <li><a>cdContent</a> - A valid JSON or YAML string.</li>
--   <li><a>cdName</a> - A name for the Systems Manager document.
--   <i>Important:</i> Do not use the following to begin the names of
--   documents you create. They are reserved by AWS for use as document
--   prefixes: * <tt>aws</tt> * <tt>amazon</tt> * <tt>amzn</tt></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)

-- | Specify a target type to define the kinds of resources the document
--   can run on. For example, to run a document on EC2 instances, specify
--   the following value: <i>AWS::EC2::Instance. If you specify a value of
--   '</i>' the document can run on all types of resources. If you don't
--   specify a value, the document can't run on any resources. For a list
--   of valid resource types, see <a>AWS Resource Types Reference</a> in
--   the <i>AWS CloudFormation User Guide</i> .
cdTargetType :: Lens' CreateDocument (Maybe Text)

-- | Specify the document format for the request. The document format can
--   be either JSON or YAML. JSON is the default format.
cdDocumentFormat :: Lens' CreateDocument (Maybe DocumentFormat)

-- | A valid JSON or YAML string.
cdContent :: Lens' CreateDocument Text

-- | A name for the Systems Manager document. <i>Important:</i> Do not use
--   the following to begin the names of documents you create. They are
--   reserved by AWS for use as document prefixes: * <tt>aws</tt> *
--   <tt>amazon</tt> * <tt>amzn</tt>
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 Systems
--   Manager 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 Systems Manager 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 Control.DeepSeq.NFData Network.AWS.SSM.CreateDocument.CreateDocumentResponse
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


-- | Associates the specified Systems Manager document with the specified
--   instances or targets.
--   
--   When you associate a 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 Control.DeepSeq.NFData Network.AWS.SSM.CreateAssociationBatch.CreateAssociationBatchResponse
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


-- | Associates the specified Systems Manager document with the specified
--   instances or targets.
--   
--   When you associate a 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).</li>
--   <li><a>caOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the output details of the request.</li>
--   <li><a>caTargets</a> - The targets (either instances or tags) for the
--   association.</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>caAssociationName</a> - Specify a descriptive name for the
--   association.</li>
--   <li><a>caName</a> - The name of the Systems Manager 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).
caScheduleExpression :: Lens' CreateAssociation (Maybe Text)

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

-- | The targets (either instances or tags) for the association.
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)

-- | Specify a descriptive name for the association.
caAssociationName :: Lens' CreateAssociation (Maybe Text)

-- | The name of the Systems Manager 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 Control.DeepSeq.NFData Network.AWS.SSM.CreateAssociation.CreateAssociationResponse
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


-- | 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 Systems Manager in Hybrid
--   Environments</a> .
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. <i>Important:</i> Do
--   not enter personally identifiable information in this field.</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. <i>Important:</i> Do not
--   enter personally identifiable information in this field.</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. <i>Important:</i> Do not enter personally identifiable
--   information in this field.
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. <i>Important:</i> Do not enter personally
--   identifiable information in this field.
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 Control.DeepSeq.NFData Network.AWS.SSM.CreateActivation.CreateActivationResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.CancelCommand.CancelCommandResponse
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


-- | Adds or overwrites one or more tags for the specified resource. Tags
--   are metadata that you can assign to your documents, managed instances,
--   Maintenance Windows, Parameter Store parameters, and patch baselines.
--   Tags enable you to categorize your resources in different ways, for
--   example, by purpose, owner, or environment. Each tag consists of a key
--   and an optional value, both of which you define. For example, you
--   could define a set of tags for your account's managed instances that
--   helps you track each instance's owner and stack level. For example:
--   Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and
--   Value=Production, Pre-Production, or Test.
--   
--   Each resource can have a maximum of 50 tags.
--   
--   We recommend that you devise a set of tag keys that meets your needs
--   for each resource type. Using a consistent set of tag keys makes it
--   easier for you to manage your resources. You can search and filter the
--   resources based on the tags you add. Tags don't have any semantic
--   meaning to Amazon EC2 and are interpreted strictly as a string of
--   characters.
--   
--   For more information about tags, see <a>Tagging Your Amazon EC2
--   Resources</a> in the <i>Amazon EC2 User Guide</i> .
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. Use the
--   ID of the resource. Here are some examples: ManagedInstance:
--   mi-012345abcde MaintenanceWindow: mw-012345abcde PatchBaseline:
--   pb-012345abcde For the Document and Parameter values, use the name of
--   the resource.</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.
--   <i>Important:</i> Do not enter personally identifiable information in
--   this field.</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. Use the ID of the resource. Here are
--   some examples: ManagedInstance: mi-012345abcde MaintenanceWindow:
--   mw-012345abcde PatchBaseline: pb-012345abcde For the Document and
--   Parameter values, use the name of the resource.
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. <i>Important:</i> Do not enter
--   personally identifiable information in this field.
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 Control.DeepSeq.NFData Network.AWS.SSM.AddTagsToResource.AddTagsToResourceResponse
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


-- | Updates an association. You can update the association name and
--   version, the document version, schedule, parameters, and Amazon S3
--   output.
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.</li>
--   <li><a>uaName</a> - The name of the association document.</li>
--   <li><a>uaOutputLocation</a> - An Amazon S3 bucket where you want to
--   store the results of this request.</li>
--   <li><a>uaTargets</a> - The targets of the association.</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>uaAssociationVersion</a> - This parameter is provided for
--   concurrency control purposes. You must specify the latest association
--   version in the service. If you want to ensure that this request
--   succeeds, either specify <tt>&gt; LATEST</tt> , or omit this
--   parameter.</li>
--   <li><a>uaAssociationName</a> - The name of the association that you
--   want to update.</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.
uaScheduleExpression :: Lens' UpdateAssociation (Maybe Text)

-- | The name of the association document.
uaName :: Lens' UpdateAssociation (Maybe Text)

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

-- | The targets of the association.
uaTargets :: Lens' UpdateAssociation [Target]

-- | 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)

-- | This parameter is provided for concurrency control purposes. You must
--   specify the latest association version in the service. If you want to
--   ensure that this request succeeds, either specify <tt>&gt; LATEST</tt>
--   , or omit this parameter.
uaAssociationVersion :: Lens' UpdateAssociation (Maybe Text)

-- | The name of the association that you want to update.
uaAssociationName :: 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 Control.DeepSeq.NFData Network.AWS.SSM.UpdateAssociation.UpdateAssociationResponse
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


-- | Updates the status of the Systems Manager 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 Systems Manager 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 Systems Manager 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 Control.DeepSeq.NFData Network.AWS.SSM.UpdateAssociationStatus.UpdateAssociationStatusResponse
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


-- | 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>udTargetType</a> - Specify a new target type for the
--   document.</li>
--   <li><a>udDocumentFormat</a> - Specify the document format for the new
--   document version. Systems Manager supports JSON and YAML documents.
--   JSON is the default format.</li>
--   <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

-- | Specify a new target type for the document.
udTargetType :: Lens' UpdateDocument (Maybe Text)

-- | Specify the document format for the new document version. Systems
--   Manager supports JSON and YAML documents. JSON is the default format.
udDocumentFormat :: Lens' UpdateDocument (Maybe DocumentFormat)

-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.UpdateDocument.UpdateDocumentResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.UpdateDocumentDefaultVersion.UpdateDocumentDefaultVersionResponse
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


-- | 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>umwReplace</a> - If True, then all fields that are required by
--   the CreateMaintenanceWindow action are also required for this API
--   request. Optional fields that are not specified are set to null.</li>
--   <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>umwDescription</a> - An optional description for the update
--   request.</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

-- | If True, then all fields that are required by the
--   CreateMaintenanceWindow action are also required for this API request.
--   Optional fields that are not specified are set to null.
umwReplace :: Lens' UpdateMaintenanceWindow (Maybe Bool)

-- | 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)

-- | An optional description for the update request.
umwDescription :: Lens' UpdateMaintenanceWindow (Maybe Text)

-- | 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>umwrsDescription</a> - An optional description of the
--   update.</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)

-- | An optional description of the update.
umwrsDescription :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)

-- | 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.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.Classes.Eq Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Network.AWS.Types.AWSRequest Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindow
instance Control.DeepSeq.NFData Network.AWS.SSM.UpdateMaintenanceWindow.UpdateMaintenanceWindowResponse
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


-- | Modifies the target of an existing Maintenance Window. You can't
--   change the target type, but you can change the following:
--   
--   The target from being an ID target to a Tag target, or a Tag target to
--   an ID target.
--   
--   IDs for an ID target.
--   
--   Tags for a Tag target.
--   
--   Owner.
--   
--   Name.
--   
--   Description.
--   
--   If a parameter is null, then the corresponding field is not modified.
module Network.AWS.SSM.UpdateMaintenanceWindowTarget

-- | Creates a value of <a>UpdateMaintenanceWindowTarget</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>uReplace</a> - If True, then all fields that are required by
--   the RegisterTargetWithMaintenanceWindow action are also required for
--   this API request. Optional fields that are not specified are set to
--   null.</li>
--   <li><a>uOwnerInformation</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>uName</a> - A name for the update.</li>
--   <li><a>uTargets</a> - The targets to add or replace.</li>
--   <li><a>uDescription</a> - An optional description for the update.</li>
--   <li><a>uWindowId</a> - The Maintenance Window ID with which to modify
--   the target.</li>
--   <li><a>uWindowTargetId</a> - The target ID to modify.</li>
--   </ul>
updateMaintenanceWindowTarget :: Text -> Text -> UpdateMaintenanceWindowTarget

-- | <i>See:</i> <a>updateMaintenanceWindowTarget</a> smart constructor.
data UpdateMaintenanceWindowTarget

-- | If True, then all fields that are required by the
--   RegisterTargetWithMaintenanceWindow action are also required for this
--   API request. Optional fields that are not specified are set to null.
uReplace :: Lens' UpdateMaintenanceWindowTarget (Maybe Bool)

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

-- | A name for the update.
uName :: Lens' UpdateMaintenanceWindowTarget (Maybe Text)

-- | The targets to add or replace.
uTargets :: Lens' UpdateMaintenanceWindowTarget [Target]

-- | An optional description for the update.
uDescription :: Lens' UpdateMaintenanceWindowTarget (Maybe Text)

-- | The Maintenance Window ID with which to modify the target.
uWindowId :: Lens' UpdateMaintenanceWindowTarget Text

-- | The target ID to modify.
uWindowTargetId :: Lens' UpdateMaintenanceWindowTarget Text

-- | Creates a value of <a>UpdateMaintenanceWindowTargetResponse</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>ursOwnerInformation</a> - The updated owner.</li>
--   <li><a>ursWindowTargetId</a> - The target ID specified in the update
--   request.</li>
--   <li><a>ursName</a> - The updated name.</li>
--   <li><a>ursTargets</a> - The updated targets.</li>
--   <li><a>ursDescription</a> - The updated description.</li>
--   <li><a>ursWindowId</a> - The Maintenance Window ID specified in the
--   update request.</li>
--   <li><a>ursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateMaintenanceWindowTargetResponse :: Int -> UpdateMaintenanceWindowTargetResponse

-- | <i>See:</i> <a>updateMaintenanceWindowTargetResponse</a> smart
--   constructor.
data UpdateMaintenanceWindowTargetResponse

-- | The updated owner.
ursOwnerInformation :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)

-- | The target ID specified in the update request.
ursWindowTargetId :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)

-- | The updated name.
ursName :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)

-- | The updated targets.
ursTargets :: Lens' UpdateMaintenanceWindowTargetResponse [Target]

-- | The updated description.
ursDescription :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)

-- | The Maintenance Window ID specified in the update request.
ursWindowId :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)

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


-- | Modifies a task assigned to a Maintenance Window. You can't change the
--   task type, but you can change the following values:
--   
--   <ul>
--   <li>TaskARN. For example, you can change a RUN_COMMAND task from
--   AWS-RunPowerShellScript to AWS-RunShellScript.</li>
--   <li>ServiceRoleArn</li>
--   <li>TaskInvocationParameters</li>
--   <li>Priority</li>
--   <li>MaxConcurrency</li>
--   <li>MaxErrors</li>
--   </ul>
--   
--   If a parameter is null, then the corresponding field is not modified.
--   Also, if you set Replace to true, then all fields required by the
--   <tt>RegisterTaskWithMaintenanceWindow</tt> action are required for
--   this request. Optional fields that aren't specified are set to null.
module Network.AWS.SSM.UpdateMaintenanceWindowTask

-- | Creates a value of <a>UpdateMaintenanceWindowTask</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>umwtServiceRoleARN</a> - The IAM service role ARN to modify.
--   The system assumes this role during task execution.</li>
--   <li><a>umwtReplace</a> - If True, then all fields that are required by
--   the RegisterTaskWithMaintenanceWndow action are also required for this
--   API request. Optional fields that are not specified are set to
--   null.</li>
--   <li><a>umwtTaskParameters</a> - The parameters to modify. The map has
--   the following format: Key: string, between 1 and 255 characters Value:
--   an array of strings, each string is between 1 and 255 characters</li>
--   <li><a>umwtPriority</a> - The new task priority to specify. The lower
--   the number, the higher the priority. Tasks that have the same priority
--   are scheduled in parallel.</li>
--   <li><a>umwtTaskARN</a> - The task ARN to modify.</li>
--   <li><a>umwtMaxErrors</a> - The new <tt>MaxErrors</tt> value to
--   specify. <tt>MaxErrors</tt> is the maximum number of errors that are
--   allowed before the task stops being scheduled.</li>
--   <li><a>umwtTaskInvocationParameters</a> - The parameters that the task
--   should use during execution. Populate only the fields that match the
--   task type. All other fields should be empty.</li>
--   <li><a>umwtName</a> - The new task name to specify.</li>
--   <li><a>umwtTargets</a> - The targets (either instances or tags) to
--   modify. Instances are specified using
--   Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified
--   using Key=tag_name,Values=tag_value.</li>
--   <li><a>umwtLoggingInfo</a> - The new logging location in Amazon S3 to
--   specify.</li>
--   <li><a>umwtDescription</a> - The new task description to specify.</li>
--   <li><a>umwtMaxConcurrency</a> - The new <tt>MaxConcurrency</tt> value
--   you want to specify. <tt>MaxConcurrency</tt> is the number of targets
--   that are allowed to run this task in parallel.</li>
--   <li><a>umwtWindowId</a> - The Maintenance Window ID that contains the
--   task to modify.</li>
--   <li><a>umwtWindowTaskId</a> - The task ID to modify.</li>
--   </ul>
updateMaintenanceWindowTask :: Text -> Text -> UpdateMaintenanceWindowTask

-- | <i>See:</i> <a>updateMaintenanceWindowTask</a> smart constructor.
data UpdateMaintenanceWindowTask

-- | The IAM service role ARN to modify. The system assumes this role
--   during task execution.
umwtServiceRoleARN :: Lens' UpdateMaintenanceWindowTask (Maybe Text)

-- | If True, then all fields that are required by the
--   RegisterTaskWithMaintenanceWndow action are also required for this API
--   request. Optional fields that are not specified are set to null.
umwtReplace :: Lens' UpdateMaintenanceWindowTask (Maybe Bool)

-- | The parameters to modify. The map has the following format: Key:
--   string, between 1 and 255 characters Value: an array of strings, each
--   string is between 1 and 255 characters
umwtTaskParameters :: Lens' UpdateMaintenanceWindowTask (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))

-- | The new task priority to specify. The lower the number, the higher the
--   priority. Tasks that have the same priority are scheduled in parallel.
umwtPriority :: Lens' UpdateMaintenanceWindowTask (Maybe Natural)

-- | The task ARN to modify.
umwtTaskARN :: Lens' UpdateMaintenanceWindowTask (Maybe Text)

-- | The new <tt>MaxErrors</tt> value to specify. <tt>MaxErrors</tt> is the
--   maximum number of errors that are allowed before the task stops being
--   scheduled.
umwtMaxErrors :: Lens' UpdateMaintenanceWindowTask (Maybe Text)

-- | The parameters that the task should use during execution. Populate
--   only the fields that match the task type. All other fields should be
--   empty.
umwtTaskInvocationParameters :: Lens' UpdateMaintenanceWindowTask (Maybe MaintenanceWindowTaskInvocationParameters)

-- | The new task name to specify.
umwtName :: Lens' UpdateMaintenanceWindowTask (Maybe Text)

-- | The targets (either instances or tags) to modify. Instances are
--   specified using Key=instanceids,Values=instanceID_1,instanceID_2. Tags
--   are specified using Key=tag_name,Values=tag_value.
umwtTargets :: Lens' UpdateMaintenanceWindowTask [Target]

-- | The new logging location in Amazon S3 to specify.
umwtLoggingInfo :: Lens' UpdateMaintenanceWindowTask (Maybe LoggingInfo)

-- | The new task description to specify.
umwtDescription :: Lens' UpdateMaintenanceWindowTask (Maybe Text)

-- | The new <tt>MaxConcurrency</tt> value you want to specify.
--   <tt>MaxConcurrency</tt> is the number of targets that are allowed to
--   run this task in parallel.
umwtMaxConcurrency :: Lens' UpdateMaintenanceWindowTask (Maybe Text)

-- | The Maintenance Window ID that contains the task to modify.
umwtWindowId :: Lens' UpdateMaintenanceWindowTask Text

-- | The task ID to modify.
umwtWindowTaskId :: Lens' UpdateMaintenanceWindowTask Text

-- | Creates a value of <a>UpdateMaintenanceWindowTaskResponse</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>umwtrsServiceRoleARN</a> - The updated service role ARN
--   value.</li>
--   <li><a>umwtrsWindowTaskId</a> - The task ID of the Maintenance Window
--   that was updated.</li>
--   <li><a>umwtrsTaskParameters</a> - The updated parameter values.</li>
--   <li><a>umwtrsPriority</a> - The updated priority value.</li>
--   <li><a>umwtrsTaskARN</a> - The updated task ARN value.</li>
--   <li><a>umwtrsMaxErrors</a> - The updated MaxErrors value.</li>
--   <li><a>umwtrsTaskInvocationParameters</a> - The updated parameter
--   values.</li>
--   <li><a>umwtrsName</a> - The updated task name.</li>
--   <li><a>umwtrsTargets</a> - The updated target values.</li>
--   <li><a>umwtrsLoggingInfo</a> - The updated logging information in
--   Amazon S3.</li>
--   <li><a>umwtrsDescription</a> - The updated task description.</li>
--   <li><a>umwtrsMaxConcurrency</a> - The updated MaxConcurrency
--   value.</li>
--   <li><a>umwtrsWindowId</a> - The ID of the Maintenance Window that was
--   updated.</li>
--   <li><a>umwtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateMaintenanceWindowTaskResponse :: Int -> UpdateMaintenanceWindowTaskResponse

-- | <i>See:</i> <a>updateMaintenanceWindowTaskResponse</a> smart
--   constructor.
data UpdateMaintenanceWindowTaskResponse

-- | The updated service role ARN value.
umwtrsServiceRoleARN :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The task ID of the Maintenance Window that was updated.
umwtrsWindowTaskId :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The updated parameter values.
umwtrsTaskParameters :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))

-- | The updated priority value.
umwtrsPriority :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Natural)

-- | The updated task ARN value.
umwtrsTaskARN :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The updated MaxErrors value.
umwtrsMaxErrors :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The updated parameter values.
umwtrsTaskInvocationParameters :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe MaintenanceWindowTaskInvocationParameters)

-- | The updated task name.
umwtrsName :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The updated target values.
umwtrsTargets :: Lens' UpdateMaintenanceWindowTaskResponse [Target]

-- | The updated logging information in Amazon S3.
umwtrsLoggingInfo :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe LoggingInfo)

-- | The updated task description.
umwtrsDescription :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The updated MaxConcurrency value.
umwtrsMaxConcurrency :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

-- | The ID of the Maintenance Window that was updated.
umwtrsWindowId :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)

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


-- | 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 Control.DeepSeq.NFData Network.AWS.SSM.UpdateManagedInstanceRole.UpdateManagedInstanceRoleResponse
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


-- | Modifies an existing patch baseline. Fields not specified in the
--   request are left unchanged.
module Network.AWS.SSM.UpdatePatchBaseline

-- | Creates a value of <a>UpdatePatchBaseline</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>upbReplace</a> - If True, then all fields that are required by
--   the CreatePatchBaseline action are also required for this API request.
--   Optional fields that are not specified are set to null.</li>
--   <li><a>upbApprovalRules</a> - A set of rules used to include patches
--   in the baseline.</li>
--   <li><a>upbGlobalFilters</a> - A set of global filters used to exclude
--   patches from the baseline.</li>
--   <li><a>upbApprovedPatchesComplianceLevel</a> - Assigns a new
--   compliance severity level to an existing patch baseline.</li>
--   <li><a>upbApprovedPatches</a> - A list of explicitly approved patches
--   for the baseline. For information about accepted formats for lists of
--   approved patches and rejected patches, see <a>Package Name Formats for
--   Approved and Rejected Patch Lists</a> in the <i>AWS Systems Manager
--   User Guide</i> .</li>
--   <li><a>upbApprovedPatchesEnableNonSecurity</a> - Indicates whether the
--   list of approved patches includes non-security updates that should be
--   applied to the instances. The default value is <tt>false</tt>. Applies
--   to Linux instances only.</li>
--   <li><a>upbRejectedPatches</a> - A list of explicitly rejected patches
--   for the baseline. For information about accepted formats for lists of
--   approved patches and rejected patches, see <a>Package Name Formats for
--   Approved and Rejected Patch Lists</a> in the <i>AWS Systems Manager
--   User Guide</i> .</li>
--   <li><a>upbSources</a> - Information about the patches to use to update
--   the instances, including target operating systems and source
--   repositories. Applies to Linux instances only.</li>
--   <li><a>upbName</a> - The name of the patch baseline.</li>
--   <li><a>upbDescription</a> - A description of the patch baseline.</li>
--   <li><a>upbBaselineId</a> - The ID of the patch baseline to
--   update.</li>
--   </ul>
updatePatchBaseline :: Text -> UpdatePatchBaseline

-- | <i>See:</i> <a>updatePatchBaseline</a> smart constructor.
data UpdatePatchBaseline

-- | If True, then all fields that are required by the CreatePatchBaseline
--   action are also required for this API request. Optional fields that
--   are not specified are set to null.
upbReplace :: Lens' UpdatePatchBaseline (Maybe Bool)

-- | A set of rules used to include patches in the baseline.
upbApprovalRules :: Lens' UpdatePatchBaseline (Maybe PatchRuleGroup)

-- | A set of global filters used to exclude patches from the baseline.
upbGlobalFilters :: Lens' UpdatePatchBaseline (Maybe PatchFilterGroup)

-- | Assigns a new compliance severity level to an existing patch baseline.
upbApprovedPatchesComplianceLevel :: Lens' UpdatePatchBaseline (Maybe PatchComplianceLevel)

-- | A list of explicitly approved patches for the baseline. For
--   information about accepted formats for lists of approved patches and
--   rejected patches, see <a>Package Name Formats for Approved and
--   Rejected Patch Lists</a> in the <i>AWS Systems Manager User Guide</i>
--   .
upbApprovedPatches :: Lens' UpdatePatchBaseline [Text]

-- | Indicates whether the list of approved patches includes non-security
--   updates that should be applied to the instances. The default value is
--   <tt>false</tt>. Applies to Linux instances only.
upbApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaseline (Maybe Bool)

-- | A list of explicitly rejected patches for the baseline. For
--   information about accepted formats for lists of approved patches and
--   rejected patches, see <a>Package Name Formats for Approved and
--   Rejected Patch Lists</a> in the <i>AWS Systems Manager User Guide</i>
--   .
upbRejectedPatches :: Lens' UpdatePatchBaseline [Text]

-- | Information about the patches to use to update the instances,
--   including target operating systems and source repositories. Applies to
--   Linux instances only.
upbSources :: Lens' UpdatePatchBaseline [PatchSource]

-- | The name of the patch baseline.
upbName :: Lens' UpdatePatchBaseline (Maybe Text)

-- | A description of the patch baseline.
upbDescription :: Lens' UpdatePatchBaseline (Maybe Text)

-- | The ID of the patch baseline to update.
upbBaselineId :: Lens' UpdatePatchBaseline Text

-- | Creates a value of <a>UpdatePatchBaselineResponse</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>upbrsApprovalRules</a> - A set of rules used to include patches
--   in the baseline.</li>
--   <li><a>upbrsOperatingSystem</a> - The operating system rule used by
--   the updated patch baseline.</li>
--   <li><a>upbrsGlobalFilters</a> - A set of global filters used to
--   exclude patches from the baseline.</li>
--   <li><a>upbrsApprovedPatchesComplianceLevel</a> - The compliance
--   severity level assigned to the patch baseline after the update
--   completed.</li>
--   <li><a>upbrsApprovedPatches</a> - A list of explicitly approved
--   patches for the baseline.</li>
--   <li><a>upbrsApprovedPatchesEnableNonSecurity</a> - Indicates whether
--   the list of approved patches includes non-security updates that should
--   be applied to the instances. The default value is <tt>false</tt>.
--   Applies to Linux instances only.</li>
--   <li><a>upbrsRejectedPatches</a> - A list of explicitly rejected
--   patches for the baseline.</li>
--   <li><a>upbrsSources</a> - Information about the patches to use to
--   update the instances, including target operating systems and source
--   repositories. Applies to Linux instances only.</li>
--   <li><a>upbrsCreatedDate</a> - The date when the patch baseline was
--   created.</li>
--   <li><a>upbrsName</a> - The name of the patch baseline.</li>
--   <li><a>upbrsModifiedDate</a> - The date when the patch baseline was
--   last modified.</li>
--   <li><a>upbrsDescription</a> - A description of the Patch
--   Baseline.</li>
--   <li><a>upbrsBaselineId</a> - The ID of the deleted patch
--   baseline.</li>
--   <li><a>upbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updatePatchBaselineResponse :: Int -> UpdatePatchBaselineResponse

-- | <i>See:</i> <a>updatePatchBaselineResponse</a> smart constructor.
data UpdatePatchBaselineResponse

-- | A set of rules used to include patches in the baseline.
upbrsApprovalRules :: Lens' UpdatePatchBaselineResponse (Maybe PatchRuleGroup)

-- | The operating system rule used by the updated patch baseline.
upbrsOperatingSystem :: Lens' UpdatePatchBaselineResponse (Maybe OperatingSystem)

-- | A set of global filters used to exclude patches from the baseline.
upbrsGlobalFilters :: Lens' UpdatePatchBaselineResponse (Maybe PatchFilterGroup)

-- | The compliance severity level assigned to the patch baseline after the
--   update completed.
upbrsApprovedPatchesComplianceLevel :: Lens' UpdatePatchBaselineResponse (Maybe PatchComplianceLevel)

-- | A list of explicitly approved patches for the baseline.
upbrsApprovedPatches :: Lens' UpdatePatchBaselineResponse [Text]

-- | Indicates whether the list of approved patches includes non-security
--   updates that should be applied to the instances. The default value is
--   <tt>false</tt>. Applies to Linux instances only.
upbrsApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaselineResponse (Maybe Bool)

-- | A list of explicitly rejected patches for the baseline.
upbrsRejectedPatches :: Lens' UpdatePatchBaselineResponse [Text]

-- | Information about the patches to use to update the instances,
--   including target operating systems and source repositories. Applies to
--   Linux instances only.
upbrsSources :: Lens' UpdatePatchBaselineResponse [PatchSource]

-- | The date when the patch baseline was created.
upbrsCreatedDate :: Lens' UpdatePatchBaselineResponse (Maybe UTCTime)

-- | The name of the patch baseline.
upbrsName :: Lens' UpdatePatchBaselineResponse (Maybe Text)

-- | The date when the patch baseline was last modified.
upbrsModifiedDate :: Lens' UpdatePatchBaselineResponse (Maybe UTCTime)

-- | A description of the Patch Baseline.
upbrsDescription :: Lens' UpdatePatchBaselineResponse (Maybe Text)

-- | The ID of the deleted patch baseline.
upbrsBaselineId :: Lens' UpdatePatchBaselineResponse (Maybe Text)

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


module Network.AWS.SSM.Waiters


-- | <b>AWS Systems Manager</b>
--   
--   AWS Systems Manager is a collection of capabilities that helps you
--   automate management tasks such as collecting system inventory,
--   applying operating system (OS) patches, automating the creation of
--   Amazon Machine Images (AMIs), and configuring operating systems (OSs)
--   and applications at scale. Systems Manager lets you remotely and
--   securely manage the configuration of your managed instances. A
--   <i>managed instance</i> is any Amazon EC2 instance or on-premises
--   machine in your hybrid environment that has been configured for
--   Systems Manager.
--   
--   This reference is intended to be used with the <a>AWS Systems Manager
--   User Guide</a> .
--   
--   To get started, verify prerequisites and configure managed instances.
--   For more information, see <a>Systems Manager Prerequisites</a> .
--   
--   For information about other API actions you can perform on Amazon EC2
--   instances, see the <a>Amazon EC2 API Reference</a> . For information
--   about how to use a Query API, see <a>Making API Requests</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

-- | Parameter Store does not support changing a parameter type in a
--   hierarchy. For example, you can't change a parameter from a String
--   type to a SecureString type. You must create a new, unique parameter.
_HierarchyTypeMismatchException :: 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 specified update status operation is not valid.
_InvalidAutomationStatusUpdateException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | You attempted to register a LAMBDA or STEP_FUNCTION task in a region
--   where the corresponding service is not available.
_FeatureNotAvailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The signal is not valid for the current Automation execution.
_InvalidAutomationSignalException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the allowed maximum sync configurations.
_ResourceDataSyncCountExceededException :: 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 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 specified filter option is not valid. Valid options are Equals and
--   BeginsWith. For Path filter, valid options are Recursive and OneLevel.
_InvalidFilterOption :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter name is not valid.
_ParameterPatternMismatchException :: 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 a document from all instances before you can
--   delete it.
_AssociatedInstances :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operating systems you specified is not supported, or the operation
--   is not supported for the operating system. Valid operating systems
--   include: Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
_UnsupportedOperatingSystem :: 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 request is not valid.
_InvalidInventoryRequestException :: 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. For example, too many Maintenance Windows or Patch baselines
--   have been created.
--   
--   For information about resource limits in Systems Manager, see <a>AWS
--   Systems Manager Limits</a> .
_ResourceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified sync configuration is invalid.
_ResourceDataSyncInvalidConfigurationException :: 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. For example, 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 GetInventorySchema 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 specified sync name was not found.
_ResourceDataSyncNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The parameter exceeded the maximum number of allowed versions.
_ParameterMaxVersionLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | A sync configuration with the same name already exists.
_ResourceDataSyncAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Error returned when the ID specified for a resource, such as a
--   Maintenance Window or Patch baseline, doesn't exist.
--   
--   For information about resource limits in Systems Manager, see <a>AWS
--   Systems Manager Limits</a> .
_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

-- | You specified too many custom compliance types. You can specify a
--   maximum of 10 different types.
_ComplianceTypeCountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more of the parameters specified for the delete operation is
--   not valid. Verify all parameters and try again.
_InvalidDeleteInventoryParametersException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The ID specified for the delete operation does not exist or is not
--   valide. Verify the ID and try again.
_InvalidDeletionIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The content for the 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 version you specified is not valid. Use ListAssociationVersions to
--   view all versions of an association according to the association ID.
--   Or, use the <tt>&gt; LATEST</tt> parameter to view the latest version
--   of the association.
_InvalidAssociationVersion :: 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

-- | You specified the <tt>Safe</tt> option for the
--   DeregisterTargetFromMaintenanceWindow operation, but the target is
--   still referenced in a task.
_TargetInUseException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | The <tt>Context</tt> attribute that you specified for the
--   <tt>InventoryItem</tt> is not allowed for this inventory type. You can
--   only use the <tt>Context</tt> attribute with inventory types like
--   <tt>AWS:ComplianceItem</tt> .
_UnsupportedInventoryItemContextException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the maximum number versions allowed for an
--   association. Each association has a limit of 1,000 versions.
_AssociationVersionLimitExceeded :: 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>Configuring Amazon SNS Notifications for
--   Run Command</a> in the <i>AWS Systems Manager 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 delete inventory option specified is not valid. Verify the option
--   and try again.
_InvalidOptionException :: 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 a document is 64 KB.
_MaxDocumentSizeExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified parameter version was not found. Verify the parameter
--   name and version, and try again.
_ParameterVersionNotFound :: 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

-- | A hierarchy can have a maximum of 15 levels. For more information, see
--   <a>Working with Systems Manager Parameters</a> .
_HierarchyLevelLimitExceededException :: 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 Systems
--   Manager document. You can only supply values to parameters defined in
--   the Systems Manager 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

-- | The request does not meet the regular expression requirement.
_InvalidAllowedPatternException :: 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

-- | You specified invalid keys or values in the <tt>Context</tt> attribute
--   for <tt>InventoryItem</tt> . Verify the keys and values, and try
--   again.
_InvalidInventoryItemContextException :: 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 sub-type count exceeded the limit for the inventory type.
_SubTypeCountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The Targets 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 specified step name and execution ID don't exist. Verify the
--   information and try again.
_AutomationStepNotFoundException :: 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 document already exists.
_DocumentAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | Error returned if an attempt is made to register a patch group with a
--   patch baseline that is already registered with a different patch
--   baseline.
_AlreadyExistsException :: 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

-- | Error returned if an attempt is made to delete a patch baseline that
--   is registered for a patch group.
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
data AssociationFilterKey
AFKAssociationId :: AssociationFilterKey
AFKAssociationName :: AssociationFilterKey
AFKAssociationStatusName :: AssociationFilterKey
AFKInstanceId :: AssociationFilterKey
AFKLastExecutedAfter :: AssociationFilterKey
AFKLastExecutedBefore :: AssociationFilterKey
AFKName :: AssociationFilterKey
data AssociationStatusName
ASNFailed :: AssociationStatusName
ASNPending :: AssociationStatusName
ASNSuccess :: AssociationStatusName
data AutomationExecutionFilterKey
AEFKCurrentAction :: AutomationExecutionFilterKey
AEFKDocumentNamePrefix :: AutomationExecutionFilterKey
AEFKExecutionId :: AutomationExecutionFilterKey
AEFKExecutionStatus :: AutomationExecutionFilterKey
AEFKParentExecutionId :: AutomationExecutionFilterKey
AEFKStartTimeAfter :: AutomationExecutionFilterKey
AEFKStartTimeBefore :: AutomationExecutionFilterKey
data AutomationExecutionStatus
AESCancelled :: AutomationExecutionStatus
AESCancelling :: AutomationExecutionStatus
AESFailed :: AutomationExecutionStatus
AESInProgress :: AutomationExecutionStatus
AESPending :: AutomationExecutionStatus
AESSuccess :: AutomationExecutionStatus
AESTimedOut :: AutomationExecutionStatus
AESWaiting :: 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
CSCancelled :: CommandStatus
CSCancelling :: CommandStatus
CSFailed :: CommandStatus
CSInProgress :: CommandStatus
CSPending :: CommandStatus
CSSuccess :: CommandStatus
CSTimedOut :: CommandStatus
data ComplianceQueryOperatorType
CQOTBeginWith :: ComplianceQueryOperatorType
CQOTEqual :: ComplianceQueryOperatorType
CQOTGreaterThan :: ComplianceQueryOperatorType
CQOTLessThan :: ComplianceQueryOperatorType
CQOTNotEqual :: ComplianceQueryOperatorType
data ComplianceSeverity
CSCritical :: ComplianceSeverity
CSHigh :: ComplianceSeverity
CSInformational :: ComplianceSeverity
CSLow :: ComplianceSeverity
CSMedium :: ComplianceSeverity
CSUnspecified :: ComplianceSeverity
data ComplianceStatus
Compliant :: ComplianceStatus
NonCompliant :: ComplianceStatus
data DescribeActivationsFilterKeys
ActivationIds :: DescribeActivationsFilterKeys
DefaultInstanceName :: DescribeActivationsFilterKeys
IAMRole :: DescribeActivationsFilterKeys
data DocumentFilterKey
DocumentType :: DocumentFilterKey
Name :: DocumentFilterKey
Owner :: DocumentFilterKey
PlatformTypes :: DocumentFilterKey
data DocumentFormat
JSON :: DocumentFormat
Yaml :: DocumentFormat
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 ExecutionMode
Auto :: ExecutionMode
Interactive :: ExecutionMode
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 InstancePatchStateOperatorType
IPSOTEqual :: InstancePatchStateOperatorType
IPSOTGreaterThan :: InstancePatchStateOperatorType
IPSOTLessThan :: InstancePatchStateOperatorType
IPSOTNotEqual :: InstancePatchStateOperatorType
data InventoryAttributeDataType
IADTNumber :: InventoryAttributeDataType
IADTString :: InventoryAttributeDataType
data InventoryDeletionStatus
Complete :: InventoryDeletionStatus
InProgress :: InventoryDeletionStatus
data InventoryQueryOperatorType
BeginWith :: InventoryQueryOperatorType
Equal :: InventoryQueryOperatorType
GreaterThan :: InventoryQueryOperatorType
LessThan :: InventoryQueryOperatorType
NotEqual :: InventoryQueryOperatorType
data InventorySchemaDeleteOption
DeleteSchema :: InventorySchemaDeleteOption
DisableSchema :: InventorySchemaDeleteOption
data LastResourceDataSyncStatus
LRDSSFailed :: LastResourceDataSyncStatus
LRDSSInProgress :: LastResourceDataSyncStatus
LRDSSSuccessful :: LastResourceDataSyncStatus
data MaintenanceWindowExecutionStatus
MWESCancelled :: MaintenanceWindowExecutionStatus
MWESCancelling :: MaintenanceWindowExecutionStatus
MWESFailed :: MaintenanceWindowExecutionStatus
MWESInProgress :: MaintenanceWindowExecutionStatus
MWESPending :: MaintenanceWindowExecutionStatus
MWESSkippedOverlapping :: MaintenanceWindowExecutionStatus
MWESSuccess :: MaintenanceWindowExecutionStatus
MWESTimedOut :: MaintenanceWindowExecutionStatus
data MaintenanceWindowResourceType
Instance :: MaintenanceWindowResourceType
data MaintenanceWindowTaskType
Automation :: MaintenanceWindowTaskType
Lambda :: MaintenanceWindowTaskType
RunCommand :: MaintenanceWindowTaskType
StepFunctions :: MaintenanceWindowTaskType
data NotificationEvent
NEAll :: NotificationEvent
NECancelled :: NotificationEvent
NEFailed :: NotificationEvent
NEInProgress :: NotificationEvent
NESuccess :: NotificationEvent
NETimedOut :: NotificationEvent
data NotificationType
Command :: NotificationType
Invocation :: NotificationType
data OperatingSystem
AmazonLinux :: OperatingSystem
Centos :: OperatingSystem
RedhatEnterpriseLinux :: OperatingSystem
Suse :: OperatingSystem
Ubuntu :: OperatingSystem
Windows :: OperatingSystem
data ParameterType
SecureString :: ParameterType
String :: ParameterType
StringList :: ParameterType
data ParametersFilterKey
PFKKeyId :: ParametersFilterKey
PFKName :: ParametersFilterKey
PFKType :: ParametersFilterKey
data PatchComplianceDataState
Failed :: PatchComplianceDataState
Installed :: PatchComplianceDataState
InstalledOther :: PatchComplianceDataState
Missing :: PatchComplianceDataState
NotApplicable :: PatchComplianceDataState
data PatchComplianceLevel
Critical :: PatchComplianceLevel
High :: PatchComplianceLevel
Informational :: PatchComplianceLevel
Low :: PatchComplianceLevel
Medium :: PatchComplianceLevel
Unspecified :: PatchComplianceLevel
data PatchDeploymentStatus
Approved :: PatchDeploymentStatus
ExplicitApproved :: PatchDeploymentStatus
ExplicitRejected :: PatchDeploymentStatus
PendingApproval :: PatchDeploymentStatus
data PatchFilterKey
Classification :: PatchFilterKey
MsrcSeverity :: PatchFilterKey
PatchId :: PatchFilterKey
Priority :: PatchFilterKey
Product :: PatchFilterKey
Section :: PatchFilterKey
Severity :: PatchFilterKey
data PatchOperationType
Install :: PatchOperationType
Scan :: PatchOperationType
data PingStatus
ConnectionLost :: PingStatus
Inactive :: PingStatus
Online :: PingStatus
data PlatformType
PTLinux :: PlatformType
PTWindows :: PlatformType
data ResourceDataSyncS3Format
JSONSerDe :: ResourceDataSyncS3Format
data ResourceType
Document :: ResourceType
EC2Instance :: ResourceType
ManagedInstance :: ResourceType
data ResourceTypeForTagging
RTFTDocument :: ResourceTypeForTagging
RTFTMaintenanceWindow :: ResourceTypeForTagging
RTFTManagedInstance :: ResourceTypeForTagging
RTFTParameter :: ResourceTypeForTagging
RTFTPatchBaseline :: ResourceTypeForTagging
data SignalType
Approve :: SignalType
Reject :: SignalType
Resume :: SignalType
StartStep :: SignalType
StopStep :: SignalType
data StepExecutionFilterKey
Action :: StepExecutionFilterKey
StartTimeAfter :: StepExecutionFilterKey
StartTimeBefore :: StepExecutionFilterKey
StepExecutionId :: StepExecutionFilterKey
StepExecutionStatus :: StepExecutionFilterKey
StepName :: StepExecutionFilterKey
data StopType
STCancel :: StopType
STComplete :: StopType

-- | 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 a Systems Manager 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 Systems Manager 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>
--   <li><a>aAssociationVersion</a> - The association version.</li>
--   <li><a>aAssociationName</a> - The association name.</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 Systems Manager 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)

-- | The association version.
aAssociationVersion :: Lens' Association (Maybe Text)

-- | The association name.
aAssociationName :: 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 Systems Manager 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>
--   <li><a>adAssociationVersion</a> - The association version.</li>
--   <li><a>adAssociationName</a> - The association name.</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 Systems Manager 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)

-- | The association version.
adAssociationVersion :: Lens' AssociationDescription (Maybe Text)

-- | The association name.
adAssociationName :: 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:
--   Pending, Success, or Failed.</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: Pending, Success, or
--   Failed.
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

-- | Information about the association version.
--   
--   <i>See:</i> <a>associationVersionInfo</a> smart constructor.
data AssociationVersionInfo

-- | Creates a value of <a>AssociationVersionInfo</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>aviAssociationId</a> - The ID created by the system when the
--   association was created.</li>
--   <li><a>aviCreatedDate</a> - The date the association version was
--   created.</li>
--   <li><a>aviScheduleExpression</a> - The cron or rate schedule specified
--   for the association when the association version was created.</li>
--   <li><a>aviName</a> - The name specified when the association was
--   created.</li>
--   <li><a>aviOutputLocation</a> - The location in Amazon S3 specified for
--   the association when the association version was created.</li>
--   <li><a>aviTargets</a> - The targets specified for the association when
--   the association version was created.</li>
--   <li><a>aviParameters</a> - Parameters specified when the association
--   version was created.</li>
--   <li><a>aviDocumentVersion</a> - The version of a Systems Manager
--   document used when the association version was created.</li>
--   <li><a>aviAssociationVersion</a> - The association version.</li>
--   <li><a>aviAssociationName</a> - The name specified for the association
--   version when the association version was created.</li>
--   </ul>
associationVersionInfo :: AssociationVersionInfo

-- | The ID created by the system when the association was created.
aviAssociationId :: Lens' AssociationVersionInfo (Maybe Text)

-- | The date the association version was created.
aviCreatedDate :: Lens' AssociationVersionInfo (Maybe UTCTime)

-- | The cron or rate schedule specified for the association when the
--   association version was created.
aviScheduleExpression :: Lens' AssociationVersionInfo (Maybe Text)

-- | The name specified when the association was created.
aviName :: Lens' AssociationVersionInfo (Maybe Text)

-- | The location in Amazon S3 specified for the association when the
--   association version was created.
aviOutputLocation :: Lens' AssociationVersionInfo (Maybe InstanceAssociationOutputLocation)

-- | The targets specified for the association when the association version
--   was created.
aviTargets :: Lens' AssociationVersionInfo [Target]

-- | Parameters specified when the association version was created.
aviParameters :: Lens' AssociationVersionInfo (HashMap Text [Text])

-- | The version of a Systems Manager document used when the association
--   version was created.
aviDocumentVersion :: Lens' AssociationVersionInfo (Maybe Text)

-- | The association version.
aviAssociationVersion :: Lens' AssociationVersionInfo (Maybe Text)

-- | The name specified for the association version when the association
--   version was created.
aviAssociationName :: Lens' AssociationVersionInfo (Maybe 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>aeCurrentStepName</a> - The name of the currently executing
--   step.</li>
--   <li><a>aeTargetParameterName</a> - The parameter name.</li>
--   <li><a>aeExecutedBy</a> - The Amazon Resource Name (ARN) of the user
--   who executed the automation.</li>
--   <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>aeMode</a> - The automation execution mode.</li>
--   <li><a>aeStepExecutionsTruncated</a> - A boolean value that indicates
--   if the response contains the full list of the Automation step
--   executions. If true, use the DescribeAutomationStepExecutions API
--   action to get the full list of step executions.</li>
--   <li><a>aeAutomationExecutionStatus</a> - The execution status of the
--   Automation.</li>
--   <li><a>aeParentAutomationExecutionId</a> - The AutomationExecutionId
--   of the parent automation.</li>
--   <li><a>aeOutputs</a> - The list of execution outputs as defined in the
--   automation document.</li>
--   <li><a>aeMaxErrors</a> - The MaxErrors value specified by the user
--   when the execution started.</li>
--   <li><a>aeExecutionStartTime</a> - The time the execution started.</li>
--   <li><a>aeCurrentAction</a> - The action of the currently executing
--   step.</li>
--   <li><a>aeTargets</a> - The specified targets.</li>
--   <li><a>aeResolvedTargets</a> - A list of resolved targets in the rate
--   control execution.</li>
--   <li><a>aeParameters</a> - The key-value map of execution parameters,
--   which were supplied when calling StartAutomationExecution.</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>
--   <li><a>aeMaxConcurrency</a> - The MaxConcurrency value specified by
--   the user when the execution started.</li>
--   <li><a>aeTarget</a> - The target of the execution.</li>
--   </ul>
automationExecution :: AutomationExecution

-- | The name of the currently executing step.
aeCurrentStepName :: Lens' AutomationExecution (Maybe Text)

-- | The parameter name.
aeTargetParameterName :: Lens' AutomationExecution (Maybe Text)

-- | The Amazon Resource Name (ARN) of the user who executed the
--   automation.
aeExecutedBy :: Lens' AutomationExecution (Maybe Text)

-- | 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 automation execution mode.
aeMode :: Lens' AutomationExecution (Maybe ExecutionMode)

-- | A boolean value that indicates if the response contains the full list
--   of the Automation step executions. If true, use the
--   DescribeAutomationStepExecutions API action to get the full list of
--   step executions.
aeStepExecutionsTruncated :: Lens' AutomationExecution (Maybe Bool)

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

-- | The AutomationExecutionId of the parent automation.
aeParentAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)

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

-- | The MaxErrors value specified by the user when the execution started.
aeMaxErrors :: Lens' AutomationExecution (Maybe Text)

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

-- | The action of the currently executing step.
aeCurrentAction :: Lens' AutomationExecution (Maybe Text)

-- | The specified targets.
aeTargets :: Lens' AutomationExecution [Target]

-- | A list of resolved targets in the rate control execution.
aeResolvedTargets :: Lens' AutomationExecution (Maybe ResolvedTargets)

-- | The key-value map of execution parameters, which were supplied when
--   calling StartAutomationExecution.
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]

-- | The MaxConcurrency value specified by the user when the execution
--   started.
aeMaxConcurrency :: Lens' AutomationExecution (Maybe Text)

-- | The target of the execution.
aeTarget :: Lens' AutomationExecution (Maybe Text)

-- | 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> - One or more keys to limit the results. Valid
--   filter keys include the following: DocumentNamePrefix,
--   ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction,
--   StartTimeBefore, StartTimeAfter.</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

-- | One or more keys to limit the results. Valid filter keys include the
--   following: DocumentNamePrefix, ExecutionStatus, ExecutionId,
--   ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter.
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>aemCurrentStepName</a> - The name of the currently executing
--   step.</li>
--   <li><a>aemTargetParameterName</a> - The list of execution outputs as
--   defined in the Automation document.</li>
--   <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>aemFailureMessage</a> - The list of execution outputs as
--   defined in the Automation document.</li>
--   <li><a>aemMode</a> - The Automation execution mode.</li>
--   <li><a>aemAutomationExecutionStatus</a> - The status of the execution.
--   Valid values include: Running, Succeeded, Failed, Timed out, or
--   Cancelled.</li>
--   <li><a>aemParentAutomationExecutionId</a> - The ExecutionId of the
--   parent Automation.</li>
--   <li><a>aemOutputs</a> - The list of execution outputs as defined in
--   the Automation document.</li>
--   <li><a>aemMaxErrors</a> - The MaxErrors value specified by the user
--   when starting the Automation.</li>
--   <li><a>aemExecutionStartTime</a> - The time the execution
--   started.&gt;</li>
--   <li><a>aemCurrentAction</a> - The action of the currently executing
--   step.</li>
--   <li><a>aemTargets</a> - The targets defined by the user when starting
--   the Automation.</li>
--   <li><a>aemResolvedTargets</a> - A list of targets that resolved during
--   the execution.</li>
--   <li><a>aemDocumentVersion</a> - The document version used during the
--   execution.</li>
--   <li><a>aemAutomationExecutionId</a> - The execution ID.</li>
--   <li><a>aemMaxConcurrency</a> - The MaxConcurrency value specified by
--   the user when starting the Automation.</li>
--   <li><a>aemTarget</a> - The list of execution outputs as defined in the
--   Automation document.</li>
--   </ul>
automationExecutionMetadata :: AutomationExecutionMetadata

-- | The name of the currently executing step.
aemCurrentStepName :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The list of execution outputs as defined in the Automation document.
aemTargetParameterName :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | 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 list of execution outputs as defined in the Automation document.
aemFailureMessage :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The Automation execution mode.
aemMode :: Lens' AutomationExecutionMetadata (Maybe ExecutionMode)

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

-- | The ExecutionId of the parent Automation.
aemParentAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)

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

-- | The MaxErrors value specified by the user when starting the
--   Automation.
aemMaxErrors :: Lens' AutomationExecutionMetadata (Maybe Text)

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

-- | The action of the currently executing step.
aemCurrentAction :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The targets defined by the user when starting the Automation.
aemTargets :: Lens' AutomationExecutionMetadata [Target]

-- | A list of targets that resolved during the execution.
aemResolvedTargets :: Lens' AutomationExecutionMetadata (Maybe ResolvedTargets)

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

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

-- | The MaxConcurrency value specified by the user when starting the
--   Automation.
aemMaxConcurrency :: Lens' AutomationExecutionMetadata (Maybe Text)

-- | The list of execution outputs as defined in the Automation document.
aemTarget :: 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 run. 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 document requested for
--   execution.</li>
--   <li><a>cErrorCount</a> - The number of targets for which the status is
--   Failed or Execution Timed Out.</li>
--   <li><a>cStatusDetails</a> - A detailed status of the command
--   execution. StatusDetails includes more information than Status because
--   it includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors or more command invocations shows a status of
--   Delivery Timed Out. This is a terminal state. * Execution Timed Out:
--   The value of MaxErrors or more command invocations shows a status of
--   Execution Timed Out. This is a terminal state. * Failed: The value of
--   MaxErrors or more command invocations shows a status of Failed. This
--   is a terminal state. * Incomplete: The command was attempted on all
--   instances and one or more invocations does not have a value of Success
--   but not enough invocations failed for the status to be Failed. 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 0. For more information about how to
--   use MaxErrors, see <a>Executing a Command Using Systems Manager Run
--   Command</a> .</li>
--   <li><a>cInstanceIds</a> - The instance IDs against which this command
--   was requested.</li>
--   <li><a>cOutputS3Region</a> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</li>
--   <li><a>cTargets</a> - An array of search criteria that targets
--   instances using a Key,Value combination that you specify. Targets 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
--   document when executing the command.</li>
--   <li><a>cDocumentVersion</a> - The SSM document version.</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: Success, Failed, Execution Timed Out, Delivery Timed
--   Out, Canceled, Terminated, or Undeliverable.</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
--   MaxConcurrency, see <a>Executing a Command Using Systems Manager Run
--   Command</a> .</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 run. 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 document requested for execution.
cDocumentName :: Lens' Command (Maybe Text)

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

-- | A detailed status of the command execution. StatusDetails includes
--   more information than Status because it includes states resulting from
--   error and concurrency control parameters. StatusDetails can show
--   different results than Status. For more information about these
--   statuses, see <a>Run Command Status</a> . StatusDetails 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 MaxErrors or more
--   command invocations shows a status of Delivery Timed Out. This is a
--   terminal state. * Execution Timed Out: The value of MaxErrors or more
--   command invocations shows a status of Execution Timed Out. This is a
--   terminal state. * Failed: The value of MaxErrors or more command
--   invocations shows a status of Failed. This is a terminal state. *
--   Incomplete: The command was attempted on all instances and one or more
--   invocations does not have a value of Success but not enough
--   invocations failed for the status to be Failed. 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 0. For more information about how to use MaxErrors, see
--   <a>Executing a Command Using Systems Manager Run Command</a> .
cMaxErrors :: Lens' Command (Maybe Text)

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

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
cOutputS3Region :: Lens' Command (Maybe Text)

-- | An array of search criteria that targets instances using a Key,Value
--   combination that you specify. Targets 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 document when executing the
--   command.
cParameters :: Lens' Command (HashMap Text [Text])

-- | The SSM document version.
cDocumentVersion :: Lens' Command (Maybe 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: Success,
--   Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated,
--   or Undeliverable.
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 MaxConcurrency, see
--   <a>Executing a Command Using Systems Manager Run Command</a> .
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.</li>
--   <li><a>cfValue</a> - The filter value.</li>
--   </ul>
commandFilter :: CommandFilterKey -> Text -> CommandFilter

-- | The name of the filter.
cfKey :: Lens' CommandFilter CommandFilterKey

-- | The filter value.
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>comInstanceId</a> - The instance ID in which this invocation
--   was requested.</li>
--   <li><a>comStatus</a> - Whether or not the invocation succeeded,
--   failed, or is pending.</li>
--   <li><a>comNotificationConfig</a> - Configurations for sending
--   notifications about command status changes on a per instance
--   basis.</li>
--   <li><a>comCommandPlugins</a> - Undocumented member.</li>
--   <li><a>comDocumentName</a> - The document name that was requested for
--   execution.</li>
--   <li><a>comStandardErrorURL</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, StandardErrorUrl 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>comStatusDetails</a> - A detailed status of the command
--   execution for each invocation (each instance targeted by the command).
--   StatusDetails includes more information than Status because it
--   includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors
--   limit, but they do contribute to whether the parent command status is
--   Success or Incomplete. 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 MaxErrors 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 MaxErrors 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 MaxErrors limit and don't contribute to whether the
--   parent command status is Success or Incomplete. This is a terminal
--   state. * Terminated: The parent command exceeded its MaxErrors limit
--   and subsequent command invocations were canceled by the system. This
--   is a terminal state.</li>
--   <li><a>comStandardOutputURL</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, StandardOutputUrl 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>comCommandId</a> - The command against which this invocation
--   was requested.</li>
--   <li><a>comDocumentVersion</a> - The SSM document version.</li>
--   <li><a>comComment</a> - User-specified information about the command,
--   such as a brief description of what the command should do.</li>
--   <li><a>comTraceOutput</a> - Gets the trace output sent by the
--   agent.</li>
--   <li><a>comInstanceName</a> - The name of the invocation target. For
--   Amazon EC2 instances this is the value for the aws:Name tag. For
--   on-premises instances, this is the name of the instance.</li>
--   <li><a>comRequestedDateTime</a> - The time and date the request was
--   sent to this instance.</li>
--   <li><a>comServiceRole</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.
comInstanceId :: Lens' CommandInvocation (Maybe Text)

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

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

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

-- | The document name that was requested for execution.
comDocumentName :: 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,
--   StandardErrorUrl is populated if there is just one plugin defined for
--   the command, and the Amazon S3 bucket was defined for the command.
comStandardErrorURL :: Lens' CommandInvocation (Maybe Text)

-- | A detailed status of the command execution for each invocation (each
--   instance targeted by the command). StatusDetails includes more
--   information than Status because it includes states resulting from
--   error and concurrency control parameters. StatusDetails can show
--   different results than Status. For more information about these
--   statuses, see <a>Run Command Status</a> . StatusDetails 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 MaxErrors limit, but they do
--   contribute to whether the parent command status is Success or
--   Incomplete. 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 MaxErrors 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 MaxErrors
--   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
--   MaxErrors limit and don't contribute to whether the parent command
--   status is Success or Incomplete. This is a terminal state. *
--   Terminated: The parent command exceeded its MaxErrors limit and
--   subsequent command invocations were canceled by the system. This is a
--   terminal state.
comStatusDetails :: 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,
--   StandardOutputUrl is populated if there is just one plugin defined for
--   the command, and the Amazon S3 bucket was defined for the command.
comStandardOutputURL :: Lens' CommandInvocation (Maybe Text)

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

-- | The SSM document version.
comDocumentVersion :: Lens' CommandInvocation (Maybe Text)

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

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

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

-- | The time and date the request was sent to this instance.
comRequestedDateTime :: 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.
comServiceRole :: 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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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. StatusDetails includes more information than Status because
--   it includes states resulting from error and concurrency control
--   parameters. StatusDetails can show different results than Status. For
--   more information about these statuses, see <a>Run Command Status</a> .
--   StatusDetails 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 MaxErrors
--   limit, but they do contribute to whether the parent command status is
--   Success or Incomplete. 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 MaxErrors 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 MaxErrors 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 MaxErrors limit, and they don't contribute to whether
--   the parent command status is Success or Incomplete. This is a terminal
--   state. * Terminated: The parent command exceeded its MaxErrors 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> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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. StatusDetails includes more
--   information than Status because it includes states resulting from
--   error and concurrency control parameters. StatusDetails can show
--   different results than Status. For more information about these
--   statuses, see <a>Run Command Status</a> . StatusDetails 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 MaxErrors limit, but they do
--   contribute to whether the parent command status is Success or
--   Incomplete. 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 MaxErrors 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 MaxErrors
--   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
--   MaxErrors limit, and they don't contribute to whether the parent
--   command status is Success or Incomplete. This is a terminal state. *
--   Terminated: The parent command exceeded its MaxErrors 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)

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
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:
--   test_folder<i>ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix</i>i-1234567876543/awsrunShellScript
--   test_folder is the name of the Amazon S3 bucket;
--   ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
--   i-1234567876543 is the instance ID; awsrunShellScript 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)

-- | A summary of the call execution that includes an execution ID, the
--   type of execution (for example, <tt>Command</tt> ), and the date/time
--   of the execution using a datetime object that is saved in the
--   following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
--   
--   <i>See:</i> <a>complianceExecutionSummary</a> smart constructor.
data ComplianceExecutionSummary

-- | Creates a value of <a>ComplianceExecutionSummary</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>cesExecutionId</a> - An ID created by the system when
--   <tt>PutComplianceItems</tt> was called. For example,
--   <tt>CommandID</tt> is a valid execution ID. You can use this ID in
--   subsequent calls.</li>
--   <li><a>cesExecutionType</a> - The type of execution. For example,
--   <tt>Command</tt> is a valid execution type.</li>
--   <li><a>cesExecutionTime</a> - The time the execution ran as a datetime
--   object that is saved in the following format:
--   yyyy-MM-dd'T'HH:mm:ss'Z'.</li>
--   </ul>
complianceExecutionSummary :: UTCTime -> ComplianceExecutionSummary

-- | An ID created by the system when <tt>PutComplianceItems</tt> was
--   called. For example, <tt>CommandID</tt> is a valid execution ID. You
--   can use this ID in subsequent calls.
cesExecutionId :: Lens' ComplianceExecutionSummary (Maybe Text)

-- | The type of execution. For example, <tt>Command</tt> is a valid
--   execution type.
cesExecutionType :: Lens' ComplianceExecutionSummary (Maybe Text)

-- | The time the execution ran as a datetime object that is saved in the
--   following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
cesExecutionTime :: Lens' ComplianceExecutionSummary UTCTime

-- | Information about the compliance as defined by the resource type. For
--   example, for a patch resource type, <tt>Items</tt> includes
--   information about the PatchSeverity, Classification, etc.
--   
--   <i>See:</i> <a>complianceItem</a> smart constructor.
data ComplianceItem

-- | Creates a value of <a>ComplianceItem</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>ciStatus</a> - The status of the compliance item. An item is
--   either COMPLIANT or NON_COMPLIANT.</li>
--   <li><a>ciResourceId</a> - An ID for the resource. For a managed
--   instance, this is the instance ID.</li>
--   <li><a>ciResourceType</a> - The type of resource.
--   <tt>ManagedInstance</tt> is currently the only supported resource
--   type.</li>
--   <li><a>ciSeverity</a> - The severity of the compliance status.
--   Severity can be one of the following: Critical, High, Medium, Low,
--   Informational, Unspecified.</li>
--   <li><a>ciExecutionSummary</a> - A summary for the compliance item. The
--   summary includes an execution ID, the execution type (for example,
--   command), and the execution time.</li>
--   <li><a>ciDetails</a> - A <a>Key</a>: <a>Value</a> tag combination for
--   the compliance item.</li>
--   <li><a>ciId</a> - An ID for the compliance item. For example, if the
--   compliance item is a Windows patch, the ID could be the number of the
--   KB article; for example: KB4010320.</li>
--   <li><a>ciComplianceType</a> - The compliance type. For example,
--   Association (for a State Manager association), Patch, or
--   Custom:<tt>string</tt> are all valid compliance types.</li>
--   <li><a>ciTitle</a> - A title for the compliance item. For example, if
--   the compliance item is a Windows patch, the title could be the title
--   of the KB article for the patch; for example: Security Update for
--   Active Directory Federation Services.</li>
--   </ul>
complianceItem :: ComplianceItem

-- | The status of the compliance item. An item is either COMPLIANT or
--   NON_COMPLIANT.
ciStatus :: Lens' ComplianceItem (Maybe ComplianceStatus)

-- | An ID for the resource. For a managed instance, this is the instance
--   ID.
ciResourceId :: Lens' ComplianceItem (Maybe Text)

-- | The type of resource. <tt>ManagedInstance</tt> is currently the only
--   supported resource type.
ciResourceType :: Lens' ComplianceItem (Maybe Text)

-- | The severity of the compliance status. Severity can be one of the
--   following: Critical, High, Medium, Low, Informational, Unspecified.
ciSeverity :: Lens' ComplianceItem (Maybe ComplianceSeverity)

-- | A summary for the compliance item. The summary includes an execution
--   ID, the execution type (for example, command), and the execution time.
ciExecutionSummary :: Lens' ComplianceItem (Maybe ComplianceExecutionSummary)

-- | A <a>Key</a>: <a>Value</a> tag combination for the compliance item.
ciDetails :: Lens' ComplianceItem (HashMap Text Text)

-- | An ID for the compliance item. For example, if the compliance item is
--   a Windows patch, the ID could be the number of the KB article; for
--   example: KB4010320.
ciId :: Lens' ComplianceItem (Maybe Text)

-- | The compliance type. For example, Association (for a State Manager
--   association), Patch, or Custom:<tt>string</tt> are all valid
--   compliance types.
ciComplianceType :: Lens' ComplianceItem (Maybe Text)

-- | A title for the compliance item. For example, if the compliance item
--   is a Windows patch, the title could be the title of the KB article for
--   the patch; for example: Security Update for Active Directory
--   Federation Services.
ciTitle :: Lens' ComplianceItem (Maybe Text)

-- | Information about a compliance item.
--   
--   <i>See:</i> <a>complianceItemEntry</a> smart constructor.
data ComplianceItemEntry

-- | Creates a value of <a>ComplianceItemEntry</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>cieDetails</a> - A <a>Key</a>: <a>Value</a> tag combination for
--   the compliance item.</li>
--   <li><a>cieId</a> - The compliance item ID. For example, if the
--   compliance item is a Windows patch, the ID could be the number of the
--   KB article.</li>
--   <li><a>cieTitle</a> - The title of the compliance item. For example,
--   if the compliance item is a Windows patch, the title could be the
--   title of the KB article for the patch; for example: Security Update
--   for Active Directory Federation Services.</li>
--   <li><a>cieSeverity</a> - The severity of the compliance status.
--   Severity can be one of the following: Critical, High, Medium, Low,
--   Informational, Unspecified.</li>
--   <li><a>cieStatus</a> - The status of the compliance item. An item is
--   either COMPLIANT or NON_COMPLIANT.</li>
--   </ul>
complianceItemEntry :: ComplianceSeverity -> ComplianceStatus -> ComplianceItemEntry

-- | A <a>Key</a>: <a>Value</a> tag combination for the compliance item.
cieDetails :: Lens' ComplianceItemEntry (HashMap Text Text)

-- | The compliance item ID. For example, if the compliance item is a
--   Windows patch, the ID could be the number of the KB article.
cieId :: Lens' ComplianceItemEntry (Maybe Text)

-- | The title of the compliance item. For example, if the compliance item
--   is a Windows patch, the title could be the title of the KB article for
--   the patch; for example: Security Update for Active Directory
--   Federation Services.
cieTitle :: Lens' ComplianceItemEntry (Maybe Text)

-- | The severity of the compliance status. Severity can be one of the
--   following: Critical, High, Medium, Low, Informational, Unspecified.
cieSeverity :: Lens' ComplianceItemEntry ComplianceSeverity

-- | The status of the compliance item. An item is either COMPLIANT or
--   NON_COMPLIANT.
cieStatus :: Lens' ComplianceItemEntry ComplianceStatus

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

-- | Creates a value of <a>ComplianceStringFilter</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>csfValues</a> - The value for which to search.</li>
--   <li><a>csfKey</a> - The name of the filter.</li>
--   <li><a>csfType</a> - The type of comparison that should be performed
--   for the value: Equal, NotEqual, BeginWith, LessThan, or
--   GreaterThan.</li>
--   </ul>
complianceStringFilter :: ComplianceStringFilter

-- | The value for which to search.
csfValues :: Lens' ComplianceStringFilter (Maybe (NonEmpty Text))

-- | The name of the filter.
csfKey :: Lens' ComplianceStringFilter (Maybe Text)

-- | The type of comparison that should be performed for the value: Equal,
--   NotEqual, BeginWith, LessThan, or GreaterThan.
csfType :: Lens' ComplianceStringFilter (Maybe ComplianceQueryOperatorType)

-- | A summary of compliance information by compliance type.
--   
--   <i>See:</i> <a>complianceSummaryItem</a> smart constructor.
data ComplianceSummaryItem

-- | Creates a value of <a>ComplianceSummaryItem</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>csiNonCompliantSummary</a> - A list of NON_COMPLIANT items for
--   the specified compliance type.</li>
--   <li><a>csiCompliantSummary</a> - A list of COMPLIANT items for the
--   specified compliance type.</li>
--   <li><a>csiComplianceType</a> - The type of compliance item. For
--   example, the compliance type can be Association, Patch, or
--   Custom:string.</li>
--   </ul>
complianceSummaryItem :: ComplianceSummaryItem

-- | A list of NON_COMPLIANT items for the specified compliance type.
csiNonCompliantSummary :: Lens' ComplianceSummaryItem (Maybe NonCompliantSummary)

-- | A list of COMPLIANT items for the specified compliance type.
csiCompliantSummary :: Lens' ComplianceSummaryItem (Maybe CompliantSummary)

-- | The type of compliance item. For example, the compliance type can be
--   Association, Patch, or Custom:string.
csiComplianceType :: Lens' ComplianceSummaryItem (Maybe Text)

-- | A summary of resources that are compliant. The summary is organized
--   according to the resource count for each compliance type.
--   
--   <i>See:</i> <a>compliantSummary</a> smart constructor.
data CompliantSummary

-- | Creates a value of <a>CompliantSummary</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>csCompliantCount</a> - The total number of resources that are
--   compliant.</li>
--   <li><a>csSeveritySummary</a> - A summary of the compliance severity by
--   compliance type.</li>
--   </ul>
compliantSummary :: CompliantSummary

-- | The total number of resources that are compliant.
csCompliantCount :: Lens' CompliantSummary (Maybe Int)

-- | A summary of the compliance severity by compliance type.
csSeveritySummary :: Lens' CompliantSummary (Maybe SeveritySummary)

-- | Describes the association of a Systems Manager 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>cabreAssociationName</a> - Specify a descriptive name for the
--   association.</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)

-- | Specify a descriptive name for the association.
cabreAssociationName :: 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 a Systems Manager 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 Systems Manager 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.</li>
--   <li><a>dDefaultVersion</a> - The default version.</li>
--   <li><a>dTargetType</a> - The target type which defines the kinds of
--   resources the document can run on. For example, <i>AWS::EC2::Instance.
--   For a list of valid resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .</li>
--   <li><a>dOwner</a> - The AWS user account that created the
--   document.</li>
--   <li><a>dPlatformTypes</a> - The list of OS platforms compatible with
--   this Systems Manager document.</li>
--   <li><a>dCreatedDate</a> - The date when the document was created.</li>
--   <li><a>dDocumentFormat</a> - The document format, either JSON or
--   YAML.</li>
--   <li><a>dName</a> - The name of the Systems Manager 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>dTags</a> - The tags, or metadata, that have been applied to
--   the document.</li>
--   <li><a>dLatestVersion</a> - The latest version of the document.</li>
--   </ul>
documentDescription :: DocumentDescription

-- | The status of the Systems Manager 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.
dSha1 :: Lens' DocumentDescription (Maybe Text)

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

-- | The target type which defines the kinds of resources the document can
--   run on. For example, <i>AWS::EC2::Instance. For a list of valid
--   resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .
dTargetType :: Lens' DocumentDescription (Maybe Text)

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

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

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

-- | The document format, either JSON or YAML.
dDocumentFormat :: Lens' DocumentDescription (Maybe DocumentFormat)

-- | The name of the Systems Manager 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 tags, or metadata, that have been applied to the document.
dTags :: Lens' DocumentDescription [Tag]

-- | 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 a Systems Manager 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>diTargetType</a> - The target type which defines the kinds of
--   resources the document can run on. For example, <i>AWS::EC2::Instance.
--   For a list of valid resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .</li>
--   <li><a>diOwner</a> - The AWS user account that created the
--   document.</li>
--   <li><a>diPlatformTypes</a> - The operating system platform.</li>
--   <li><a>diDocumentFormat</a> - The document format, either JSON or
--   YAML.</li>
--   <li><a>diName</a> - The name of the Systems Manager document.</li>
--   <li><a>diDocumentVersion</a> - The document version.</li>
--   <li><a>diTags</a> - The tags, or metadata, that have been applied to
--   the document.</li>
--   </ul>
documentIdentifier :: DocumentIdentifier

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

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

-- | The target type which defines the kinds of resources the document can
--   run on. For example, <i>AWS::EC2::Instance. For a list of valid
--   resource types, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AWSCloudFormation<i>latest</i>UserGuide<i>aws-template-resource-type-ref.html
--   AWS Resource Types Reference&gt; in the </i>AWS CloudFormation User
--   Guide/ .
diTargetType :: Lens' DocumentIdentifier (Maybe Text)

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

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

-- | The document format, either JSON or YAML.
diDocumentFormat :: Lens' DocumentIdentifier (Maybe DocumentFormat)

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

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

-- | The tags, or metadata, that have been applied to the document.
diTags :: Lens' DocumentIdentifier [Tag]

-- | One or more filters. Use a filter to return a more specific list of
--   documents.
--   
--   For keys, you can specify one or more tags that have been applied to a
--   document.
--   
--   Other valid values include Owner, Name, PlatformTypes, and
--   DocumentType.
--   
--   Note that only one Owner can be specified in a request. For example:
--   <tt>Key=Owner,Values=Self</tt> .
--   
--   If you use Name as a key, you can use a name prefix to return a list
--   of documents. For example, in the AWS CLI, to return a list of all
--   documents that begin with <tt>Te</tt> , run the following command:
--   
--   <pre>
--   aws ssm list-documents --filters Key=Name,Values=Te
--   </pre>
--   
--   If you specify more than two keys, only documents that are identified
--   by all the tags are returned in the results. If you specify more than
--   two values for a key, documents that are identified by any of the
--   values are returned in the results.
--   
--   To specify a custom key and value pair, use the format
--   <tt>Key=tag:[tagName],Values=[valueName]</tt> .
--   
--   For example, if you created a Key called region and are using the AWS
--   CLI to call the <tt>list-documents</tt> command:
--   
--   <pre>
--   aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
--   </pre>
--   
--   <i>See:</i> <a>documentKeyValuesFilter</a> smart constructor.
data DocumentKeyValuesFilter

-- | Creates a value of <a>DocumentKeyValuesFilter</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>dkvfValues</a> - The value for the filter key.</li>
--   <li><a>dkvfKey</a> - The name of the filter key.</li>
--   </ul>
documentKeyValuesFilter :: DocumentKeyValuesFilter

-- | The value for the filter key.
dkvfValues :: Lens' DocumentKeyValuesFilter [Text]

-- | The name of the filter key.
dkvfKey :: Lens' DocumentKeyValuesFilter (Maybe Text)

-- | Parameters specified in a System Manager 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>dviDocumentFormat</a> - The document format, either JSON or
--   YAML.</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 format, either JSON or YAML.
dviDocumentFormat :: Lens' DocumentVersionInfo (Maybe DocumentFormat)

-- | 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)

-- | The EffectivePatch structure defines metadata about a patch along with
--   the approval state of the patch in a particular patch baseline. The
--   approval state includes information about whether the patch is
--   currently approved, due to be approved by a rule, explicitly approved,
--   or explicitly rejected and the date the patch was or will be approved.
--   
--   <i>See:</i> <a>effectivePatch</a> smart constructor.
data EffectivePatch

-- | Creates a value of <a>EffectivePatch</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>epPatch</a> - Provides metadata for a patch, including
--   information such as the KB ID, severity, classification and a URL for
--   where more information can be obtained about the patch.</li>
--   <li><a>epPatchStatus</a> - The status of the patch in a patch
--   baseline. This includes information about whether the patch is
--   currently approved, due to be approved by a rule, explicitly approved,
--   or explicitly rejected and the date the patch was or will be
--   approved.</li>
--   </ul>
effectivePatch :: EffectivePatch

-- | Provides metadata for a patch, including information such as the KB
--   ID, severity, classification and a URL for where more information can
--   be obtained about the patch.
epPatch :: Lens' EffectivePatch (Maybe Patch)

-- | The status of the patch in a patch baseline. This includes information
--   about whether the patch is currently approved, due to be approved by a
--   rule, explicitly approved, or explicitly rejected and the date the
--   patch was or will be approved.
epPatchStatus :: Lens' EffectivePatch (Maybe PatchStatus)

-- | 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)

-- | Information about an Automation failure.
--   
--   <i>See:</i> <a>failureDetails</a> smart constructor.
data FailureDetails

-- | Creates a value of <a>FailureDetails</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>fdFailureType</a> - The type of Automation failure. Failure
--   types include the following: Action, Permission, Throttling,
--   Verification, Internal.</li>
--   <li><a>fdFailureStage</a> - The stage of the Automation execution when
--   the failure occurred. The stages include the following:
--   InputValidation, PreVerification, Invocation, PostVerification.</li>
--   <li><a>fdDetails</a> - Detailed information about the Automation step
--   failure.</li>
--   </ul>
failureDetails :: FailureDetails

-- | The type of Automation failure. Failure types include the following:
--   Action, Permission, Throttling, Verification, Internal.
fdFailureType :: Lens' FailureDetails (Maybe Text)

-- | The stage of the Automation execution when the failure occurred. The
--   stages include the following: InputValidation, PreVerification,
--   Invocation, PostVerification.
fdFailureStage :: Lens' FailureDetails (Maybe Text)

-- | Detailed information about the Automation step failure.
fdDetails :: Lens' FailureDetails (HashMap Text [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>
--   <li><a>iaAssociationVersion</a> - Version information for the
--   association on the instance.</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)

-- | Version information for the association on the instance.
iaAssociationVersion :: 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>iasiAssociationVersion</a> - The version of the association
--   applied to the instance.</li>
--   <li><a>iasiExecutionDate</a> - The date the instance association
--   executed.</li>
--   <li><a>iasiAssociationName</a> - The name of the association applied
--   to the instance.</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 version of the association applied to the instance.
iasiAssociationVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)

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

-- | The name of the association applied to the instance.
iasiAssociationName :: Lens' InstanceAssociationStatusInfo (Maybe Text)

-- | 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. Some older versions of Windows
--   Server use the EC2Config service to process SSM requests. For this
--   reason, this field does not indicate whether or not the latest version
--   is installed on Windows managed instances.</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. Some older versions of Windows Server use the EC2Config
--   service to process SSM requests. For this reason, this field does not
--   indicate whether or not the latest version is installed on Windows
--   managed instances.
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>|<a>AssociationStatus</a>|"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>|<a>AssociationStatus</a>|"Tag
--   Key"
iisfKey :: Lens' InstanceInformationStringFilter Text

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

-- | Defines the high-level patch compliance state for a managed instance,
--   providing information about the number of installed, missing, not
--   applicable, and failed patches along with metadata about the operation
--   when this information was gathered for the instance.
--   
--   <i>See:</i> <a>instancePatchState</a> smart constructor.
data InstancePatchState

-- | Creates a value of <a>InstancePatchState</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>ipsOwnerInformation</a> - Placeholder information. This field
--   will always be empty in the current release of the service.</li>
--   <li><a>ipsFailedCount</a> - The number of patches from the patch
--   baseline that were attempted to be installed during the last patching
--   operation, but failed to install.</li>
--   <li><a>ipsInstalledOtherCount</a> - The number of patches not
--   specified in the patch baseline that are installed on the
--   instance.</li>
--   <li><a>ipsMissingCount</a> - The number of patches from the patch
--   baseline that are applicable for the instance but aren't currently
--   installed.</li>
--   <li><a>ipsNotApplicableCount</a> - The number of patches from the
--   patch baseline that aren't applicable for the instance and hence
--   aren't installed on the instance.</li>
--   <li><a>ipsInstalledCount</a> - The number of patches from the patch
--   baseline that are installed on the instance.</li>
--   <li><a>ipsSnapshotId</a> - The ID of the patch baseline snapshot used
--   during the patching operation when this compliance data was
--   collected.</li>
--   <li><a>ipsInstanceId</a> - The ID of the managed instance the
--   high-level patch compliance information was collected for.</li>
--   <li><a>ipsPatchGroup</a> - The name of the patch group the managed
--   instance belongs to.</li>
--   <li><a>ipsBaselineId</a> - The ID of the patch baseline used to patch
--   the instance.</li>
--   <li><a>ipsOperationStartTime</a> - The time the most recent patching
--   operation was started on the instance.</li>
--   <li><a>ipsOperationEndTime</a> - The time the most recent patching
--   operation completed on the instance.</li>
--   <li><a>ipsOperation</a> - The type of patching operation that was
--   performed: SCAN (assess patch compliance state) or INSTALL (install
--   missing patches).</li>
--   </ul>
instancePatchState :: Text -> Text -> Text -> UTCTime -> UTCTime -> PatchOperationType -> InstancePatchState

-- | Placeholder information. This field will always be empty in the
--   current release of the service.
ipsOwnerInformation :: Lens' InstancePatchState (Maybe Text)

-- | The number of patches from the patch baseline that were attempted to
--   be installed during the last patching operation, but failed to
--   install.
ipsFailedCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches not specified in the patch baseline that are
--   installed on the instance.
ipsInstalledOtherCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches from the patch baseline that are applicable for
--   the instance but aren't currently installed.
ipsMissingCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches from the patch baseline that aren't applicable
--   for the instance and hence aren't installed on the instance.
ipsNotApplicableCount :: Lens' InstancePatchState (Maybe Int)

-- | The number of patches from the patch baseline that are installed on
--   the instance.
ipsInstalledCount :: Lens' InstancePatchState (Maybe Int)

-- | The ID of the patch baseline snapshot used during the patching
--   operation when this compliance data was collected.
ipsSnapshotId :: Lens' InstancePatchState (Maybe Text)

-- | The ID of the managed instance the high-level patch compliance
--   information was collected for.
ipsInstanceId :: Lens' InstancePatchState Text

-- | The name of the patch group the managed instance belongs to.
ipsPatchGroup :: Lens' InstancePatchState Text

-- | The ID of the patch baseline used to patch the instance.
ipsBaselineId :: Lens' InstancePatchState Text

-- | The time the most recent patching operation was started on the
--   instance.
ipsOperationStartTime :: Lens' InstancePatchState UTCTime

-- | The time the most recent patching operation completed on the instance.
ipsOperationEndTime :: Lens' InstancePatchState UTCTime

-- | The type of patching operation that was performed: SCAN (assess patch
--   compliance state) or INSTALL (install missing patches).
ipsOperation :: Lens' InstancePatchState PatchOperationType

-- | Defines a filter used in DescribeInstancePatchStatesForPatchGroup used
--   to scope down the information returned by the API.
--   
--   <i>See:</i> <a>instancePatchStateFilter</a> smart constructor.
data InstancePatchStateFilter

-- | Creates a value of <a>InstancePatchStateFilter</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>ipsfKey</a> - The key for the filter. Supported values are
--   FailedCount, InstalledCount, InstalledOtherCount, MissingCount and
--   NotApplicableCount.</li>
--   <li><a>ipsfValues</a> - The value for the filter, must be an integer
--   greater than or equal to 0.</li>
--   <li><a>ipsfType</a> - The type of comparison that should be performed
--   for the value: Equal, NotEqual, LessThan or GreaterThan.</li>
--   </ul>
instancePatchStateFilter :: Text -> NonEmpty Text -> InstancePatchStateOperatorType -> InstancePatchStateFilter

-- | The key for the filter. Supported values are FailedCount,
--   InstalledCount, InstalledOtherCount, MissingCount and
--   NotApplicableCount.
ipsfKey :: Lens' InstancePatchStateFilter Text

-- | The value for the filter, must be an integer greater than or equal to
--   0.
ipsfValues :: Lens' InstancePatchStateFilter (NonEmpty Text)

-- | The type of comparison that should be performed for the value: Equal,
--   NotEqual, LessThan or GreaterThan.
ipsfType :: Lens' InstancePatchStateFilter InstancePatchStateOperatorType

-- | Specifies the inventory type and attribute for the aggregation
--   execution.
--   
--   <i>See:</i> <a>inventoryAggregator</a> smart constructor.
data InventoryAggregator

-- | Creates a value of <a>InventoryAggregator</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>iaAggregators</a> - Nested aggregators to further refine
--   aggregation for an inventory type.</li>
--   <li><a>iaExpression</a> - The inventory type and attribute name for
--   aggregation.</li>
--   </ul>
inventoryAggregator :: InventoryAggregator

-- | Nested aggregators to further refine aggregation for an inventory
--   type.
iaAggregators :: Lens' InventoryAggregator (Maybe (NonEmpty InventoryAggregator))

-- | The inventory type and attribute name for aggregation.
iaExpression :: Lens' InventoryAggregator (Maybe Text)

-- | Status information returned by the <tt>DeleteInventory</tt> action.
--   
--   <i>See:</i> <a>inventoryDeletionStatusItem</a> smart constructor.
data InventoryDeletionStatusItem

-- | Creates a value of <a>InventoryDeletionStatusItem</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>idsiTypeName</a> - The name of the inventory data type.</li>
--   <li><a>idsiLastStatusUpdateTime</a> - The UTC timestamp of when the
--   last status report.</li>
--   <li><a>idsiLastStatusMessage</a> - Information about the status.</li>
--   <li><a>idsiDeletionSummary</a> - Information about the delete
--   operation. For more information about this summary, see
--   <a>Understanding the Delete Inventory Summary</a> .</li>
--   <li><a>idsiLastStatus</a> - The status of the operation. Possible
--   values are InProgress and Complete.</li>
--   <li><a>idsiDeletionStartTime</a> - The UTC timestamp when the delete
--   operation started.</li>
--   <li><a>idsiDeletionId</a> - The deletion ID returned by the
--   <tt>DeleteInventory</tt> action.</li>
--   </ul>
inventoryDeletionStatusItem :: InventoryDeletionStatusItem

-- | The name of the inventory data type.
idsiTypeName :: Lens' InventoryDeletionStatusItem (Maybe Text)

-- | The UTC timestamp of when the last status report.
idsiLastStatusUpdateTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)

-- | Information about the status.
idsiLastStatusMessage :: Lens' InventoryDeletionStatusItem (Maybe Text)

-- | Information about the delete operation. For more information about
--   this summary, see <a>Understanding the Delete Inventory Summary</a> .
idsiDeletionSummary :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionSummary)

-- | The status of the operation. Possible values are InProgress and
--   Complete.
idsiLastStatus :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionStatus)

-- | The UTC timestamp when the delete operation started.
idsiDeletionStartTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)

-- | The deletion ID returned by the <tt>DeleteInventory</tt> action.
idsiDeletionId :: Lens' InventoryDeletionStatusItem (Maybe Text)

-- | Information about the delete operation.
--   
--   <i>See:</i> <a>inventoryDeletionSummary</a> smart constructor.
data InventoryDeletionSummary

-- | Creates a value of <a>InventoryDeletionSummary</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>idsRemainingCount</a> - Remaining number of items to
--   delete.</li>
--   <li><a>idsSummaryItems</a> - A list of counts and versions for deleted
--   items.</li>
--   <li><a>idsTotalCount</a> - The total number of items to delete. This
--   count does not change during the delete operation.</li>
--   </ul>
inventoryDeletionSummary :: InventoryDeletionSummary

-- | Remaining number of items to delete.
idsRemainingCount :: Lens' InventoryDeletionSummary (Maybe Int)

-- | A list of counts and versions for deleted items.
idsSummaryItems :: Lens' InventoryDeletionSummary [InventoryDeletionSummaryItem]

-- | The total number of items to delete. This count does not change during
--   the delete operation.
idsTotalCount :: Lens' InventoryDeletionSummary (Maybe Int)

-- | Either a count, remaining count, or a version number in a delete
--   inventory summary.
--   
--   <i>See:</i> <a>inventoryDeletionSummaryItem</a> smart constructor.
data InventoryDeletionSummaryItem

-- | Creates a value of <a>InventoryDeletionSummaryItem</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>idsiRemainingCount</a> - The remaining number of items to
--   delete.</li>
--   <li><a>idsiCount</a> - A count of the number of deleted items.</li>
--   <li><a>idsiVersion</a> - The inventory type version.</li>
--   </ul>
inventoryDeletionSummaryItem :: InventoryDeletionSummaryItem

-- | The remaining number of items to delete.
idsiRemainingCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)

-- | A count of the number of deleted items.
idsiCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)

-- | The inventory type version.
idsiVersion :: Lens' InventoryDeletionSummaryItem (Maybe 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>iiContext</a> - A map of associated properties for a specified
--   inventory type. For example, with this attribute, you can specify the
--   <tt>ExecutionId</tt> , <tt>ExecutionType</tt> ,
--   <tt>ComplianceType</tt> properties of the <tt>AWS:ComplianceItem</tt>
--   type.</li>
--   <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 PutInventory 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 AWS. Custom inventory type names
--   will start with Custom. Default inventory item types include the
--   following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
--   AWS:Network, and AWS:WindowsUpdate.</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

-- | A map of associated properties for a specified inventory type. For
--   example, with this attribute, you can specify the <tt>ExecutionId</tt>
--   , <tt>ExecutionType</tt> , <tt>ComplianceType</tt> properties of the
--   <tt>AWS:ComplianceItem</tt> type.
iiContext :: Lens' InventoryItem (HashMap Text Text)

-- | MD5 hash of the inventory item type contents. The content hash is used
--   to determine whether to update inventory information. The PutInventory
--   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 AWS. Custom inventory type names will start with Custom.
--   Default inventory item types include the following: AWS:AWSComponent,
--   AWS:Application, AWS:InstanceInformation, AWS:Network, and
--   AWS:WindowsUpdate.
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>iisDisplayName</a> - The alias name of the inventory type. The
--   alias name is used for display purposes.</li>
--   <li><a>iisTypeName</a> - The name of the inventory type. Default
--   inventory item type names start with AWS. Custom inventory type names
--   will start with Custom. Default inventory item types include the
--   following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
--   AWS:Network, and AWS:WindowsUpdate.</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 alias name of the inventory type. The alias name is used for
--   display purposes.
iisDisplayName :: Lens' InventoryItemSchema (Maybe Text)

-- | The name of the inventory type. Default inventory item type names
--   start with AWS. Custom inventory type names will start with Custom.
--   Default inventory item types include the following: AWS:AWSComponent,
--   AWS:Application, AWS:InstanceInformation, AWS:Network, and
--   AWS:WindowsUpdate.
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 PutInventory 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 PutInventory
--   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

-- | The parameters for an AUTOMATION task type.
--   
--   <i>See:</i> <a>maintenanceWindowAutomationParameters</a> smart
--   constructor.
data MaintenanceWindowAutomationParameters

-- | Creates a value of <a>MaintenanceWindowAutomationParameters</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>mwapParameters</a> - The parameters for the AUTOMATION task.
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .</li>
--   <li><a>mwapDocumentVersion</a> - The version of an Automation document
--   to use during task execution.</li>
--   </ul>
maintenanceWindowAutomationParameters :: MaintenanceWindowAutomationParameters

-- | The parameters for the AUTOMATION task. For information about
--   specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
mwapParameters :: Lens' MaintenanceWindowAutomationParameters (HashMap Text [Text])

-- | The version of an Automation document to use during task execution.
mwapDocumentVersion :: Lens' MaintenanceWindowAutomationParameters (Maybe 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>mwetiiTaskType</a> - The task type.</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 task type.
mwetiiTaskType :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowTaskType)

-- | 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>mwiDescription</a> - A description of the Maintenance
--   Window.</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)

-- | A description of the Maintenance Window.
mwiDescription :: Lens' MaintenanceWindowIdentity (Maybe Text)

-- | 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 parameters for a LAMBDA task type.
--   
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
--   
--   <i>See:</i> <a>maintenanceWindowLambdaParameters</a> smart
--   constructor.
data MaintenanceWindowLambdaParameters

-- | Creates a value of <a>MaintenanceWindowLambdaParameters</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>mwlpPayload</a> - JSON to provide to your Lambda function as
--   input.-- <i>Note:</i> This <tt>Lens</tt> automatically encodes and
--   decodes Base64 data. The underlying isomorphism will encode to Base64
--   representation during serialisation, and decode from Base64
--   representation during deserialisation. This <tt>Lens</tt> accepts and
--   returns only raw unencoded data.</li>
--   <li><a>mwlpQualifier</a> - (Optional) Specify a Lambda function
--   version or alias name. If you specify a function version, the action
--   uses the qualified function ARN to invoke a specific Lambda function.
--   If you specify an alias name, the action uses the alias ARN to invoke
--   the Lambda function version to which the alias points.</li>
--   <li><a>mwlpClientContext</a> - Pass client-specific information to the
--   Lambda function that you are invoking. You can then process the client
--   information in your Lambda function as you choose through the context
--   variable.</li>
--   </ul>
maintenanceWindowLambdaParameters :: MaintenanceWindowLambdaParameters

-- | JSON to provide to your Lambda function as input.-- <i>Note:</i> This
--   <tt>Lens</tt> automatically encodes and decodes Base64 data. The
--   underlying isomorphism will encode to Base64 representation during
--   serialisation, and decode from Base64 representation during
--   deserialisation. This <tt>Lens</tt> accepts and returns only raw
--   unencoded data.
mwlpPayload :: Lens' MaintenanceWindowLambdaParameters (Maybe ByteString)

-- | (Optional) Specify a Lambda function version or alias name. If you
--   specify a function version, the action uses the qualified function ARN
--   to invoke a specific Lambda function. If you specify an alias name,
--   the action uses the alias ARN to invoke the Lambda function version to
--   which the alias points.
mwlpQualifier :: Lens' MaintenanceWindowLambdaParameters (Maybe Text)

-- | Pass client-specific information to the Lambda function that you are
--   invoking. You can then process the client information in your Lambda
--   function as you choose through the context variable.
mwlpClientContext :: Lens' MaintenanceWindowLambdaParameters (Maybe Text)

-- | The parameters for a RUN_COMMAND task type.
--   
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
--   
--   <i>See:</i> <a>maintenanceWindowRunCommandParameters</a> smart
--   constructor.
data MaintenanceWindowRunCommandParameters

-- | Creates a value of <a>MaintenanceWindowRunCommandParameters</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>mwrcpServiceRoleARN</a> - The IAM service role to assume during
--   task execution.</li>
--   <li><a>mwrcpNotificationConfig</a> - Configurations for sending
--   notifications about command status changes on a per-instance
--   basis.</li>
--   <li><a>mwrcpDocumentHashType</a> - SHA-256 or SHA-1. SHA-1 hashes have
--   been deprecated.</li>
--   <li><a>mwrcpOutputS3KeyPrefix</a> - The Amazon S3 bucket
--   subfolder.</li>
--   <li><a>mwrcpParameters</a> - The parameters for the RUN_COMMAND task
--   execution.</li>
--   <li><a>mwrcpDocumentHash</a> - The SHA-256 or SHA-1 hash created by
--   the system when the document was created. SHA-1 hashes have been
--   deprecated.</li>
--   <li><a>mwrcpTimeoutSeconds</a> - If this time is reached and the
--   command has not already started executing, it doesn not execute.</li>
--   <li><a>mwrcpComment</a> - Information about the command(s) to
--   execute.</li>
--   <li><a>mwrcpOutputS3BucketName</a> - The name of the Amazon S3
--   bucket.</li>
--   </ul>
maintenanceWindowRunCommandParameters :: MaintenanceWindowRunCommandParameters

-- | The IAM service role to assume during task execution.
mwrcpServiceRoleARN :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

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

-- | SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
mwrcpDocumentHashType :: Lens' MaintenanceWindowRunCommandParameters (Maybe DocumentHashType)

-- | The Amazon S3 bucket subfolder.
mwrcpOutputS3KeyPrefix :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

-- | The parameters for the RUN_COMMAND task execution.
mwrcpParameters :: Lens' MaintenanceWindowRunCommandParameters (HashMap Text [Text])

-- | The SHA-256 or SHA-1 hash created by the system when the document was
--   created. SHA-1 hashes have been deprecated.
mwrcpDocumentHash :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

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

-- | Information about the command(s) to execute.
mwrcpComment :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)

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

-- | The parameters for a STEP_FUNCTION task.
--   
--   For information about specifying and updating task parameters, see
--   <tt>RegisterTaskWithMaintenanceWindow</tt> and
--   <tt>UpdateMaintenanceWindowTask</tt> .
--   
--   <i>See:</i> <a>maintenanceWindowStepFunctionsParameters</a> smart
--   constructor.
data MaintenanceWindowStepFunctionsParameters

-- | Creates a value of <a>MaintenanceWindowStepFunctionsParameters</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>mwsfpInput</a> - The inputs for the STEP_FUNCTION task.</li>
--   <li><a>mwsfpName</a> - The name of the STEP_FUNCTION task.</li>
--   </ul>
maintenanceWindowStepFunctionsParameters :: MaintenanceWindowStepFunctionsParameters

-- | The inputs for the STEP_FUNCTION task.
mwsfpInput :: Lens' MaintenanceWindowStepFunctionsParameters (Maybe Text)

-- | The name of the STEP_FUNCTION task.
mwsfpName :: Lens' MaintenanceWindowStepFunctionsParameters (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>mName</a> - The target name.</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>mDescription</a> - A description of the target.</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 target name.
mName :: 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]

-- | A description of the target.
mDescription :: Lens' MaintenanceWindowTarget (Maybe Text)

-- | 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 that have
--   the same priority are scheduled in parallel.</li>
--   <li><a>mwtTaskARN</a> - The resource that the task uses during
--   execution. For RUN_COMMAND and AUTOMATION task types, <tt>TaskArn</tt>
--   is the Systems Manager document name or ARN. For LAMBDA tasks, it's
--   the function name or ARN. For STEP_FUNCTION tasks, it's the state
--   machine ARN.</li>
--   <li><a>mwtMaxErrors</a> - The maximum number of errors allowed before
--   this task stops being scheduled.</li>
--   <li><a>mwtName</a> - The task name.</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. The type can be one of the
--   following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.</li>
--   <li><a>mwtDescription</a> - A description of the 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 that have the same priority are
--   scheduled in parallel.
mwtPriority :: Lens' MaintenanceWindowTask (Maybe Natural)

-- | The resource that the task uses during execution. For RUN_COMMAND and
--   AUTOMATION task types, <tt>TaskArn</tt> is the Systems Manager
--   document name or ARN. For LAMBDA tasks, it's the function name or ARN.
--   For STEP_FUNCTION tasks, it's the state machine ARN.
mwtTaskARN :: Lens' MaintenanceWindowTask (Maybe Text)

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

-- | The task name.
mwtName :: 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. The type can be one of the following: RUN_COMMAND,
--   AUTOMATION, LAMBDA, or STEP_FUNCTION.
mwtType :: Lens' MaintenanceWindowTask (Maybe MaintenanceWindowTaskType)

-- | A description of the task.
mwtDescription :: Lens' MaintenanceWindowTask (Maybe Text)

-- | 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)

-- | The parameters for task execution.
--   
--   <i>See:</i> <a>maintenanceWindowTaskInvocationParameters</a> smart
--   constructor.
data MaintenanceWindowTaskInvocationParameters

-- | Creates a value of <a>MaintenanceWindowTaskInvocationParameters</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>mwtipAutomation</a> - The parameters for an AUTOMATION task
--   type.</li>
--   <li><a>mwtipStepFunctions</a> - The parameters for a STEP_FUNCTION
--   task type.</li>
--   <li><a>mwtipRunCommand</a> - The parameters for a RUN_COMMAND task
--   type.</li>
--   <li><a>mwtipLambda</a> - The parameters for a LAMBDA task type.</li>
--   </ul>
maintenanceWindowTaskInvocationParameters :: MaintenanceWindowTaskInvocationParameters

-- | The parameters for an AUTOMATION task type.
mwtipAutomation :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowAutomationParameters)

-- | The parameters for a STEP_FUNCTION task type.
mwtipStepFunctions :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowStepFunctionsParameters)

-- | The parameters for a RUN_COMMAND task type.
mwtipRunCommand :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowRunCommandParameters)

-- | The parameters for a LAMBDA task type.
mwtipLambda :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowLambdaParameters)

-- | 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])

-- | A summary of resources that are not compliant. The summary is
--   organized according to resource type.
--   
--   <i>See:</i> <a>nonCompliantSummary</a> smart constructor.
data NonCompliantSummary

-- | Creates a value of <a>NonCompliantSummary</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>ncsNonCompliantCount</a> - The total number of compliance items
--   that are not compliant.</li>
--   <li><a>ncsSeveritySummary</a> - A summary of the non-compliance
--   severity by compliance type</li>
--   </ul>
nonCompliantSummary :: NonCompliantSummary

-- | The total number of compliance items that are not compliant.
ncsNonCompliantCount :: Lens' NonCompliantSummary (Maybe Int)

-- | A summary of the non-compliance severity by compliance type
ncsSeveritySummary :: Lens' NonCompliantSummary (Maybe SeveritySummary)

-- | 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>Setting Up Events and
--   Notifications</a> in the <i>AWS Systems Manager 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>Setting Up Events and Notifications</a> in the <i>AWS Systems
--   Manager 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>pVersion</a> - The parameter version.</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 parameter version.
pVersion :: Lens' Parameter (Maybe Integer)

-- | 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>phVersion</a> - The parameter version.</li>
--   <li><a>phLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>phAllowedPattern</a> - Parameter names can include the
--   following letters and symbols. a-zA-Z0-9_.-</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)

-- | The parameter version.
phVersion :: Lens' ParameterHistory (Maybe Integer)

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

-- | Parameter names can include the following letters and symbols.
--   a-zA-Z0-9_.-
phAllowedPattern :: 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>pmVersion</a> - The parameter version.</li>
--   <li><a>pmLastModifiedUser</a> - Amazon Resource Name (ARN) of the AWS
--   user who last changed the parameter.</li>
--   <li><a>pmAllowedPattern</a> - A parameter name can include only the
--   following letters and symbols. a-zA-Z0-9_.-</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)

-- | The parameter version.
pmVersion :: Lens' ParameterMetadata (Maybe Integer)

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

-- | A parameter name can include only the following letters and symbols.
--   a-zA-Z0-9_.-
pmAllowedPattern :: 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>parameterStringFilter</a> smart constructor.
data ParameterStringFilter

-- | Creates a value of <a>ParameterStringFilter</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>psfValues</a> - The value you want to search for.</li>
--   <li><a>psfOption</a> - Valid options are Equals and BeginsWith. For
--   Path filter, valid options are Recursive and OneLevel.</li>
--   <li><a>psfKey</a> - The name of the filter.</li>
--   </ul>
parameterStringFilter :: Text -> ParameterStringFilter

-- | The value you want to search for.
psfValues :: Lens' ParameterStringFilter (Maybe (NonEmpty Text))

-- | Valid options are Equals and BeginsWith. For Path filter, valid
--   options are Recursive and OneLevel.
psfOption :: Lens' ParameterStringFilter (Maybe Text)

-- | The name of the filter.
psfKey :: Lens' ParameterStringFilter Text

-- | This data type is deprecated. Instead, use
--   <a>ParameterStringFilter</a> .
--   
--   <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>pKey</a> - The name of the filter.</li>
--   <li><a>pValues</a> - The filter values.</li>
--   </ul>
parametersFilter :: ParametersFilterKey -> NonEmpty Text -> ParametersFilter

-- | The name of the filter.
pKey :: Lens' ParametersFilter ParametersFilterKey

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

-- | Represents metadata about a patch.
--   
--   <i>See:</i> <a>patch</a> smart constructor.
data Patch

-- | Creates a value of <a>Patch</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>pVendor</a> - The name of the vendor providing the patch.</li>
--   <li><a>pMsrcSeverity</a> - The severity of the patch (for example
--   Critical, Important, Moderate).</li>
--   <li><a>pProductFamily</a> - The product family the patch is applicable
--   for (for example, Windows).</li>
--   <li><a>pClassification</a> - The classification of the patch (for
--   example, SecurityUpdates, Updates, CriticalUpdates).</li>
--   <li><a>pMsrcNumber</a> - The ID of the MSRC bulletin the patch is
--   related to.</li>
--   <li><a>pLanguage</a> - The language of the patch if it's
--   language-specific.</li>
--   <li><a>pKbNumber</a> - The Microsoft Knowledge Base ID of the
--   patch.</li>
--   <li><a>pContentURL</a> - The URL where more information can be
--   obtained about the patch.</li>
--   <li><a>pId</a> - The ID of the patch (this is different than the
--   Microsoft Knowledge Base ID).</li>
--   <li><a>pReleaseDate</a> - The date the patch was released.</li>
--   <li><a>pTitle</a> - The title of the patch.</li>
--   <li><a>pProduct</a> - The specific product the patch is applicable for
--   (for example, WindowsServer2016).</li>
--   <li><a>pDescription</a> - The description of the patch.</li>
--   </ul>
patch :: Patch

-- | The name of the vendor providing the patch.
pVendor :: Lens' Patch (Maybe Text)

-- | The severity of the patch (for example Critical, Important, Moderate).
pMsrcSeverity :: Lens' Patch (Maybe Text)

-- | The product family the patch is applicable for (for example, Windows).
pProductFamily :: Lens' Patch (Maybe Text)

-- | The classification of the patch (for example, SecurityUpdates,
--   Updates, CriticalUpdates).
pClassification :: Lens' Patch (Maybe Text)

-- | The ID of the MSRC bulletin the patch is related to.
pMsrcNumber :: Lens' Patch (Maybe Text)

-- | The language of the patch if it's language-specific.
pLanguage :: Lens' Patch (Maybe Text)

-- | The Microsoft Knowledge Base ID of the patch.
pKbNumber :: Lens' Patch (Maybe Text)

-- | The URL where more information can be obtained about the patch.
pContentURL :: Lens' Patch (Maybe Text)

-- | The ID of the patch (this is different than the Microsoft Knowledge
--   Base ID).
pId :: Lens' Patch (Maybe Text)

-- | The date the patch was released.
pReleaseDate :: Lens' Patch (Maybe UTCTime)

-- | The title of the patch.
pTitle :: Lens' Patch (Maybe Text)

-- | The specific product the patch is applicable for (for example,
--   WindowsServer2016).
pProduct :: Lens' Patch (Maybe Text)

-- | The description of the patch.
pDescription :: Lens' Patch (Maybe Text)

-- | Defines the basic information about a patch baseline.
--   
--   <i>See:</i> <a>patchBaselineIdentity</a> smart constructor.
data PatchBaselineIdentity

-- | Creates a value of <a>PatchBaselineIdentity</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>pbiBaselineName</a> - The name of the patch baseline.</li>
--   <li><a>pbiBaselineDescription</a> - The description of the patch
--   baseline.</li>
--   <li><a>pbiOperatingSystem</a> - Defines the operating system the patch
--   baseline applies to. The Default value is WINDOWS.</li>
--   <li><a>pbiDefaultBaseline</a> - Whether this is the default baseline.
--   Note that Systems Manager supports creating multiple default patch
--   baselines. For example, you can create a default patch baseline for
--   each operating system.</li>
--   <li><a>pbiBaselineId</a> - The ID of the patch baseline.</li>
--   </ul>
patchBaselineIdentity :: PatchBaselineIdentity

-- | The name of the patch baseline.
pbiBaselineName :: Lens' PatchBaselineIdentity (Maybe Text)

-- | The description of the patch baseline.
pbiBaselineDescription :: Lens' PatchBaselineIdentity (Maybe Text)

-- | Defines the operating system the patch baseline applies to. The
--   Default value is WINDOWS.
pbiOperatingSystem :: Lens' PatchBaselineIdentity (Maybe OperatingSystem)

-- | Whether this is the default baseline. Note that Systems Manager
--   supports creating multiple default patch baselines. For example, you
--   can create a default patch baseline for each operating system.
pbiDefaultBaseline :: Lens' PatchBaselineIdentity (Maybe Bool)

-- | The ID of the patch baseline.
pbiBaselineId :: Lens' PatchBaselineIdentity (Maybe Text)

-- | Information about the state of a patch on a particular instance as it
--   relates to the patch baseline used to patch the instance.
--   
--   <i>See:</i> <a>patchComplianceData</a> smart constructor.
data PatchComplianceData

-- | Creates a value of <a>PatchComplianceData</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>pcdTitle</a> - The title of the patch.</li>
--   <li><a>pcdKBId</a> - The operating system-specific ID of the
--   patch.</li>
--   <li><a>pcdClassification</a> - The classification of the patch (for
--   example, SecurityUpdates, Updates, CriticalUpdates).</li>
--   <li><a>pcdSeverity</a> - The severity of the patch (for example,
--   Critical, Important, Moderate).</li>
--   <li><a>pcdState</a> - The state of the patch on the instance
--   (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).</li>
--   <li><a>pcdInstalledTime</a> - The date/time the patch was installed on
--   the instance. Note that not all operating systems provide this level
--   of information.</li>
--   </ul>
patchComplianceData :: Text -> Text -> Text -> Text -> PatchComplianceDataState -> UTCTime -> PatchComplianceData

-- | The title of the patch.
pcdTitle :: Lens' PatchComplianceData Text

-- | The operating system-specific ID of the patch.
pcdKBId :: Lens' PatchComplianceData Text

-- | The classification of the patch (for example, SecurityUpdates,
--   Updates, CriticalUpdates).
pcdClassification :: Lens' PatchComplianceData Text

-- | The severity of the patch (for example, Critical, Important,
--   Moderate).
pcdSeverity :: Lens' PatchComplianceData Text

-- | The state of the patch on the instance (INSTALLED, INSTALLED_OTHER,
--   MISSING, NOT_APPLICABLE or FAILED).
pcdState :: Lens' PatchComplianceData PatchComplianceDataState

-- | The date/time the patch was installed on the instance. Note that not
--   all operating systems provide this level of information.
pcdInstalledTime :: Lens' PatchComplianceData UTCTime

-- | Defines a patch filter.
--   
--   A patch filter consists of key/value pairs, but not all keys are valid
--   for all operating system types. For example, the key <tt>PRODUCT</tt>
--   is valid for all supported operating system types. The key
--   <tt>MSRC_SEVERITY</tt> , however, is valid only for Windows operating
--   systems, and the key <tt>SECTION</tt> is valid only for Ubuntu
--   operating systems.
--   
--   Refer to the following sections for information about which keys may
--   be used with each major operating system, and which values are valid
--   for each key.
--   
--   <b>Windows Operating Systems</b>
--   
--   The supported keys for Windows operating systems are <tt>PRODUCT</tt>
--   , <tt>CLASSIFICATION</tt> , and <tt>MSRC_SEVERITY</tt> . See the
--   following lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Windows7</pre></li>
--   <li><pre>Windows8</pre></li>
--   <li><pre>Windows8.1</pre></li>
--   <li><pre>Windows8Embedded</pre></li>
--   <li><pre>Windows10</pre></li>
--   <li><pre>Windows10LTSB</pre></li>
--   <li><pre>WindowsServer2008</pre></li>
--   <li><pre>WindowsServer2008R2</pre></li>
--   <li><pre>WindowsServer2012</pre></li>
--   <li><pre>WindowsServer2012R2</pre></li>
--   <li><pre>WindowsServer2016</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>CriticalUpdates</pre></li>
--   <li><pre>DefinitionUpdates</pre></li>
--   <li><pre>Drivers</pre></li>
--   <li><pre>FeaturePacks</pre></li>
--   <li><pre>SecurityUpdates</pre></li>
--   <li><pre>ServicePacks</pre></li>
--   <li><pre>Tools</pre></li>
--   <li><pre>UpdateRollups</pre></li>
--   <li><pre>Updates</pre></li>
--   <li><pre>Upgrades</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>MSRC_SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Moderate</pre></li>
--   <li><pre>Low</pre></li>
--   <li><pre>Unspecified</pre></li>
--   </ul>
--   
--   <b>Ubuntu Operating Systems</b>
--   
--   The supported keys for Ubuntu operating systems are <tt>PRODUCT</tt> ,
--   <tt>PRIORITY</tt> , and <tt>SECTION</tt> . See the following lists for
--   valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Ubuntu14.04</pre></li>
--   <li><pre>Ubuntu16.04</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>PRIORITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Required</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Standard</pre></li>
--   <li><pre>Optional</pre></li>
--   <li><pre>Extra</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SECTION</tt>
--   
--   Only the length of the key value is validated. Minimum length is 1.
--   Maximum length is 64.
--   
--   <b>Amazon Linux Operating Systems</b>
--   
--   The supported keys for Amazon Linux operating systems are
--   <tt>PRODUCT</tt> , <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> .
--   See the following lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>AmazonLinux2012.03</pre></li>
--   <li><pre>AmazonLinux2012.09</pre></li>
--   <li><pre>AmazonLinux2013.03</pre></li>
--   <li><pre>AmazonLinux2013.09</pre></li>
--   <li><pre>AmazonLinux2014.03</pre></li>
--   <li><pre>AmazonLinux2014.09</pre></li>
--   <li><pre>AmazonLinux2015.03</pre></li>
--   <li><pre>AmazonLinux2015.09</pre></li>
--   <li><pre>AmazonLinux2016.03</pre></li>
--   <li><pre>AmazonLinux2016.09</pre></li>
--   <li><pre>AmazonLinux2017.03</pre></li>
--   <li><pre>AmazonLinux2017.09</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Bugfix</pre></li>
--   <li><pre>Enhancement</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Newpackage</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Medium</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <b>RedHat Enterprise Linux (RHEL) Operating Systems</b>
--   
--   The supported keys for RedHat Enterprise Linux operating systems are
--   <tt>PRODUCT</tt> , <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> .
--   See the following lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>RedhatEnterpriseLinux6.5</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.6</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.7</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.8</pre></li>
--   <li><pre>RedhatEnterpriseLinux6.9</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.0</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.1</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.2</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.3</pre></li>
--   <li><pre>RedhatEnterpriseLinux7.4</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Bugfix</pre></li>
--   <li><pre>Enhancement</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Newpackage</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Medium</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <b>SUSE Linux Enterprise Server (SLES) Operating Systems</b>
--   
--   The supported keys for SLES operating systems are <tt>PRODUCT</tt> ,
--   <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> . See the following
--   lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Suse12.0</pre></li>
--   <li><pre>Suse12.1</pre></li>
--   <li><pre>Suse12.2</pre></li>
--   <li><pre>Suse12.3</pre></li>
--   <li><pre>Suse12.4</pre></li>
--   <li><pre>Suse12.5</pre></li>
--   <li><pre>Suse12.6</pre></li>
--   <li><pre>Suse12.7</pre></li>
--   <li><pre>Suse12.8</pre></li>
--   <li><pre>Suse12.9</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Optional</pre></li>
--   <li><pre>Feature</pre></li>
--   <li><pre>Document</pre></li>
--   <li><pre>Yast</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Moderate</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <b>CentOS Operating Systems</b>
--   
--   The supported keys for CentOS operating systems are <tt>PRODUCT</tt> ,
--   <tt>CLASSIFICATION</tt> , and <tt>SEVERITY</tt> . See the following
--   lists for valid values for each of these keys.
--   
--   <i>Supported key:</i> <tt>PRODUCT</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>CentOS6.5</pre></li>
--   <li><pre>CentOS6.6</pre></li>
--   <li><pre>CentOS6.7</pre></li>
--   <li><pre>CentOS6.8</pre></li>
--   <li><pre>CentOS6.9</pre></li>
--   <li><pre>CentOS7.0</pre></li>
--   <li><pre>CentOS7.1</pre></li>
--   <li><pre>CentOS7.2</pre></li>
--   <li><pre>CentOS7.3</pre></li>
--   <li><pre>CentOS7.4</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>CLASSIFICATION</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Security</pre></li>
--   <li><pre>Bugfix</pre></li>
--   <li><pre>Enhancement</pre></li>
--   <li><pre>Recommended</pre></li>
--   <li><pre>Newpackage</pre></li>
--   </ul>
--   
--   <i>Supported key:</i> <tt>SEVERITY</tt>
--   
--   <i>Supported values:</i>
--   
--   <ul>
--   <li><pre>Critical</pre></li>
--   <li><pre>Important</pre></li>
--   <li><pre>Medium</pre></li>
--   <li><pre>Low</pre></li>
--   </ul>
--   
--   <i>See:</i> <a>patchFilter</a> smart constructor.
data PatchFilter

-- | Creates a value of <a>PatchFilter</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 key for the filter. See <a>PatchFilter</a> for
--   lists of valid keys for each operating system type.</li>
--   <li><a>pfValues</a> - The value for the filter key. See
--   <a>PatchFilter</a> for lists of valid values for each key based on
--   operating system type.</li>
--   </ul>
patchFilter :: PatchFilterKey -> NonEmpty Text -> PatchFilter

-- | The key for the filter. See <a>PatchFilter</a> for lists of valid keys
--   for each operating system type.
pfKey :: Lens' PatchFilter PatchFilterKey

-- | The value for the filter key. See <a>PatchFilter</a> for lists of
--   valid values for each key based on operating system type.
pfValues :: Lens' PatchFilter (NonEmpty Text)

-- | A set of patch filters, typically used for approval rules.
--   
--   <i>See:</i> <a>patchFilterGroup</a> smart constructor.
data PatchFilterGroup

-- | Creates a value of <a>PatchFilterGroup</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>pfgPatchFilters</a> - The set of patch filters that make up the
--   group.</li>
--   </ul>
patchFilterGroup :: PatchFilterGroup

-- | The set of patch filters that make up the group.
pfgPatchFilters :: Lens' PatchFilterGroup [PatchFilter]

-- | The mapping between a patch group and the patch baseline the patch
--   group is registered with.
--   
--   <i>See:</i> <a>patchGroupPatchBaselineMapping</a> smart constructor.
data PatchGroupPatchBaselineMapping

-- | Creates a value of <a>PatchGroupPatchBaselineMapping</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>pgpbmBaselineIdentity</a> - The patch baseline the patch group
--   is registered with.</li>
--   <li><a>pgpbmPatchGroup</a> - The name of the patch group registered
--   with the patch baseline.</li>
--   </ul>
patchGroupPatchBaselineMapping :: PatchGroupPatchBaselineMapping

-- | The patch baseline the patch group is registered with.
pgpbmBaselineIdentity :: Lens' PatchGroupPatchBaselineMapping (Maybe PatchBaselineIdentity)

-- | The name of the patch group registered with the patch baseline.
pgpbmPatchGroup :: Lens' PatchGroupPatchBaselineMapping (Maybe Text)

-- | Defines a filter used in Patch Manager APIs.
--   
--   <i>See:</i> <a>patchOrchestratorFilter</a> smart constructor.
data PatchOrchestratorFilter

-- | Creates a value of <a>PatchOrchestratorFilter</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>pofValues</a> - The value for the filter.</li>
--   <li><a>pofKey</a> - The key for the filter.</li>
--   </ul>
patchOrchestratorFilter :: PatchOrchestratorFilter

-- | The value for the filter.
pofValues :: Lens' PatchOrchestratorFilter [Text]

-- | The key for the filter.
pofKey :: Lens' PatchOrchestratorFilter (Maybe Text)

-- | Defines an approval rule for a patch baseline.
--   
--   <i>See:</i> <a>patchRule</a> smart constructor.
data PatchRule

-- | Creates a value of <a>PatchRule</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>prEnableNonSecurity</a> - For instances identified by the
--   approval rule filters, enables a patch baseline to apply non-security
--   updates available in the specified repository. The default value is
--   <tt>false</tt>. Applies to Linux instances only.</li>
--   <li><a>prComplianceLevel</a> - A compliance severity level for all
--   approved patches in a patch baseline. Valid compliance severity levels
--   include the following: Unspecified, Critical, High, Medium, Low, and
--   Informational.</li>
--   <li><a>prPatchFilterGroup</a> - The patch filter group that defines
--   the criteria for the rule.</li>
--   <li><a>prApproveAfterDays</a> - The number of days after the release
--   date of each patch matched by the rule the patch is marked as approved
--   in the patch baseline.</li>
--   </ul>
patchRule :: PatchFilterGroup -> Natural -> PatchRule

-- | For instances identified by the approval rule filters, enables a patch
--   baseline to apply non-security updates available in the specified
--   repository. The default value is <tt>false</tt>. Applies to Linux
--   instances only.
prEnableNonSecurity :: Lens' PatchRule (Maybe Bool)

-- | A compliance severity level for all approved patches in a patch
--   baseline. Valid compliance severity levels include the following:
--   Unspecified, Critical, High, Medium, Low, and Informational.
prComplianceLevel :: Lens' PatchRule (Maybe PatchComplianceLevel)

-- | The patch filter group that defines the criteria for the rule.
prPatchFilterGroup :: Lens' PatchRule PatchFilterGroup

-- | The number of days after the release date of each patch matched by the
--   rule the patch is marked as approved in the patch baseline.
prApproveAfterDays :: Lens' PatchRule Natural

-- | A set of rules defining the approval rules for a patch baseline.
--   
--   <i>See:</i> <a>patchRuleGroup</a> smart constructor.
data PatchRuleGroup

-- | Creates a value of <a>PatchRuleGroup</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>prgPatchRules</a> - The rules that make up the rule group.</li>
--   </ul>
patchRuleGroup :: PatchRuleGroup

-- | The rules that make up the rule group.
prgPatchRules :: Lens' PatchRuleGroup [PatchRule]

-- | Information about the patches to use to update the instances,
--   including target operating systems and source repository. Applies to
--   Linux instances only.
--   
--   <i>See:</i> <a>patchSource</a> smart constructor.
data PatchSource

-- | Creates a value of <a>PatchSource</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>psName</a> - The name specified to identify the patch
--   source.</li>
--   <li><a>psProducts</a> - The specific operating system versions a patch
--   repository applies to, such as "Ubuntu16.04", "AmazonLinux2016.09",
--   "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported
--   product values, see <a>PatchFilter</a> .</li>
--   <li><a>psConfiguration</a> - The value of the yum repo configuration.
--   For example: <tt>cachedir=<i>var</i>cache<i>yum</i>$basesearch</tt>
--   <tt>&gt; releasever</tt> <tt>keepcache=0</tt>
--   <tt>debualevel=2</tt></li>
--   </ul>
patchSource :: Text -> NonEmpty Text -> Text -> PatchSource

-- | The name specified to identify the patch source.
psName :: Lens' PatchSource Text

-- | The specific operating system versions a patch repository applies to,
--   such as "Ubuntu16.04", "AmazonLinux2016.09",
--   "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported
--   product values, see <a>PatchFilter</a> .
psProducts :: Lens' PatchSource (NonEmpty Text)

-- | The value of the yum repo configuration. For example:
--   <tt>cachedir=<i>var</i>cache<i>yum</i>$basesearch</tt> <tt>&gt;
--   releasever</tt> <tt>keepcache=0</tt> <tt>debualevel=2</tt>
psConfiguration :: Lens' PatchSource Text

-- | Information about the approval status of a patch.
--   
--   <i>See:</i> <a>patchStatus</a> smart constructor.
data PatchStatus

-- | Creates a value of <a>PatchStatus</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>psApprovalDate</a> - The date the patch was approved (or will
--   be approved if the status is PENDING_APPROVAL).</li>
--   <li><a>psDeploymentStatus</a> - The approval status of a patch
--   (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED,
--   EXPLICIT_REJECTED).</li>
--   <li><a>psComplianceLevel</a> - The compliance severity level for a
--   patch.</li>
--   </ul>
patchStatus :: PatchStatus

-- | The date the patch was approved (or will be approved if the status is
--   PENDING_APPROVAL).
psApprovalDate :: Lens' PatchStatus (Maybe UTCTime)

-- | The approval status of a patch (APPROVED, PENDING_APPROVAL,
--   EXPLICIT_APPROVED, EXPLICIT_REJECTED).
psDeploymentStatus :: Lens' PatchStatus (Maybe PatchDeploymentStatus)

-- | The compliance severity level for a patch.
psComplianceLevel :: Lens' PatchStatus (Maybe PatchComplianceLevel)

-- | Information about targets that resolved during the Automation
--   execution.
--   
--   <i>See:</i> <a>resolvedTargets</a> smart constructor.
data ResolvedTargets

-- | Creates a value of <a>ResolvedTargets</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>rtTruncated</a> - A boolean value indicating whether the
--   resolved target list is truncated.</li>
--   <li><a>rtParameterValues</a> - A list of parameter values sent to
--   targets that resolved during the Automation execution.</li>
--   </ul>
resolvedTargets :: ResolvedTargets

-- | A boolean value indicating whether the resolved target list is
--   truncated.
rtTruncated :: Lens' ResolvedTargets (Maybe Bool)

-- | A list of parameter values sent to targets that resolved during the
--   Automation execution.
rtParameterValues :: Lens' ResolvedTargets [Text]

-- | Compliance summary information for a specific resource.
--   
--   <i>See:</i> <a>resourceComplianceSummaryItem</a> smart constructor.
data ResourceComplianceSummaryItem

-- | Creates a value of <a>ResourceComplianceSummaryItem</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>rcsiNonCompliantSummary</a> - A list of items that aren't
--   compliant for the resource.</li>
--   <li><a>rcsiStatus</a> - The compliance status for the resource.</li>
--   <li><a>rcsiResourceId</a> - The resource ID.</li>
--   <li><a>rcsiResourceType</a> - The resource type.</li>
--   <li><a>rcsiCompliantSummary</a> - A list of items that are compliant
--   for the resource.</li>
--   <li><a>rcsiExecutionSummary</a> - Information about the
--   execution.</li>
--   <li><a>rcsiOverallSeverity</a> - The highest severity item found for
--   the resource. The resource is compliant for this item.</li>
--   <li><a>rcsiComplianceType</a> - The compliance type.</li>
--   </ul>
resourceComplianceSummaryItem :: ResourceComplianceSummaryItem

-- | A list of items that aren't compliant for the resource.
rcsiNonCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe NonCompliantSummary)

-- | The compliance status for the resource.
rcsiStatus :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceStatus)

-- | The resource ID.
rcsiResourceId :: Lens' ResourceComplianceSummaryItem (Maybe Text)

-- | The resource type.
rcsiResourceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)

-- | A list of items that are compliant for the resource.
rcsiCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe CompliantSummary)

-- | Information about the execution.
rcsiExecutionSummary :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceExecutionSummary)

-- | The highest severity item found for the resource. The resource is
--   compliant for this item.
rcsiOverallSeverity :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceSeverity)

-- | The compliance type.
rcsiComplianceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)

-- | Information about a Resource Data Sync configuration, including its
--   current status and last successful sync.
--   
--   <i>See:</i> <a>resourceDataSyncItem</a> smart constructor.
data ResourceDataSyncItem

-- | Creates a value of <a>ResourceDataSyncItem</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>rdsiLastSyncStatusMessage</a> - The status message details
--   reported by the last sync.</li>
--   <li><a>rdsiSyncCreatedTime</a> - The date and time the configuration
--   was created (UTC).</li>
--   <li><a>rdsiLastSyncTime</a> - The last time the configuration
--   attempted to sync (UTC).</li>
--   <li><a>rdsiSyncName</a> - The name of the Resource Data Sync.</li>
--   <li><a>rdsiLastStatus</a> - The status reported by the last sync.</li>
--   <li><a>rdsiS3Destination</a> - Configuration information for the
--   target Amazon S3 bucket.</li>
--   <li><a>rdsiLastSuccessfulSyncTime</a> - The last time the sync
--   operations returned a status of <tt>SUCCESSFUL</tt> (UTC).</li>
--   </ul>
resourceDataSyncItem :: ResourceDataSyncItem

-- | The status message details reported by the last sync.
rdsiLastSyncStatusMessage :: Lens' ResourceDataSyncItem (Maybe Text)

-- | The date and time the configuration was created (UTC).
rdsiSyncCreatedTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)

-- | The last time the configuration attempted to sync (UTC).
rdsiLastSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)

-- | The name of the Resource Data Sync.
rdsiSyncName :: Lens' ResourceDataSyncItem (Maybe Text)

-- | The status reported by the last sync.
rdsiLastStatus :: Lens' ResourceDataSyncItem (Maybe LastResourceDataSyncStatus)

-- | Configuration information for the target Amazon S3 bucket.
rdsiS3Destination :: Lens' ResourceDataSyncItem (Maybe ResourceDataSyncS3Destination)

-- | The last time the sync operations returned a status of
--   <tt>SUCCESSFUL</tt> (UTC).
rdsiLastSuccessfulSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)

-- | Information about the target Amazon S3 bucket for the Resource Data
--   Sync.
--   
--   <i>See:</i> <a>resourceDataSyncS3Destination</a> smart constructor.
data ResourceDataSyncS3Destination

-- | Creates a value of <a>ResourceDataSyncS3Destination</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>rdssdPrefix</a> - An Amazon S3 prefix for the bucket.</li>
--   <li><a>rdssdAWSKMSKeyARN</a> - The ARN of an encryption key for a
--   destination in Amazon S3. Must belong to the same region as the
--   destination Amazon S3 bucket.</li>
--   <li><a>rdssdBucketName</a> - The name of the Amazon S3 bucket where
--   the aggregated data is stored.</li>
--   <li><a>rdssdSyncFormat</a> - A supported sync format. The following
--   format is currently supported: JsonSerDe</li>
--   <li><a>rdssdRegion</a> - The AWS Region with the Amazon S3 bucket
--   targeted by the Resource Data Sync.</li>
--   </ul>
resourceDataSyncS3Destination :: Text -> ResourceDataSyncS3Format -> Text -> ResourceDataSyncS3Destination

-- | An Amazon S3 prefix for the bucket.
rdssdPrefix :: Lens' ResourceDataSyncS3Destination (Maybe Text)

-- | The ARN of an encryption key for a destination in Amazon S3. Must
--   belong to the same region as the destination Amazon S3 bucket.
rdssdAWSKMSKeyARN :: Lens' ResourceDataSyncS3Destination (Maybe Text)

-- | The name of the Amazon S3 bucket where the aggregated data is stored.
rdssdBucketName :: Lens' ResourceDataSyncS3Destination Text

-- | A supported sync format. The following format is currently supported:
--   JsonSerDe
rdssdSyncFormat :: Lens' ResourceDataSyncS3Destination ResourceDataSyncS3Format

-- | The AWS Region with the Amazon S3 bucket targeted by the Resource Data
--   Sync.
rdssdRegion :: Lens' ResourceDataSyncS3Destination 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> - (Deprecated) You can no longer specify
--   this parameter. The system ignores it. Instead, Systems Manager
--   automatically determines the Amazon S3 bucket region.</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)

-- | (Deprecated) You can no longer specify this parameter. The system
--   ignores it. Instead, Systems Manager automatically determines the
--   Amazon S3 bucket region.
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)

-- | The number of managed instances found for each patch severity level
--   defined in the request filter.
--   
--   <i>See:</i> <a>severitySummary</a> smart constructor.
data SeveritySummary

-- | Creates a value of <a>SeveritySummary</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>ssLowCount</a> - The total number of resources or compliance
--   items that have a severity level of low. Low severity is determined by
--   the organization that published the compliance items.</li>
--   <li><a>ssUnspecifiedCount</a> - The total number of resources or
--   compliance items that have a severity level of unspecified.
--   Unspecified severity is determined by the organization that published
--   the compliance items.</li>
--   <li><a>ssHighCount</a> - The total number of resources or compliance
--   items that have a severity level of high. High severity is determined
--   by the organization that published the compliance items.</li>
--   <li><a>ssMediumCount</a> - The total number of resources or compliance
--   items that have a severity level of medium. Medium severity is
--   determined by the organization that published the compliance
--   items.</li>
--   <li><a>ssInformationalCount</a> - The total number of resources or
--   compliance items that have a severity level of informational.
--   Informational severity is determined by the organization that
--   published the compliance items.</li>
--   <li><a>ssCriticalCount</a> - The total number of resources or
--   compliance items that have a severity level of critical. Critical
--   severity is determined by the organization that published the
--   compliance items.</li>
--   </ul>
severitySummary :: SeveritySummary

-- | The total number of resources or compliance items that have a severity
--   level of low. Low severity is determined by the organization that
--   published the compliance items.
ssLowCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of unspecified. Unspecified severity is determined by the
--   organization that published the compliance items.
ssUnspecifiedCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of high. High severity is determined by the organization that
--   published the compliance items.
ssHighCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of medium. Medium severity is determined by the organization
--   that published the compliance items.
ssMediumCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of informational. Informational severity is determined by the
--   organization that published the compliance items.
ssInformationalCount :: Lens' SeveritySummary (Maybe Int)

-- | The total number of resources or compliance items that have a severity
--   level of critical. Critical severity is determined by the organization
--   that published the compliance items.
ssCriticalCount :: Lens' SeveritySummary (Maybe Int)

-- | 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>seFailureDetails</a> - Information about the Automation
--   failure.</li>
--   <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: Pending, InProgress, Success, Cancelled, Failed, and
--   TimedOut.</li>
--   <li><a>seOverriddenParameters</a> - A user-specified list of
--   parameters to override when executing a step.</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 Pending status,
--   this field is not populated.</li>
--   <li><a>seMaxAttempts</a> - The maximum number of tries to run the
--   action of the step. The default value is 1.</li>
--   <li><a>seStepExecutionId</a> - The unique ID of a step execution.</li>
--   <li><a>seTimeoutSeconds</a> - The timeout seconds of the step.</li>
--   <li><a>seOnFailure</a> - The action to take if the step fails. The
--   default value is Abort.</li>
--   </ul>
stepExecution :: StepExecution

-- | Information about the Automation failure.
seFailureDetails :: Lens' StepExecution (Maybe FailureDetails)

-- | 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: Pending,
--   InProgress, Success, Cancelled, Failed, and TimedOut.
seStepStatus :: Lens' StepExecution (Maybe AutomationExecutionStatus)

-- | A user-specified list of parameters to override when executing a step.
seOverriddenParameters :: Lens' StepExecution (HashMap Text [Text])

-- | 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 Pending status, this field is not
--   populated.
seExecutionStartTime :: Lens' StepExecution (Maybe UTCTime)

-- | The maximum number of tries to run the action of the step. The default
--   value is 1.
seMaxAttempts :: Lens' StepExecution (Maybe Int)

-- | The unique ID of a step execution.
seStepExecutionId :: Lens' StepExecution (Maybe Text)

-- | The timeout seconds of the step.
seTimeoutSeconds :: Lens' StepExecution (Maybe Integer)

-- | The action to take if the step fails. The default value is Abort.
seOnFailure :: Lens' StepExecution (Maybe Text)

-- | A filter to limit the amount of step execution information returned by
--   the call.
--   
--   <i>See:</i> <a>stepExecutionFilter</a> smart constructor.
data StepExecutionFilter

-- | Creates a value of <a>StepExecutionFilter</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>sefKey</a> - One or more keys to limit the results. Valid
--   filter keys include the following: StepName, Action, StepExecutionId,
--   StepExecutionStatus, StartTimeBefore, StartTimeAfter.</li>
--   <li><a>sefValues</a> - The values of the filter key.</li>
--   </ul>
stepExecutionFilter :: StepExecutionFilterKey -> NonEmpty Text -> StepExecutionFilter

-- | One or more keys to limit the results. Valid filter keys include the
--   following: StepName, Action, StepExecutionId, StepExecutionStatus,
--   StartTimeBefore, StartTimeAfter.
sefKey :: Lens' StepExecutionFilter StepExecutionFilterKey

-- | The values of the filter key.
sefValues :: Lens' StepExecutionFilter (NonEmpty Text)

-- | Metadata that you assign to your AWS resources. Tags enable you to
--   categorize your resources in different ways, for example, by purpose,
--   owner, or environment. In Systems Manager, you can apply tags to
--   documents, managed instances, Maintenance Windows, Parameter Store
--   parameters, and patch baselines.
--   
--   <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 Key,Value
--   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 Key. For
--   example, if you specified tag:ServerRole, you could specify
--   value:WebServer 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 Key,Value parameters, see
--   <a>Executing a Command Using Systems Manager Run Command</a> .</li>
--   <li><a>tKey</a> - User-defined criteria for sending commands that
--   target instances that meet the criteria. Key can be tag:<a>EC2 tag</a>
--   or InstanceIds. For more information about how to send commands that
--   target instances using Key,Value parameters, see <a>Executing a
--   Command Using Systems Manager Run Command</a> .</li>
--   </ul>
target :: Target

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

-- | User-defined criteria for sending commands that target instances that
--   meet the criteria. Key can be tag:<a>EC2 tag</a> or InstanceIds. For
--   more information about how to send commands that target instances
--   using Key,Value parameters, see <a>Executing a Command Using Systems
--   Manager Run Command</a> .
tKey :: Lens' Target (Maybe Text)
