packages feed

amazonka-ssm 1.5.0 → 1.6.0

raw patch · 116 files changed

+11249/−8647 lines, 116 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

- Network.AWS.SSM: DocumentNamePrefix :: AutomationExecutionFilterKey
- Network.AWS.SSM: ExecutionStatus :: AutomationExecutionFilterKey
- Network.AWS.SSM.CreatePatchBaseline: instance GHC.Read.Read Network.AWS.SSM.CreatePatchBaseline.CreatePatchBaseline
- Network.AWS.SSM.GetPatchBaseline: instance GHC.Read.Read Network.AWS.SSM.GetPatchBaseline.GetPatchBaselineResponse
- Network.AWS.SSM.Types: DocumentNamePrefix :: AutomationExecutionFilterKey
- Network.AWS.SSM.Types: ExecutionStatus :: AutomationExecutionFilterKey
- Network.AWS.SSM.UpdatePatchBaseline: instance GHC.Read.Read Network.AWS.SSM.UpdatePatchBaseline.UpdatePatchBaseline
- Network.AWS.SSM.UpdatePatchBaseline: instance GHC.Read.Read Network.AWS.SSM.UpdatePatchBaseline.UpdatePatchBaselineResponse
+ Network.AWS.SSM: AEFKCurrentAction :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AEFKDocumentNamePrefix :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AEFKExecutionId :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AEFKExecutionStatus :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AEFKParentExecutionId :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AEFKStartTimeAfter :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AEFKStartTimeBefore :: AutomationExecutionFilterKey
+ Network.AWS.SSM: AESCancelling :: AutomationExecutionStatus
+ Network.AWS.SSM: Action :: StepExecutionFilterKey
+ Network.AWS.SSM: Auto :: ExecutionMode
+ Network.AWS.SSM: Centos :: OperatingSystem
+ Network.AWS.SSM: Complete :: InventoryDeletionStatus
+ Network.AWS.SSM: DeleteSchema :: InventorySchemaDeleteOption
+ Network.AWS.SSM: DisableSchema :: InventorySchemaDeleteOption
+ Network.AWS.SSM: InProgress :: InventoryDeletionStatus
+ Network.AWS.SSM: Interactive :: ExecutionMode
+ Network.AWS.SSM: JSON :: DocumentFormat
+ Network.AWS.SSM: Resume :: SignalType
+ Network.AWS.SSM: STCancel :: StopType
+ Network.AWS.SSM: STComplete :: StopType
+ Network.AWS.SSM: StartStep :: SignalType
+ Network.AWS.SSM: StartTimeAfter :: StepExecutionFilterKey
+ Network.AWS.SSM: StartTimeBefore :: StepExecutionFilterKey
+ Network.AWS.SSM: StepExecutionId :: StepExecutionFilterKey
+ Network.AWS.SSM: StepExecutionStatus :: StepExecutionFilterKey
+ Network.AWS.SSM: StepName :: StepExecutionFilterKey
+ Network.AWS.SSM: StopStep :: SignalType
+ Network.AWS.SSM: Suse :: OperatingSystem
+ Network.AWS.SSM: Yaml :: DocumentFormat
+ Network.AWS.SSM: _AutomationStepNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM: _InvalidAutomationStatusUpdateException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM: _InvalidDeleteInventoryParametersException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM: _InvalidDeletionIdException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM: _InvalidInventoryRequestException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM: _InvalidOptionException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM: aeCurrentAction :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeCurrentStepName :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeExecutedBy :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeMaxConcurrency :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeMaxErrors :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeMode :: Lens' AutomationExecution (Maybe ExecutionMode)
+ Network.AWS.SSM: aeParentAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeResolvedTargets :: Lens' AutomationExecution (Maybe ResolvedTargets)
+ Network.AWS.SSM: aeStepExecutionsTruncated :: Lens' AutomationExecution (Maybe Bool)
+ Network.AWS.SSM: aeTarget :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeTargetParameterName :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM: aeTargets :: Lens' AutomationExecution [Target]
+ Network.AWS.SSM: aemCurrentAction :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemCurrentStepName :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemFailureMessage :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemMaxConcurrency :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemMaxErrors :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemMode :: Lens' AutomationExecutionMetadata (Maybe ExecutionMode)
+ Network.AWS.SSM: aemParentAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemResolvedTargets :: Lens' AutomationExecutionMetadata (Maybe ResolvedTargets)
+ Network.AWS.SSM: aemTarget :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemTargetParameterName :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM: aemTargets :: Lens' AutomationExecutionMetadata [Target]
+ Network.AWS.SSM: cDocumentVersion :: Lens' Command (Maybe Text)
+ Network.AWS.SSM: comDocumentVersion :: Lens' CommandInvocation (Maybe Text)
+ Network.AWS.SSM: dDocumentFormat :: Lens' DocumentDescription (Maybe DocumentFormat)
+ Network.AWS.SSM: dTargetType :: Lens' DocumentDescription (Maybe Text)
+ Network.AWS.SSM: data DocumentFormat
+ Network.AWS.SSM: data ExecutionMode
+ Network.AWS.SSM: data InventoryAggregator
+ Network.AWS.SSM: data InventoryDeletionStatus
+ Network.AWS.SSM: data InventoryDeletionStatusItem
+ Network.AWS.SSM: data InventoryDeletionSummary
+ Network.AWS.SSM: data InventoryDeletionSummaryItem
+ Network.AWS.SSM: data InventorySchemaDeleteOption
+ Network.AWS.SSM: data PatchSource
+ Network.AWS.SSM: data ResolvedTargets
+ Network.AWS.SSM: data StepExecutionFilter
+ Network.AWS.SSM: data StepExecutionFilterKey
+ Network.AWS.SSM: data StopType
+ Network.AWS.SSM: diDocumentFormat :: Lens' DocumentIdentifier (Maybe DocumentFormat)
+ Network.AWS.SSM: diTargetType :: Lens' DocumentIdentifier (Maybe Text)
+ Network.AWS.SSM: dviDocumentFormat :: Lens' DocumentVersionInfo (Maybe DocumentFormat)
+ Network.AWS.SSM: iaAggregators :: Lens' InventoryAggregator (Maybe (NonEmpty InventoryAggregator))
+ Network.AWS.SSM: iaExpression :: Lens' InventoryAggregator (Maybe Text)
+ Network.AWS.SSM: idsRemainingCount :: Lens' InventoryDeletionSummary (Maybe Int)
+ Network.AWS.SSM: idsSummaryItems :: Lens' InventoryDeletionSummary [InventoryDeletionSummaryItem]
+ Network.AWS.SSM: idsTotalCount :: Lens' InventoryDeletionSummary (Maybe Int)
+ Network.AWS.SSM: idsiCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)
+ Network.AWS.SSM: idsiDeletionId :: Lens' InventoryDeletionStatusItem (Maybe Text)
+ Network.AWS.SSM: idsiDeletionStartTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)
+ Network.AWS.SSM: idsiDeletionSummary :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionSummary)
+ Network.AWS.SSM: idsiLastStatus :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionStatus)
+ Network.AWS.SSM: idsiLastStatusMessage :: Lens' InventoryDeletionStatusItem (Maybe Text)
+ Network.AWS.SSM: idsiLastStatusUpdateTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)
+ Network.AWS.SSM: idsiRemainingCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)
+ Network.AWS.SSM: idsiTypeName :: Lens' InventoryDeletionStatusItem (Maybe Text)
+ Network.AWS.SSM: idsiVersion :: Lens' InventoryDeletionSummaryItem (Maybe Text)
+ Network.AWS.SSM: iisDisplayName :: Lens' InventoryItemSchema (Maybe Text)
+ Network.AWS.SSM: inventoryAggregator :: InventoryAggregator
+ Network.AWS.SSM: inventoryDeletionStatusItem :: InventoryDeletionStatusItem
+ Network.AWS.SSM: inventoryDeletionSummary :: InventoryDeletionSummary
+ Network.AWS.SSM: inventoryDeletionSummaryItem :: InventoryDeletionSummaryItem
+ Network.AWS.SSM: patchSource :: Text -> NonEmpty Text -> Text -> PatchSource
+ Network.AWS.SSM: prEnableNonSecurity :: Lens' PatchRule (Maybe Bool)
+ Network.AWS.SSM: psConfiguration :: Lens' PatchSource Text
+ Network.AWS.SSM: psName :: Lens' PatchSource Text
+ Network.AWS.SSM: psProducts :: Lens' PatchSource (NonEmpty Text)
+ Network.AWS.SSM: rdsiLastSyncStatusMessage :: Lens' ResourceDataSyncItem (Maybe Text)
+ Network.AWS.SSM: resolvedTargets :: ResolvedTargets
+ Network.AWS.SSM: rtParameterValues :: Lens' ResolvedTargets [Text]
+ Network.AWS.SSM: rtTruncated :: Lens' ResolvedTargets (Maybe Bool)
+ Network.AWS.SSM: seMaxAttempts :: Lens' StepExecution (Maybe Int)
+ Network.AWS.SSM: seOnFailure :: Lens' StepExecution (Maybe Text)
+ Network.AWS.SSM: seOverriddenParameters :: Lens' StepExecution (HashMap Text [Text])
+ Network.AWS.SSM: seStepExecutionId :: Lens' StepExecution (Maybe Text)
+ Network.AWS.SSM: seTimeoutSeconds :: Lens' StepExecution (Maybe Integer)
+ Network.AWS.SSM: sefKey :: Lens' StepExecutionFilter StepExecutionFilterKey
+ Network.AWS.SSM: sefValues :: Lens' StepExecutionFilter (NonEmpty Text)
+ Network.AWS.SSM: stepExecutionFilter :: StepExecutionFilterKey -> NonEmpty Text -> StepExecutionFilter
+ Network.AWS.SSM.CreateDocument: cdDocumentFormat :: Lens' CreateDocument (Maybe DocumentFormat)
+ Network.AWS.SSM.CreateDocument: cdTargetType :: Lens' CreateDocument (Maybe Text)
+ Network.AWS.SSM.CreatePatchBaseline: cpbApprovedPatchesEnableNonSecurity :: Lens' CreatePatchBaseline (Maybe Bool)
+ Network.AWS.SSM.CreatePatchBaseline: cpbSources :: Lens' CreatePatchBaseline [PatchSource]
+ Network.AWS.SSM.DeleteInventory: data DeleteInventory
+ Network.AWS.SSM.DeleteInventory: data DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: deleteInventory :: Text -> DeleteInventory
+ Network.AWS.SSM.DeleteInventory: deleteInventoryResponse :: Int -> DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: diClientToken :: Lens' DeleteInventory (Maybe Text)
+ Network.AWS.SSM.DeleteInventory: diDryRun :: Lens' DeleteInventory (Maybe Bool)
+ Network.AWS.SSM.DeleteInventory: diSchemaDeleteOption :: Lens' DeleteInventory (Maybe InventorySchemaDeleteOption)
+ Network.AWS.SSM.DeleteInventory: diTypeName :: Lens' DeleteInventory Text
+ Network.AWS.SSM.DeleteInventory: dirsDeletionId :: Lens' DeleteInventoryResponse (Maybe Text)
+ Network.AWS.SSM.DeleteInventory: dirsDeletionSummary :: Lens' DeleteInventoryResponse (Maybe InventoryDeletionSummary)
+ Network.AWS.SSM.DeleteInventory: dirsResponseStatus :: Lens' DeleteInventoryResponse Int
+ Network.AWS.SSM.DeleteInventory: dirsTypeName :: Lens' DeleteInventoryResponse (Maybe Text)
+ Network.AWS.SSM.DeleteInventory: instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance Control.DeepSeq.NFData Network.AWS.SSM.DeleteInventory.DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance Data.Data.Data Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance Data.Data.Data Network.AWS.SSM.DeleteInventory.DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: instance Data.Hashable.Class.Hashable Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance GHC.Classes.Eq Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance GHC.Classes.Eq Network.AWS.SSM.DeleteInventory.DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: instance GHC.Generics.Generic Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance GHC.Generics.Generic Network.AWS.SSM.DeleteInventory.DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: instance GHC.Read.Read Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance GHC.Read.Read Network.AWS.SSM.DeleteInventory.DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: instance GHC.Show.Show Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance GHC.Show.Show Network.AWS.SSM.DeleteInventory.DeleteInventoryResponse
+ Network.AWS.SSM.DeleteInventory: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DeleteInventory: instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DeleteInventory.DeleteInventory
+ Network.AWS.SSM.DescribeAutomationStepExecutions: daseAutomationExecutionId :: Lens' DescribeAutomationStepExecutions Text
+ Network.AWS.SSM.DescribeAutomationStepExecutions: daseFilters :: Lens' DescribeAutomationStepExecutions (Maybe (NonEmpty StepExecutionFilter))
+ Network.AWS.SSM.DescribeAutomationStepExecutions: daseMaxResults :: Lens' DescribeAutomationStepExecutions (Maybe Natural)
+ Network.AWS.SSM.DescribeAutomationStepExecutions: daseNextToken :: Lens' DescribeAutomationStepExecutions (Maybe Text)
+ Network.AWS.SSM.DescribeAutomationStepExecutions: daseReverseOrder :: Lens' DescribeAutomationStepExecutions (Maybe Bool)
+ Network.AWS.SSM.DescribeAutomationStepExecutions: dasersNextToken :: Lens' DescribeAutomationStepExecutionsResponse (Maybe Text)
+ Network.AWS.SSM.DescribeAutomationStepExecutions: dasersResponseStatus :: Lens' DescribeAutomationStepExecutionsResponse Int
+ Network.AWS.SSM.DescribeAutomationStepExecutions: dasersStepExecutions :: Lens' DescribeAutomationStepExecutionsResponse [StepExecution]
+ Network.AWS.SSM.DescribeAutomationStepExecutions: data DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: data DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: describeAutomationStepExecutions :: Text -> DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: describeAutomationStepExecutionsResponse :: Int -> DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Data.Data.Data Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Data.Data.Data Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Classes.Eq Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Classes.Eq Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Generics.Generic Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Generics.Generic Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Read.Read Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Read.Read Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Show.Show Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance GHC.Show.Show Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutionsResponse
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeAutomationStepExecutions: instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeAutomationStepExecutions.DescribeAutomationStepExecutions
+ Network.AWS.SSM.DescribeInventoryDeletions: data DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: data DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: describeInventoryDeletions :: DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: describeInventoryDeletionsResponse :: Int -> DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: didDeletionId :: Lens' DescribeInventoryDeletions (Maybe Text)
+ Network.AWS.SSM.DescribeInventoryDeletions: didMaxResults :: Lens' DescribeInventoryDeletions (Maybe Natural)
+ Network.AWS.SSM.DescribeInventoryDeletions: didNextToken :: Lens' DescribeInventoryDeletions (Maybe Text)
+ Network.AWS.SSM.DescribeInventoryDeletions: didrsInventoryDeletions :: Lens' DescribeInventoryDeletionsResponse [InventoryDeletionStatusItem]
+ Network.AWS.SSM.DescribeInventoryDeletions: didrsNextToken :: Lens' DescribeInventoryDeletionsResponse (Maybe Text)
+ Network.AWS.SSM.DescribeInventoryDeletions: didrsResponseStatus :: Lens' DescribeInventoryDeletionsResponse Int
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Control.DeepSeq.NFData Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Data.Data.Data Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Data.Data.Data Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Data.Hashable.Class.Hashable Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Classes.Eq Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Classes.Eq Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Generics.Generic Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Generics.Generic Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Read.Read Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Read.Read Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Show.Show Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance GHC.Show.Show Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletionsResponse
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Network.AWS.Data.Path.ToPath Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Network.AWS.Data.Query.ToQuery Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.DescribeInventoryDeletions: instance Network.AWS.Types.AWSRequest Network.AWS.SSM.DescribeInventoryDeletions.DescribeInventoryDeletions
+ Network.AWS.SSM.GetCommandInvocation: gcirsDocumentVersion :: Lens' GetCommandInvocationResponse (Maybe Text)
+ Network.AWS.SSM.GetDocument: gdDocumentFormat :: Lens' GetDocument (Maybe DocumentFormat)
+ Network.AWS.SSM.GetDocument: gdrsDocumentFormat :: Lens' GetDocumentResponse (Maybe DocumentFormat)
+ Network.AWS.SSM.GetInventory: giAggregators :: Lens' GetInventory (Maybe (NonEmpty InventoryAggregator))
+ Network.AWS.SSM.GetInventorySchema: gisAggregator :: Lens' GetInventorySchema (Maybe Bool)
+ Network.AWS.SSM.GetParameterHistory: instance Network.AWS.Pager.AWSPager Network.AWS.SSM.GetParameterHistory.GetParameterHistory
+ Network.AWS.SSM.GetParametersByPath: instance Network.AWS.Pager.AWSPager Network.AWS.SSM.GetParametersByPath.GetParametersByPath
+ Network.AWS.SSM.GetPatchBaseline: gpbrsApprovedPatchesEnableNonSecurity :: Lens' GetPatchBaselineResponse (Maybe Bool)
+ Network.AWS.SSM.GetPatchBaseline: gpbrsSources :: Lens' GetPatchBaselineResponse [PatchSource]
+ Network.AWS.SSM.PutInventory: pirsMessage :: Lens' PutInventoryResponse (Maybe Text)
+ Network.AWS.SSM.SendCommand: scDocumentVersion :: Lens' SendCommand (Maybe Text)
+ Network.AWS.SSM.StartAutomationExecution: saeMaxConcurrency :: Lens' StartAutomationExecution (Maybe Text)
+ Network.AWS.SSM.StartAutomationExecution: saeMaxErrors :: Lens' StartAutomationExecution (Maybe Text)
+ Network.AWS.SSM.StartAutomationExecution: saeMode :: Lens' StartAutomationExecution (Maybe ExecutionMode)
+ Network.AWS.SSM.StartAutomationExecution: saeTargetParameterName :: Lens' StartAutomationExecution (Maybe Text)
+ Network.AWS.SSM.StartAutomationExecution: saeTargets :: Lens' StartAutomationExecution [Target]
+ Network.AWS.SSM.StopAutomationExecution: saeType :: Lens' StopAutomationExecution (Maybe StopType)
+ Network.AWS.SSM.Types: AEFKCurrentAction :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AEFKDocumentNamePrefix :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AEFKExecutionId :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AEFKExecutionStatus :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AEFKParentExecutionId :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AEFKStartTimeAfter :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AEFKStartTimeBefore :: AutomationExecutionFilterKey
+ Network.AWS.SSM.Types: AESCancelling :: AutomationExecutionStatus
+ Network.AWS.SSM.Types: Action :: StepExecutionFilterKey
+ Network.AWS.SSM.Types: Auto :: ExecutionMode
+ Network.AWS.SSM.Types: Centos :: OperatingSystem
+ Network.AWS.SSM.Types: Complete :: InventoryDeletionStatus
+ Network.AWS.SSM.Types: DeleteSchema :: InventorySchemaDeleteOption
+ Network.AWS.SSM.Types: DisableSchema :: InventorySchemaDeleteOption
+ Network.AWS.SSM.Types: InProgress :: InventoryDeletionStatus
+ Network.AWS.SSM.Types: Interactive :: ExecutionMode
+ Network.AWS.SSM.Types: JSON :: DocumentFormat
+ Network.AWS.SSM.Types: Resume :: SignalType
+ Network.AWS.SSM.Types: STCancel :: StopType
+ Network.AWS.SSM.Types: STComplete :: StopType
+ Network.AWS.SSM.Types: StartStep :: SignalType
+ Network.AWS.SSM.Types: StartTimeAfter :: StepExecutionFilterKey
+ Network.AWS.SSM.Types: StartTimeBefore :: StepExecutionFilterKey
+ Network.AWS.SSM.Types: StepExecutionId :: StepExecutionFilterKey
+ Network.AWS.SSM.Types: StepExecutionStatus :: StepExecutionFilterKey
+ Network.AWS.SSM.Types: StepName :: StepExecutionFilterKey
+ Network.AWS.SSM.Types: StopStep :: SignalType
+ Network.AWS.SSM.Types: Suse :: OperatingSystem
+ Network.AWS.SSM.Types: Yaml :: DocumentFormat
+ Network.AWS.SSM.Types: _AutomationStepNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM.Types: _InvalidAutomationStatusUpdateException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM.Types: _InvalidDeleteInventoryParametersException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM.Types: _InvalidDeletionIdException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM.Types: _InvalidInventoryRequestException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM.Types: _InvalidOptionException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SSM.Types: aeCurrentAction :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeCurrentStepName :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeExecutedBy :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeMaxConcurrency :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeMaxErrors :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeMode :: Lens' AutomationExecution (Maybe ExecutionMode)
+ Network.AWS.SSM.Types: aeParentAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeResolvedTargets :: Lens' AutomationExecution (Maybe ResolvedTargets)
+ Network.AWS.SSM.Types: aeStepExecutionsTruncated :: Lens' AutomationExecution (Maybe Bool)
+ Network.AWS.SSM.Types: aeTarget :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeTargetParameterName :: Lens' AutomationExecution (Maybe Text)
+ Network.AWS.SSM.Types: aeTargets :: Lens' AutomationExecution [Target]
+ Network.AWS.SSM.Types: aemCurrentAction :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemCurrentStepName :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemFailureMessage :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemMaxConcurrency :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemMaxErrors :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemMode :: Lens' AutomationExecutionMetadata (Maybe ExecutionMode)
+ Network.AWS.SSM.Types: aemParentAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemResolvedTargets :: Lens' AutomationExecutionMetadata (Maybe ResolvedTargets)
+ Network.AWS.SSM.Types: aemTarget :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemTargetParameterName :: Lens' AutomationExecutionMetadata (Maybe Text)
+ Network.AWS.SSM.Types: aemTargets :: Lens' AutomationExecutionMetadata [Target]
+ Network.AWS.SSM.Types: cDocumentVersion :: Lens' Command (Maybe Text)
+ Network.AWS.SSM.Types: comDocumentVersion :: Lens' CommandInvocation (Maybe Text)
+ Network.AWS.SSM.Types: dDocumentFormat :: Lens' DocumentDescription (Maybe DocumentFormat)
+ Network.AWS.SSM.Types: dTargetType :: Lens' DocumentDescription (Maybe Text)
+ Network.AWS.SSM.Types: data DocumentFormat
+ Network.AWS.SSM.Types: data ExecutionMode
+ Network.AWS.SSM.Types: data InventoryAggregator
+ Network.AWS.SSM.Types: data InventoryDeletionStatus
+ Network.AWS.SSM.Types: data InventoryDeletionStatusItem
+ Network.AWS.SSM.Types: data InventoryDeletionSummary
+ Network.AWS.SSM.Types: data InventoryDeletionSummaryItem
+ Network.AWS.SSM.Types: data InventorySchemaDeleteOption
+ Network.AWS.SSM.Types: data PatchSource
+ Network.AWS.SSM.Types: data ResolvedTargets
+ Network.AWS.SSM.Types: data StepExecutionFilter
+ Network.AWS.SSM.Types: data StepExecutionFilterKey
+ Network.AWS.SSM.Types: data StopType
+ Network.AWS.SSM.Types: diDocumentFormat :: Lens' DocumentIdentifier (Maybe DocumentFormat)
+ Network.AWS.SSM.Types: diTargetType :: Lens' DocumentIdentifier (Maybe Text)
+ Network.AWS.SSM.Types: dviDocumentFormat :: Lens' DocumentVersionInfo (Maybe DocumentFormat)
+ Network.AWS.SSM.Types: iaAggregators :: Lens' InventoryAggregator (Maybe (NonEmpty InventoryAggregator))
+ Network.AWS.SSM.Types: iaExpression :: Lens' InventoryAggregator (Maybe Text)
+ Network.AWS.SSM.Types: idsRemainingCount :: Lens' InventoryDeletionSummary (Maybe Int)
+ Network.AWS.SSM.Types: idsSummaryItems :: Lens' InventoryDeletionSummary [InventoryDeletionSummaryItem]
+ Network.AWS.SSM.Types: idsTotalCount :: Lens' InventoryDeletionSummary (Maybe Int)
+ Network.AWS.SSM.Types: idsiCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)
+ Network.AWS.SSM.Types: idsiDeletionId :: Lens' InventoryDeletionStatusItem (Maybe Text)
+ Network.AWS.SSM.Types: idsiDeletionStartTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)
+ Network.AWS.SSM.Types: idsiDeletionSummary :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionSummary)
+ Network.AWS.SSM.Types: idsiLastStatus :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionStatus)
+ Network.AWS.SSM.Types: idsiLastStatusMessage :: Lens' InventoryDeletionStatusItem (Maybe Text)
+ Network.AWS.SSM.Types: idsiLastStatusUpdateTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)
+ Network.AWS.SSM.Types: idsiRemainingCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)
+ Network.AWS.SSM.Types: idsiTypeName :: Lens' InventoryDeletionStatusItem (Maybe Text)
+ Network.AWS.SSM.Types: idsiVersion :: Lens' InventoryDeletionSummaryItem (Maybe Text)
+ Network.AWS.SSM.Types: iisDisplayName :: Lens' InventoryItemSchema (Maybe Text)
+ Network.AWS.SSM.Types: inventoryAggregator :: InventoryAggregator
+ Network.AWS.SSM.Types: inventoryDeletionStatusItem :: InventoryDeletionStatusItem
+ Network.AWS.SSM.Types: inventoryDeletionSummary :: InventoryDeletionSummary
+ Network.AWS.SSM.Types: inventoryDeletionSummaryItem :: InventoryDeletionSummaryItem
+ Network.AWS.SSM.Types: patchSource :: Text -> NonEmpty Text -> Text -> PatchSource
+ Network.AWS.SSM.Types: prEnableNonSecurity :: Lens' PatchRule (Maybe Bool)
+ Network.AWS.SSM.Types: psConfiguration :: Lens' PatchSource Text
+ Network.AWS.SSM.Types: psName :: Lens' PatchSource Text
+ Network.AWS.SSM.Types: psProducts :: Lens' PatchSource (NonEmpty Text)
+ Network.AWS.SSM.Types: rdsiLastSyncStatusMessage :: Lens' ResourceDataSyncItem (Maybe Text)
+ Network.AWS.SSM.Types: resolvedTargets :: ResolvedTargets
+ Network.AWS.SSM.Types: rtParameterValues :: Lens' ResolvedTargets [Text]
+ Network.AWS.SSM.Types: rtTruncated :: Lens' ResolvedTargets (Maybe Bool)
+ Network.AWS.SSM.Types: seMaxAttempts :: Lens' StepExecution (Maybe Int)
+ Network.AWS.SSM.Types: seOnFailure :: Lens' StepExecution (Maybe Text)
+ Network.AWS.SSM.Types: seOverriddenParameters :: Lens' StepExecution (HashMap Text [Text])
+ Network.AWS.SSM.Types: seStepExecutionId :: Lens' StepExecution (Maybe Text)
+ Network.AWS.SSM.Types: seTimeoutSeconds :: Lens' StepExecution (Maybe Integer)
+ Network.AWS.SSM.Types: sefKey :: Lens' StepExecutionFilter StepExecutionFilterKey
+ Network.AWS.SSM.Types: sefValues :: Lens' StepExecutionFilter (NonEmpty Text)
+ Network.AWS.SSM.Types: stepExecutionFilter :: StepExecutionFilterKey -> NonEmpty Text -> StepExecutionFilter
+ Network.AWS.SSM.UpdateDocument: udDocumentFormat :: Lens' UpdateDocument (Maybe DocumentFormat)
+ Network.AWS.SSM.UpdateDocument: udTargetType :: Lens' UpdateDocument (Maybe Text)
+ Network.AWS.SSM.UpdatePatchBaseline: upbApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaseline (Maybe Bool)
+ Network.AWS.SSM.UpdatePatchBaseline: upbReplace :: Lens' UpdatePatchBaseline (Maybe Bool)
+ Network.AWS.SSM.UpdatePatchBaseline: upbSources :: Lens' UpdatePatchBaseline [PatchSource]
+ Network.AWS.SSM.UpdatePatchBaseline: upbrsApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaselineResponse (Maybe Bool)
+ Network.AWS.SSM.UpdatePatchBaseline: upbrsSources :: Lens' UpdatePatchBaselineResponse [PatchSource]

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-ssm.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-ssm-version:               1.5.0+version:               1.6.0 synopsis:              Amazon Simple Systems Manager (SSM) SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -57,6 +57,7 @@         , Network.AWS.SSM.DeleteActivation         , Network.AWS.SSM.DeleteAssociation         , Network.AWS.SSM.DeleteDocument+        , Network.AWS.SSM.DeleteInventory         , Network.AWS.SSM.DeleteMaintenanceWindow         , Network.AWS.SSM.DeleteParameter         , Network.AWS.SSM.DeleteParameters@@ -69,6 +70,7 @@         , Network.AWS.SSM.DescribeActivations         , Network.AWS.SSM.DescribeAssociation         , Network.AWS.SSM.DescribeAutomationExecutions+        , Network.AWS.SSM.DescribeAutomationStepExecutions         , Network.AWS.SSM.DescribeAvailablePatches         , Network.AWS.SSM.DescribeDocument         , Network.AWS.SSM.DescribeDocumentPermission@@ -79,6 +81,7 @@         , Network.AWS.SSM.DescribeInstancePatchStates         , Network.AWS.SSM.DescribeInstancePatchStatesForPatchGroup         , Network.AWS.SSM.DescribeInstancePatches+        , Network.AWS.SSM.DescribeInventoryDeletions         , Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations         , Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks         , Network.AWS.SSM.DescribeMaintenanceWindowExecutions@@ -149,7 +152,7 @@         , Network.AWS.SSM.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-ssm-test@@ -169,8 +172,8 @@         , Test.AWS.SSM.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-ssm         , base         , bytestring
+ fixture/DeleteInventory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteInventoryResponse.proto view
+ fixture/DescribeAutomationStepExecutions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeAutomationStepExecutionsResponse.proto view
+ fixture/DescribeInventoryDeletions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeInventoryDeletionsResponse.proto view
gen/Network/AWS/SSM.hs view
@@ -5,17 +5,17 @@  -- | -- Module      : Network.AWS.SSM--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- __Amazon EC2 Systems Manager__+-- __AWS Systems Manager__ ----- Amazon EC2 Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A /managed instance/ is any Amazon EC2 instance or on-premises machine in your hybrid environment that has been configured for Systems Manager.+-- AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A /managed instance/ is any Amazon EC2 instance or on-premises machine in your hybrid environment that has been configured for Systems Manager. ----- This reference is intended to be used with the <http://docs.aws.amazon.com/systems-manager/latest/userguide/ Amazon EC2 Systems Manager User Guide> .+-- This reference is intended to be used with the <http://docs.aws.amazon.com/systems-manager/latest/userguide/ AWS Systems Manager User Guide> . -- -- To get started, verify prerequisites and configure managed instances. For more information, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html Systems Manager Prerequisites> . --@@ -44,6 +44,9 @@     -- ** UnsupportedParameterType     , _UnsupportedParameterType +    -- ** InvalidAutomationStatusUpdateException+    , _InvalidAutomationStatusUpdateException+     -- ** InvalidPluginName     , _InvalidPluginName @@ -89,6 +92,9 @@     -- ** InvalidNextToken     , _InvalidNextToken +    -- ** InvalidInventoryRequestException+    , _InvalidInventoryRequestException+     -- ** InvalidOutputFolder     , _InvalidOutputFolder @@ -170,6 +176,12 @@     -- ** ComplianceTypeCountLimitExceededException     , _ComplianceTypeCountLimitExceededException +    -- ** InvalidDeleteInventoryParametersException+    , _InvalidDeleteInventoryParametersException++    -- ** InvalidDeletionIdException+    , _InvalidDeletionIdException+     -- ** InvalidDocumentContent     , _InvalidDocumentContent @@ -209,6 +221,9 @@     -- ** InvalidActivation     , _InvalidActivation +    -- ** InvalidOptionException+    , _InvalidOptionException+     -- ** InvalidDocumentSchemaVersion     , _InvalidDocumentSchemaVersion @@ -272,6 +287,9 @@     -- ** DocumentPermissionLimit     , _DocumentPermissionLimit +    -- ** AutomationStepNotFoundException+    , _AutomationStepNotFoundException+     -- ** DuplicateDocumentContent     , _DuplicateDocumentContent @@ -326,7 +344,7 @@     -- ** DescribeParameters (Paginated)     , module Network.AWS.SSM.DescribeParameters -    -- ** GetParametersByPath+    -- ** GetParametersByPath (Paginated)     , module Network.AWS.SSM.GetParametersByPath      -- ** PutComplianceItems@@ -431,6 +449,9 @@     -- ** CancelCommand     , module Network.AWS.SSM.CancelCommand +    -- ** DescribeAutomationStepExecutions+    , module Network.AWS.SSM.DescribeAutomationStepExecutions+     -- ** GetCommandInvocation     , module Network.AWS.SSM.GetCommandInvocation @@ -497,7 +518,7 @@     -- ** UpdateMaintenanceWindowTask     , module Network.AWS.SSM.UpdateMaintenanceWindowTask -    -- ** GetParameterHistory+    -- ** GetParameterHistory (Paginated)     , module Network.AWS.SSM.GetParameterHistory      -- ** CreateMaintenanceWindow@@ -536,6 +557,12 @@     -- ** UpdateAssociation     , module Network.AWS.SSM.UpdateAssociation +    -- ** DescribeInventoryDeletions+    , module Network.AWS.SSM.DescribeInventoryDeletions++    -- ** DeleteInventory+    , module Network.AWS.SSM.DeleteInventory+     -- ** PutInventory     , module Network.AWS.SSM.PutInventory @@ -625,6 +652,9 @@     -- ** DocumentFilterKey     , DocumentFilterKey (..) +    -- ** DocumentFormat+    , DocumentFormat (..)+     -- ** DocumentHashType     , DocumentHashType (..) @@ -640,6 +670,9 @@     -- ** DocumentType     , DocumentType (..) +    -- ** ExecutionMode+    , ExecutionMode (..)+     -- ** Fault     , Fault (..) @@ -652,9 +685,15 @@     -- ** InventoryAttributeDataType     , InventoryAttributeDataType (..) +    -- ** InventoryDeletionStatus+    , InventoryDeletionStatus (..)+     -- ** InventoryQueryOperatorType     , InventoryQueryOperatorType (..) +    -- ** InventorySchemaDeleteOption+    , InventorySchemaDeleteOption (..)+     -- ** LastResourceDataSyncStatus     , LastResourceDataSyncStatus (..) @@ -715,6 +754,12 @@     -- ** SignalType     , SignalType (..) +    -- ** StepExecutionFilterKey+    , StepExecutionFilterKey (..)++    -- ** StopType+    , StopType (..)+     -- ** Activation     , Activation     , activation@@ -800,16 +845,28 @@     -- ** AutomationExecution     , AutomationExecution     , automationExecution+    , aeCurrentStepName+    , aeTargetParameterName+    , aeExecutedBy     , aeDocumentName     , aeExecutionEndTime     , aeFailureMessage+    , aeMode+    , aeStepExecutionsTruncated     , aeAutomationExecutionStatus+    , aeParentAutomationExecutionId     , aeOutputs+    , aeMaxErrors     , aeExecutionStartTime+    , aeCurrentAction+    , aeTargets+    , aeResolvedTargets     , aeParameters     , aeDocumentVersion     , aeAutomationExecutionId     , aeStepExecutions+    , aeMaxConcurrency+    , aeTarget      -- ** AutomationExecutionFilter     , AutomationExecutionFilter@@ -820,15 +877,26 @@     -- ** AutomationExecutionMetadata     , AutomationExecutionMetadata     , automationExecutionMetadata+    , aemCurrentStepName+    , aemTargetParameterName     , aemLogFile     , aemExecutedBy     , aemDocumentName     , aemExecutionEndTime+    , aemFailureMessage+    , aemMode     , aemAutomationExecutionStatus+    , aemParentAutomationExecutionId     , aemOutputs+    , aemMaxErrors     , aemExecutionStartTime+    , aemCurrentAction+    , aemTargets+    , aemResolvedTargets     , aemDocumentVersion     , aemAutomationExecutionId+    , aemMaxConcurrency+    , aemTarget      -- ** Command     , Command@@ -847,6 +915,7 @@     , cTargets     , cCommandId     , cParameters+    , cDocumentVersion     , cComment     , cCompletedCount     , cOutputS3BucketName@@ -872,6 +941,7 @@     , comStatusDetails     , comStandardOutputURL     , comCommandId+    , comDocumentVersion     , comComment     , comTraceOutput     , comInstanceName@@ -976,9 +1046,11 @@     , dSchemaVersion     , dSha1     , dDefaultVersion+    , dTargetType     , dOwner     , dPlatformTypes     , dCreatedDate+    , dDocumentFormat     , dName     , dHashType     , dParameters@@ -998,8 +1070,10 @@     , documentIdentifier     , diDocumentType     , diSchemaVersion+    , diTargetType     , diOwner     , diPlatformTypes+    , diDocumentFormat     , diName     , diDocumentVersion     , diTags@@ -1022,6 +1096,7 @@     , DocumentVersionInfo     , documentVersionInfo     , dviCreatedDate+    , dviDocumentFormat     , dviName     , dviDocumentVersion     , dviIsDefaultVersion@@ -1145,6 +1220,37 @@     , ipsfValues     , ipsfType +    -- ** InventoryAggregator+    , InventoryAggregator+    , inventoryAggregator+    , iaAggregators+    , iaExpression++    -- ** InventoryDeletionStatusItem+    , InventoryDeletionStatusItem+    , inventoryDeletionStatusItem+    , idsiTypeName+    , idsiLastStatusUpdateTime+    , idsiLastStatusMessage+    , idsiDeletionSummary+    , idsiLastStatus+    , idsiDeletionStartTime+    , idsiDeletionId++    -- ** InventoryDeletionSummary+    , InventoryDeletionSummary+    , inventoryDeletionSummary+    , idsRemainingCount+    , idsSummaryItems+    , idsTotalCount++    -- ** InventoryDeletionSummaryItem+    , InventoryDeletionSummaryItem+    , inventoryDeletionSummaryItem+    , idsiRemainingCount+    , idsiCount+    , idsiVersion+     -- ** InventoryFilter     , InventoryFilter     , inventoryFilter@@ -1172,6 +1278,7 @@     , InventoryItemSchema     , inventoryItemSchema     , iisVersion+    , iisDisplayName     , iisTypeName     , iisAttributes @@ -1445,6 +1552,7 @@     -- ** PatchRule     , PatchRule     , patchRule+    , prEnableNonSecurity     , prComplianceLevel     , prPatchFilterGroup     , prApproveAfterDays@@ -1454,6 +1562,13 @@     , patchRuleGroup     , prgPatchRules +    -- ** PatchSource+    , PatchSource+    , patchSource+    , psName+    , psProducts+    , psConfiguration+     -- ** PatchStatus     , PatchStatus     , patchStatus@@ -1461,6 +1576,12 @@     , psDeploymentStatus     , psComplianceLevel +    -- ** ResolvedTargets+    , ResolvedTargets+    , resolvedTargets+    , rtTruncated+    , rtParameterValues+     -- ** ResourceComplianceSummaryItem     , ResourceComplianceSummaryItem     , resourceComplianceSummaryItem@@ -1476,6 +1597,7 @@     -- ** ResourceDataSyncItem     , ResourceDataSyncItem     , resourceDataSyncItem+    , rdsiLastSyncStatusMessage     , rdsiSyncCreatedTime     , rdsiLastSyncTime     , rdsiSyncName@@ -1531,9 +1653,20 @@     , seAction     , seResponseCode     , seStepStatus+    , seOverriddenParameters     , seOutputs     , seExecutionStartTime+    , seMaxAttempts+    , seStepExecutionId+    , seTimeoutSeconds+    , seOnFailure +    -- ** StepExecutionFilter+    , StepExecutionFilter+    , stepExecutionFilter+    , sefKey+    , sefValues+     -- ** Tag     , Tag     , tag@@ -1559,6 +1692,7 @@ import Network.AWS.SSM.DeleteActivation import Network.AWS.SSM.DeleteAssociation import Network.AWS.SSM.DeleteDocument+import Network.AWS.SSM.DeleteInventory import Network.AWS.SSM.DeleteMaintenanceWindow import Network.AWS.SSM.DeleteParameter import Network.AWS.SSM.DeleteParameters@@ -1571,6 +1705,7 @@ import Network.AWS.SSM.DescribeActivations import Network.AWS.SSM.DescribeAssociation import Network.AWS.SSM.DescribeAutomationExecutions+import Network.AWS.SSM.DescribeAutomationStepExecutions import Network.AWS.SSM.DescribeAvailablePatches import Network.AWS.SSM.DescribeDocument import Network.AWS.SSM.DescribeDocumentPermission@@ -1581,6 +1716,7 @@ import Network.AWS.SSM.DescribeInstancePatches import Network.AWS.SSM.DescribeInstancePatchStates import Network.AWS.SSM.DescribeInstancePatchStatesForPatchGroup+import Network.AWS.SSM.DescribeInventoryDeletions import Network.AWS.SSM.DescribeMaintenanceWindowExecutions import Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations import Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks
gen/Network/AWS/SSM/AddTagsToResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.AddTagsToResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,7 +21,7 @@ -- 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 10 tags.+-- 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. --@@ -65,32 +65,32 @@ -- -- * 'attrResourceType' - Specifies the type of resource you are tagging. ----- * 'attrResourceId' - The resource ID you want to tag. For the ManagedInstance, MaintenanceWindow, and PatchBaseline values, use the ID of the resource, such as mw-01234361858c9b57b for a Maintenance Window. For the Document and Parameter values, use the name of the resource.+-- * 'attrResourceId' - 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. ----- * 'attrTags' - One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.+-- * 'attrTags' - 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.  /Important:/ Do not enter personally identifiable information in this field. addTagsToResource     :: ResourceTypeForTagging -- ^ 'attrResourceType'     -> Text -- ^ 'attrResourceId'     -> AddTagsToResource addTagsToResource pResourceType_ pResourceId_ =   AddTagsToResource'-  { _attrResourceType = pResourceType_-  , _attrResourceId = pResourceId_-  , _attrTags = mempty-  }+    { _attrResourceType = pResourceType_+    , _attrResourceId = pResourceId_+    , _attrTags = mempty+    }   -- | Specifies the type of resource you are tagging. attrResourceType :: Lens' AddTagsToResource ResourceTypeForTagging-attrResourceType = lens _attrResourceType (\ s a -> s{_attrResourceType = a});+attrResourceType = lens _attrResourceType (\ s a -> s{_attrResourceType = a}) --- | The resource ID you want to tag. For the ManagedInstance, MaintenanceWindow, and PatchBaseline values, use the ID of the resource, such as mw-01234361858c9b57b for a Maintenance Window. For the Document and Parameter values, use the name of the resource.+-- | 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-attrResourceId = lens _attrResourceId (\ s a -> s{_attrResourceId = a});+attrResourceId = lens _attrResourceId (\ s a -> s{_attrResourceId = 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.+-- | 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.  /Important:/ Do not enter personally identifiable information in this field. attrTags :: Lens' AddTagsToResource [Tag]-attrTags = lens _attrTags (\ s a -> s{_attrTags = a}) . _Coerce;+attrTags = lens _attrTags (\ s a -> s{_attrTags = a}) . _Coerce  instance AWSRequest AddTagsToResource where         type Rs AddTagsToResource = AddTagsToResourceResponse@@ -147,6 +147,6 @@  -- | -- | The response status code. attrrsResponseStatus :: Lens' AddTagsToResourceResponse Int-attrrsResponseStatus = lens _attrrsResponseStatus (\ s a -> s{_attrrsResponseStatus = a});+attrrsResponseStatus = lens _attrrsResponseStatus (\ s a -> s{_attrrsResponseStatus = a})  instance NFData AddTagsToResourceResponse where
gen/Network/AWS/SSM/CancelCommand.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CancelCommand--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,11 +71,11 @@  -- | (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]-ccInstanceIds = lens _ccInstanceIds (\ s a -> s{_ccInstanceIds = a}) . _Default . _Coerce;+ccInstanceIds = lens _ccInstanceIds (\ s a -> s{_ccInstanceIds = a}) . _Default . _Coerce  -- | The ID of the command you want to cancel. ccCommandId :: Lens' CancelCommand Text-ccCommandId = lens _ccCommandId (\ s a -> s{_ccCommandId = a});+ccCommandId = lens _ccCommandId (\ s a -> s{_ccCommandId = a})  instance AWSRequest CancelCommand where         type Rs CancelCommand = CancelCommandResponse@@ -135,6 +135,6 @@  -- | -- | The response status code. ccrsResponseStatus :: Lens' CancelCommandResponse Int-ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a});+ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a})  instance NFData CancelCommandResponse where
gen/Network/AWS/SSM/CreateActivation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CreateActivation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,13 +63,13 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'caDefaultInstanceName' - The name of the registered, managed instance as it will appear in the Amazon EC2 console or when you use the AWS command line tools to list EC2 resources.+-- * 'caDefaultInstanceName' - 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. /Important:/ Do not enter personally identifiable information in this field. -- -- * 'caRegistrationLimit' - Specify the maximum number of managed instances you want to register. The default value is 1 instance. -- -- * 'caExpirationDate' - The date by which this activation request should expire. The default value is 24 hours. ----- * 'caDescription' - A userdefined description of the resource that you want to register with Amazon EC2.+-- * 'caDescription' - A user-defined description of the resource that you want to register with Amazon EC2.  /Important:/ Do not enter personally identifiable information in this field. -- -- * 'caIAMRole' - The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. createActivation@@ -77,33 +77,33 @@     -> CreateActivation createActivation pIAMRole_ =   CreateActivation'-  { _caDefaultInstanceName = Nothing-  , _caRegistrationLimit = Nothing-  , _caExpirationDate = Nothing-  , _caDescription = Nothing-  , _caIAMRole = pIAMRole_-  }+    { _caDefaultInstanceName = Nothing+    , _caRegistrationLimit = Nothing+    , _caExpirationDate = Nothing+    , _caDescription = Nothing+    , _caIAMRole = pIAMRole_+    }  --- | 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.+-- | 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. /Important:/ Do not enter personally identifiable information in this field. caDefaultInstanceName :: Lens' CreateActivation (Maybe Text)-caDefaultInstanceName = lens _caDefaultInstanceName (\ s a -> s{_caDefaultInstanceName = a});+caDefaultInstanceName = lens _caDefaultInstanceName (\ s a -> s{_caDefaultInstanceName = a})  -- | Specify the maximum number of managed instances you want to register. The default value is 1 instance. caRegistrationLimit :: Lens' CreateActivation (Maybe Natural)-caRegistrationLimit = lens _caRegistrationLimit (\ s a -> s{_caRegistrationLimit = a}) . mapping _Nat;+caRegistrationLimit = lens _caRegistrationLimit (\ s a -> s{_caRegistrationLimit = a}) . mapping _Nat  -- | The date by which this activation request should expire. The default value is 24 hours. caExpirationDate :: Lens' CreateActivation (Maybe UTCTime)-caExpirationDate = lens _caExpirationDate (\ s a -> s{_caExpirationDate = a}) . mapping _Time;+caExpirationDate = lens _caExpirationDate (\ s a -> s{_caExpirationDate = a}) . mapping _Time --- | A userdefined description of the resource that you want to register with Amazon EC2.+-- | A user-defined description of the resource that you want to register with Amazon EC2.  /Important:/ Do not enter personally identifiable information in this field. caDescription :: Lens' CreateActivation (Maybe Text)-caDescription = lens _caDescription (\ s a -> s{_caDescription = a});+caDescription = lens _caDescription (\ s a -> s{_caDescription = a})  -- | The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. caIAMRole :: Lens' CreateActivation Text-caIAMRole = lens _caIAMRole (\ s a -> s{_caIAMRole = a});+caIAMRole = lens _caIAMRole (\ s a -> s{_caIAMRole = a})  instance AWSRequest CreateActivation where         type Rs CreateActivation = CreateActivationResponse@@ -167,22 +167,22 @@     -> CreateActivationResponse createActivationResponse pResponseStatus_ =   CreateActivationResponse'-  { _carsActivationId = Nothing-  , _carsActivationCode = Nothing-  , _carsResponseStatus = pResponseStatus_-  }+    { _carsActivationId = Nothing+    , _carsActivationCode = Nothing+    , _carsResponseStatus = pResponseStatus_+    }   -- | 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)-carsActivationId = lens _carsActivationId (\ s a -> s{_carsActivationId = a});+carsActivationId = lens _carsActivationId (\ s a -> s{_carsActivationId = a})  -- | 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)-carsActivationCode = lens _carsActivationCode (\ s a -> s{_carsActivationCode = a});+carsActivationCode = lens _carsActivationCode (\ s a -> s{_carsActivationCode = a})  -- | -- | The response status code. carsResponseStatus :: Lens' CreateActivationResponse Int-carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});+carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a})  instance NFData CreateActivationResponse where
gen/Network/AWS/SSM/CreateAssociation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CreateAssociation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -92,48 +92,48 @@     -> CreateAssociation createAssociation pName_ =   CreateAssociation'-  { _caInstanceId = Nothing-  , _caScheduleExpression = Nothing-  , _caOutputLocation = Nothing-  , _caTargets = Nothing-  , _caParameters = Nothing-  , _caDocumentVersion = Nothing-  , _caAssociationName = Nothing-  , _caName = pName_-  }+    { _caInstanceId = Nothing+    , _caScheduleExpression = Nothing+    , _caOutputLocation = Nothing+    , _caTargets = Nothing+    , _caParameters = Nothing+    , _caDocumentVersion = Nothing+    , _caAssociationName = Nothing+    , _caName = pName_+    }   -- | The instance ID. caInstanceId :: Lens' CreateAssociation (Maybe Text)-caInstanceId = lens _caInstanceId (\ s a -> s{_caInstanceId = a});+caInstanceId = lens _caInstanceId (\ s a -> s{_caInstanceId = a})  -- | A cron expression when the association will be applied to the target(s). caScheduleExpression :: Lens' CreateAssociation (Maybe Text)-caScheduleExpression = lens _caScheduleExpression (\ s a -> s{_caScheduleExpression = a});+caScheduleExpression = lens _caScheduleExpression (\ s a -> s{_caScheduleExpression = a})  -- | An Amazon S3 bucket where you want to store the output details of the request. caOutputLocation :: Lens' CreateAssociation (Maybe InstanceAssociationOutputLocation)-caOutputLocation = lens _caOutputLocation (\ s a -> s{_caOutputLocation = a});+caOutputLocation = lens _caOutputLocation (\ s a -> s{_caOutputLocation = a})  -- | The targets (either instances or tags) for the association. caTargets :: Lens' CreateAssociation [Target]-caTargets = lens _caTargets (\ s a -> s{_caTargets = a}) . _Default . _Coerce;+caTargets = lens _caTargets (\ s a -> s{_caTargets = a}) . _Default . _Coerce  -- | The parameters for the documents runtime configuration. caParameters :: Lens' CreateAssociation (HashMap Text [Text])-caParameters = lens _caParameters (\ s a -> s{_caParameters = a}) . _Default . _Map;+caParameters = lens _caParameters (\ s a -> s{_caParameters = a}) . _Default . _Map  -- | 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)-caDocumentVersion = lens _caDocumentVersion (\ s a -> s{_caDocumentVersion = a});+caDocumentVersion = lens _caDocumentVersion (\ s a -> s{_caDocumentVersion = a})  -- | Specify a descriptive name for the association. caAssociationName :: Lens' CreateAssociation (Maybe Text)-caAssociationName = lens _caAssociationName (\ s a -> s{_caAssociationName = a});+caAssociationName = lens _caAssociationName (\ s a -> s{_caAssociationName = a})  -- | The name of the Systems Manager document. caName :: Lens' CreateAssociation Text-caName = lens _caName (\ s a -> s{_caName = a});+caName = lens _caName (\ s a -> s{_caName = a})  instance AWSRequest CreateAssociation where         type Rs CreateAssociation = CreateAssociationResponse@@ -196,15 +196,17 @@     -> CreateAssociationResponse createAssociationResponse pResponseStatus_ =   CreateAssociationResponse'-  {_crsAssociationDescription = Nothing, _crsResponseStatus = pResponseStatus_}+    { _crsAssociationDescription = Nothing+    , _crsResponseStatus = pResponseStatus_+    }   -- | Information about the association. crsAssociationDescription :: Lens' CreateAssociationResponse (Maybe AssociationDescription)-crsAssociationDescription = lens _crsAssociationDescription (\ s a -> s{_crsAssociationDescription = a});+crsAssociationDescription = lens _crsAssociationDescription (\ s a -> s{_crsAssociationDescription = a})  -- | -- | The response status code. crsResponseStatus :: Lens' CreateAssociationResponse Int-crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})  instance NFData CreateAssociationResponse where
gen/Network/AWS/SSM/CreateAssociationBatch.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CreateAssociationBatch--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,7 +69,7 @@  -- | One or more associations. cabEntries :: Lens' CreateAssociationBatch (NonEmpty CreateAssociationBatchRequestEntry)-cabEntries = lens _cabEntries (\ s a -> s{_cabEntries = a}) . _List1;+cabEntries = lens _cabEntries (\ s a -> s{_cabEntries = a}) . _List1  instance AWSRequest CreateAssociationBatch where         type Rs CreateAssociationBatch =@@ -129,22 +129,22 @@     -> CreateAssociationBatchResponse createAssociationBatchResponse pResponseStatus_ =   CreateAssociationBatchResponse'-  { _cabrsSuccessful = Nothing-  , _cabrsFailed = Nothing-  , _cabrsResponseStatus = pResponseStatus_-  }+    { _cabrsSuccessful = Nothing+    , _cabrsFailed = Nothing+    , _cabrsResponseStatus = pResponseStatus_+    }   -- | Information about the associations that succeeded. cabrsSuccessful :: Lens' CreateAssociationBatchResponse [AssociationDescription]-cabrsSuccessful = lens _cabrsSuccessful (\ s a -> s{_cabrsSuccessful = a}) . _Default . _Coerce;+cabrsSuccessful = lens _cabrsSuccessful (\ s a -> s{_cabrsSuccessful = a}) . _Default . _Coerce  -- | Information about the associations that failed. cabrsFailed :: Lens' CreateAssociationBatchResponse [FailedCreateAssociation]-cabrsFailed = lens _cabrsFailed (\ s a -> s{_cabrsFailed = a}) . _Default . _Coerce;+cabrsFailed = lens _cabrsFailed (\ s a -> s{_cabrsFailed = a}) . _Default . _Coerce  -- | -- | The response status code. cabrsResponseStatus :: Lens' CreateAssociationBatchResponse Int-cabrsResponseStatus = lens _cabrsResponseStatus (\ s a -> s{_cabrsResponseStatus = a});+cabrsResponseStatus = lens _cabrsResponseStatus (\ s a -> s{_cabrsResponseStatus = a})  instance NFData CreateAssociationBatchResponse where
gen/Network/AWS/SSM/CreateDocument.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CreateDocument--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -30,6 +30,8 @@     , CreateDocument     -- * Request Lenses     , cdDocumentType+    , cdTargetType+    , cdDocumentFormat     , cdContent     , cdName @@ -50,9 +52,11 @@  -- | /See:/ 'createDocument' smart constructor. data CreateDocument = CreateDocument'-  { _cdDocumentType :: !(Maybe DocumentType)-  , _cdContent      :: !Text-  , _cdName         :: !Text+  { _cdDocumentType   :: !(Maybe DocumentType)+  , _cdTargetType     :: !(Maybe Text)+  , _cdDocumentFormat :: !(Maybe DocumentFormat)+  , _cdContent        :: !Text+  , _cdName           :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -62,29 +66,46 @@ -- -- * 'cdDocumentType' - The type of document to create. Valid document types include: Policy, Automation, and Command. ----- * 'cdContent' - A valid JSON string.+-- * 'cdTargetType' - 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: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the /AWS CloudFormation User Guide/ . ----- * 'cdName' - A name for the Systems Manager document.+-- * 'cdDocumentFormat' - Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format.+--+-- * 'cdContent' - A valid JSON or YAML string.+--+-- * 'cdName' - A name for the Systems Manager document. /Important:/ Do not use the following to begin the names of documents you create. They are reserved by AWS for use as document prefixes:     * @aws@      * @amazon@      * @amzn@ createDocument     :: Text -- ^ 'cdContent'     -> Text -- ^ 'cdName'     -> CreateDocument createDocument pContent_ pName_ =   CreateDocument'-  {_cdDocumentType = Nothing, _cdContent = pContent_, _cdName = pName_}+    { _cdDocumentType = Nothing+    , _cdTargetType = Nothing+    , _cdDocumentFormat = Nothing+    , _cdContent = pContent_+    , _cdName = pName_+    }   -- | The type of document to create. Valid document types include: Policy, Automation, and Command. cdDocumentType :: Lens' CreateDocument (Maybe DocumentType)-cdDocumentType = lens _cdDocumentType (\ s a -> s{_cdDocumentType = a});+cdDocumentType = lens _cdDocumentType (\ s a -> s{_cdDocumentType = a}) --- | A valid JSON string.+-- | 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: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the /AWS CloudFormation User Guide/ .+cdTargetType :: Lens' CreateDocument (Maybe Text)+cdTargetType = lens _cdTargetType (\ s a -> s{_cdTargetType = a})++-- | 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)+cdDocumentFormat = lens _cdDocumentFormat (\ s a -> s{_cdDocumentFormat = a})++-- | A valid JSON or YAML string. cdContent :: Lens' CreateDocument Text-cdContent = lens _cdContent (\ s a -> s{_cdContent = a});+cdContent = lens _cdContent (\ s a -> s{_cdContent = a}) --- | A name for the Systems Manager document.+-- | A name for the Systems Manager document. /Important:/ Do not use the following to begin the names of documents you create. They are reserved by AWS for use as document prefixes:     * @aws@      * @amazon@      * @amzn@ cdName :: Lens' CreateDocument Text-cdName = lens _cdName (\ s a -> s{_cdName = a});+cdName = lens _cdName (\ s a -> s{_cdName = a})  instance AWSRequest CreateDocument where         type Rs CreateDocument = CreateDocumentResponse@@ -114,6 +135,8 @@           = object               (catMaybes                  [("DocumentType" .=) <$> _cdDocumentType,+                  ("TargetType" .=) <$> _cdTargetType,+                  ("DocumentFormat" .=) <$> _cdDocumentFormat,                   Just ("Content" .= _cdContent),                   Just ("Name" .= _cdName)]) @@ -142,15 +165,15 @@     -> CreateDocumentResponse createDocumentResponse pResponseStatus_ =   CreateDocumentResponse'-  {_cdrsDocumentDescription = Nothing, _cdrsResponseStatus = pResponseStatus_}+    {_cdrsDocumentDescription = Nothing, _cdrsResponseStatus = pResponseStatus_}   -- | Information about the Systems Manager document. cdrsDocumentDescription :: Lens' CreateDocumentResponse (Maybe DocumentDescription)-cdrsDocumentDescription = lens _cdrsDocumentDescription (\ s a -> s{_cdrsDocumentDescription = a});+cdrsDocumentDescription = lens _cdrsDocumentDescription (\ s a -> s{_cdrsDocumentDescription = a})  -- | -- | The response status code. cdrsResponseStatus :: Lens' CreateDocumentResponse Int-cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a})  instance NFData CreateDocumentResponse where
gen/Network/AWS/SSM/CreateMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CreateMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -88,43 +88,43 @@     -> CreateMaintenanceWindow createMaintenanceWindow pName_ pSchedule_ pDuration_ pCutoff_ pAllowUnassociatedTargets_ =   CreateMaintenanceWindow'-  { _cmwClientToken = Nothing-  , _cmwDescription = Nothing-  , _cmwName = pName_-  , _cmwSchedule = pSchedule_-  , _cmwDuration = _Nat # pDuration_-  , _cmwCutoff = _Nat # pCutoff_-  , _cmwAllowUnassociatedTargets = pAllowUnassociatedTargets_-  }+    { _cmwClientToken = Nothing+    , _cmwDescription = Nothing+    , _cmwName = pName_+    , _cmwSchedule = pSchedule_+    , _cmwDuration = _Nat # pDuration_+    , _cmwCutoff = _Nat # pCutoff_+    , _cmwAllowUnassociatedTargets = pAllowUnassociatedTargets_+    }   -- | User-provided idempotency token. cmwClientToken :: Lens' CreateMaintenanceWindow (Maybe Text)-cmwClientToken = lens _cmwClientToken (\ s a -> s{_cmwClientToken = a});+cmwClientToken = lens _cmwClientToken (\ s a -> s{_cmwClientToken = a})  -- | An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows. cmwDescription :: Lens' CreateMaintenanceWindow (Maybe Text)-cmwDescription = lens _cmwDescription (\ s a -> s{_cmwDescription = a}) . mapping _Sensitive;+cmwDescription = lens _cmwDescription (\ s a -> s{_cmwDescription = a}) . mapping _Sensitive  -- | The name of the Maintenance Window. cmwName :: Lens' CreateMaintenanceWindow Text-cmwName = lens _cmwName (\ s a -> s{_cmwName = a});+cmwName = lens _cmwName (\ s a -> s{_cmwName = a})  -- | The schedule of the Maintenance Window in the form of a cron or rate expression. cmwSchedule :: Lens' CreateMaintenanceWindow Text-cmwSchedule = lens _cmwSchedule (\ s a -> s{_cmwSchedule = a});+cmwSchedule = lens _cmwSchedule (\ s a -> s{_cmwSchedule = a})  -- | The duration of the Maintenance Window in hours. cmwDuration :: Lens' CreateMaintenanceWindow Natural-cmwDuration = lens _cmwDuration (\ s a -> s{_cmwDuration = a}) . _Nat;+cmwDuration = lens _cmwDuration (\ s a -> s{_cmwDuration = a}) . _Nat  -- | The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. cmwCutoff :: Lens' CreateMaintenanceWindow Natural-cmwCutoff = lens _cmwCutoff (\ s a -> s{_cmwCutoff = a}) . _Nat;+cmwCutoff = lens _cmwCutoff (\ s a -> s{_cmwCutoff = a}) . _Nat  -- | 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-cmwAllowUnassociatedTargets = lens _cmwAllowUnassociatedTargets (\ s a -> s{_cmwAllowUnassociatedTargets = a});+cmwAllowUnassociatedTargets = lens _cmwAllowUnassociatedTargets (\ s a -> s{_cmwAllowUnassociatedTargets = a})  instance AWSRequest CreateMaintenanceWindow where         type Rs CreateMaintenanceWindow =@@ -188,15 +188,15 @@     -> CreateMaintenanceWindowResponse createMaintenanceWindowResponse pResponseStatus_ =   CreateMaintenanceWindowResponse'-  {_cmwrsWindowId = Nothing, _cmwrsResponseStatus = pResponseStatus_}+    {_cmwrsWindowId = Nothing, _cmwrsResponseStatus = pResponseStatus_}   -- | The ID of the created Maintenance Window. cmwrsWindowId :: Lens' CreateMaintenanceWindowResponse (Maybe Text)-cmwrsWindowId = lens _cmwrsWindowId (\ s a -> s{_cmwrsWindowId = a});+cmwrsWindowId = lens _cmwrsWindowId (\ s a -> s{_cmwrsWindowId = a})  -- | -- | The response status code. cmwrsResponseStatus :: Lens' CreateMaintenanceWindowResponse Int-cmwrsResponseStatus = lens _cmwrsResponseStatus (\ s a -> s{_cmwrsResponseStatus = a});+cmwrsResponseStatus = lens _cmwrsResponseStatus (\ s a -> s{_cmwrsResponseStatus = a})  instance NFData CreateMaintenanceWindowResponse where
gen/Network/AWS/SSM/CreatePatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.CreatePatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -33,7 +33,9 @@     , cpbGlobalFilters     , cpbApprovedPatchesComplianceLevel     , cpbApprovedPatches+    , cpbApprovedPatchesEnableNonSecurity     , cpbRejectedPatches+    , cpbSources     , cpbDescription     , cpbName @@ -54,16 +56,18 @@  -- | /See:/ 'createPatchBaseline' smart constructor. data CreatePatchBaseline = CreatePatchBaseline'-  { _cpbApprovalRules                  :: !(Maybe PatchRuleGroup)-  , _cpbClientToken                    :: !(Maybe Text)-  , _cpbOperatingSystem                :: !(Maybe OperatingSystem)-  , _cpbGlobalFilters                  :: !(Maybe PatchFilterGroup)-  , _cpbApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)-  , _cpbApprovedPatches                :: !(Maybe [Text])-  , _cpbRejectedPatches                :: !(Maybe [Text])-  , _cpbDescription                    :: !(Maybe Text)-  , _cpbName                           :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)+  { _cpbApprovalRules                    :: !(Maybe PatchRuleGroup)+  , _cpbClientToken                      :: !(Maybe Text)+  , _cpbOperatingSystem                  :: !(Maybe OperatingSystem)+  , _cpbGlobalFilters                    :: !(Maybe PatchFilterGroup)+  , _cpbApprovedPatchesComplianceLevel   :: !(Maybe PatchComplianceLevel)+  , _cpbApprovedPatches                  :: !(Maybe [Text])+  , _cpbApprovedPatchesEnableNonSecurity :: !(Maybe Bool)+  , _cpbRejectedPatches                  :: !(Maybe [Text])+  , _cpbSources                          :: !(Maybe [PatchSource])+  , _cpbDescription                      :: !(Maybe Text)+  , _cpbName                             :: !Text+  } deriving (Eq, Show, Data, Typeable, Generic)   -- | Creates a value of 'CreatePatchBaseline' with the minimum fields required to make a request.@@ -74,16 +78,20 @@ -- -- * 'cpbClientToken' - User-provided idempotency token. ----- * 'cpbOperatingSystem' - Defines the operating system the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX. The Default value is WINDOWS.+-- * 'cpbOperatingSystem' - Defines the operating system the patch baseline applies to. The Default value is WINDOWS. -- -- * 'cpbGlobalFilters' - A set of global filters used to exclude patches from the baseline. ----- * 'cpbApprovedPatchesComplianceLevel' - 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. Valid compliance severity levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED.+-- * 'cpbApprovedPatchesComplianceLevel' - 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. ----- * 'cpbApprovedPatches' - A list of explicitly approved patches for the baseline.+-- * 'cpbApprovedPatches' - A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ . ----- * 'cpbRejectedPatches' - A list of explicitly rejected patches for the baseline.+-- * 'cpbApprovedPatchesEnableNonSecurity' - Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only. --+-- * 'cpbRejectedPatches' - A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ .+--+-- * 'cpbSources' - Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.+-- -- * 'cpbDescription' - A description of the patch baseline. -- -- * 'cpbName' - The name of the patch baseline.@@ -92,53 +100,63 @@     -> CreatePatchBaseline createPatchBaseline pName_ =   CreatePatchBaseline'-  { _cpbApprovalRules = Nothing-  , _cpbClientToken = Nothing-  , _cpbOperatingSystem = Nothing-  , _cpbGlobalFilters = Nothing-  , _cpbApprovedPatchesComplianceLevel = Nothing-  , _cpbApprovedPatches = Nothing-  , _cpbRejectedPatches = Nothing-  , _cpbDescription = Nothing-  , _cpbName = pName_-  }+    { _cpbApprovalRules = Nothing+    , _cpbClientToken = Nothing+    , _cpbOperatingSystem = Nothing+    , _cpbGlobalFilters = Nothing+    , _cpbApprovedPatchesComplianceLevel = Nothing+    , _cpbApprovedPatches = Nothing+    , _cpbApprovedPatchesEnableNonSecurity = Nothing+    , _cpbRejectedPatches = Nothing+    , _cpbSources = Nothing+    , _cpbDescription = Nothing+    , _cpbName = pName_+    }   -- | A set of rules used to include patches in the baseline. cpbApprovalRules :: Lens' CreatePatchBaseline (Maybe PatchRuleGroup)-cpbApprovalRules = lens _cpbApprovalRules (\ s a -> s{_cpbApprovalRules = a});+cpbApprovalRules = lens _cpbApprovalRules (\ s a -> s{_cpbApprovalRules = a})  -- | User-provided idempotency token. cpbClientToken :: Lens' CreatePatchBaseline (Maybe Text)-cpbClientToken = lens _cpbClientToken (\ s a -> s{_cpbClientToken = a});+cpbClientToken = lens _cpbClientToken (\ s a -> s{_cpbClientToken = a}) --- | Defines the operating system the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX. The Default value is WINDOWS.+-- | Defines the operating system the patch baseline applies to. The Default value is WINDOWS. cpbOperatingSystem :: Lens' CreatePatchBaseline (Maybe OperatingSystem)-cpbOperatingSystem = lens _cpbOperatingSystem (\ s a -> s{_cpbOperatingSystem = a});+cpbOperatingSystem = lens _cpbOperatingSystem (\ s a -> s{_cpbOperatingSystem = a})  -- | A set of global filters used to exclude patches from the baseline. cpbGlobalFilters :: Lens' CreatePatchBaseline (Maybe PatchFilterGroup)-cpbGlobalFilters = lens _cpbGlobalFilters (\ s a -> s{_cpbGlobalFilters = a});+cpbGlobalFilters = lens _cpbGlobalFilters (\ s a -> s{_cpbGlobalFilters = 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. Valid compliance severity levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED.+-- | 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)-cpbApprovedPatchesComplianceLevel = lens _cpbApprovedPatchesComplianceLevel (\ s a -> s{_cpbApprovedPatchesComplianceLevel = a});+cpbApprovedPatchesComplianceLevel = lens _cpbApprovedPatchesComplianceLevel (\ s a -> s{_cpbApprovedPatchesComplianceLevel = a}) --- | A list of explicitly approved patches for the baseline.+-- | A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ . cpbApprovedPatches :: Lens' CreatePatchBaseline [Text]-cpbApprovedPatches = lens _cpbApprovedPatches (\ s a -> s{_cpbApprovedPatches = a}) . _Default . _Coerce;+cpbApprovedPatches = lens _cpbApprovedPatches (\ s a -> s{_cpbApprovedPatches = a}) . _Default . _Coerce --- | A list of explicitly rejected patches for the baseline.+-- | Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.+cpbApprovedPatchesEnableNonSecurity :: Lens' CreatePatchBaseline (Maybe Bool)+cpbApprovedPatchesEnableNonSecurity = lens _cpbApprovedPatchesEnableNonSecurity (\ s a -> s{_cpbApprovedPatchesEnableNonSecurity = a})++-- | A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ . cpbRejectedPatches :: Lens' CreatePatchBaseline [Text]-cpbRejectedPatches = lens _cpbRejectedPatches (\ s a -> s{_cpbRejectedPatches = a}) . _Default . _Coerce;+cpbRejectedPatches = lens _cpbRejectedPatches (\ s a -> s{_cpbRejectedPatches = a}) . _Default . _Coerce +-- | 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]+cpbSources = lens _cpbSources (\ s a -> s{_cpbSources = a}) . _Default . _Coerce+ -- | A description of the patch baseline. cpbDescription :: Lens' CreatePatchBaseline (Maybe Text)-cpbDescription = lens _cpbDescription (\ s a -> s{_cpbDescription = a});+cpbDescription = lens _cpbDescription (\ s a -> s{_cpbDescription = a})  -- | The name of the patch baseline. cpbName :: Lens' CreatePatchBaseline Text-cpbName = lens _cpbName (\ s a -> s{_cpbName = a});+cpbName = lens _cpbName (\ s a -> s{_cpbName = a})  instance AWSRequest CreatePatchBaseline where         type Rs CreatePatchBaseline =@@ -174,7 +192,10 @@                   ("ApprovedPatchesComplianceLevel" .=) <$>                     _cpbApprovedPatchesComplianceLevel,                   ("ApprovedPatches" .=) <$> _cpbApprovedPatches,+                  ("ApprovedPatchesEnableNonSecurity" .=) <$>+                    _cpbApprovedPatchesEnableNonSecurity,                   ("RejectedPatches" .=) <$> _cpbRejectedPatches,+                  ("Sources" .=) <$> _cpbSources,                   ("Description" .=) <$> _cpbDescription,                   Just ("Name" .= _cpbName)]) @@ -203,15 +224,15 @@     -> CreatePatchBaselineResponse createPatchBaselineResponse pResponseStatus_ =   CreatePatchBaselineResponse'-  {_cpbrsBaselineId = Nothing, _cpbrsResponseStatus = pResponseStatus_}+    {_cpbrsBaselineId = Nothing, _cpbrsResponseStatus = pResponseStatus_}   -- | The ID of the created patch baseline. cpbrsBaselineId :: Lens' CreatePatchBaselineResponse (Maybe Text)-cpbrsBaselineId = lens _cpbrsBaselineId (\ s a -> s{_cpbrsBaselineId = a});+cpbrsBaselineId = lens _cpbrsBaselineId (\ s a -> s{_cpbrsBaselineId = a})  -- | -- | The response status code. cpbrsResponseStatus :: Lens' CreatePatchBaselineResponse Int-cpbrsResponseStatus = lens _cpbrsResponseStatus (\ s a -> s{_cpbrsResponseStatus = a});+cpbrsResponseStatus = lens _cpbrsResponseStatus (\ s a -> s{_cpbrsResponseStatus = a})  instance NFData CreatePatchBaselineResponse where
gen/Network/AWS/SSM/CreateResourceDataSync.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.SSM.CreateResourceDataSync--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- 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 <API_ListResourceDataSync.html ListResourceDataSync> operation.+-- Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the Amazon S3 bucket. To check the status of the sync, use the 'ListResourceDataSync' . -- -- -- By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy. To view an example of a restrictive Amazon S3 bucket policy for Resource Data Sync, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-configuring.html#sysman-inventory-datasync Configuring Resource Data Sync for Inventory> .@@ -66,16 +66,16 @@     -> CreateResourceDataSync createResourceDataSync pSyncName_ pS3Destination_ =   CreateResourceDataSync'-  {_crdsSyncName = pSyncName_, _crdsS3Destination = pS3Destination_}+    {_crdsSyncName = pSyncName_, _crdsS3Destination = pS3Destination_}   -- | A name for the configuration. crdsSyncName :: Lens' CreateResourceDataSync Text-crdsSyncName = lens _crdsSyncName (\ s a -> s{_crdsSyncName = a});+crdsSyncName = lens _crdsSyncName (\ s a -> s{_crdsSyncName = a})  -- | Amazon S3 configuration details for the sync. crdsS3Destination :: Lens' CreateResourceDataSync ResourceDataSyncS3Destination-crdsS3Destination = lens _crdsS3Destination (\ s a -> s{_crdsS3Destination = a});+crdsS3Destination = lens _crdsS3Destination (\ s a -> s{_crdsS3Destination = a})  instance AWSRequest CreateResourceDataSync where         type Rs CreateResourceDataSync =@@ -133,6 +133,6 @@  -- | -- | The response status code. crdsrsResponseStatus :: Lens' CreateResourceDataSyncResponse Int-crdsrsResponseStatus = lens _crdsrsResponseStatus (\ s a -> s{_crdsrsResponseStatus = a});+crdsrsResponseStatus = lens _crdsrsResponseStatus (\ s a -> s{_crdsrsResponseStatus = a})  instance NFData CreateResourceDataSyncResponse where
gen/Network/AWS/SSM/DeleteActivation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteActivation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The ID of the activation that you want to delete. daActivationId :: Lens' DeleteActivation Text-daActivationId = lens _daActivationId (\ s a -> s{_daActivationId = a});+daActivationId = lens _daActivationId (\ s a -> s{_daActivationId = a})  instance AWSRequest DeleteActivation where         type Rs DeleteActivation = DeleteActivationResponse@@ -118,6 +118,6 @@  -- | -- | The response status code. delersResponseStatus :: Lens' DeleteActivationResponse Int-delersResponseStatus = lens _delersResponseStatus (\ s a -> s{_delersResponseStatus = a});+delersResponseStatus = lens _delersResponseStatus (\ s a -> s{_delersResponseStatus = a})  instance NFData DeleteActivationResponse where
gen/Network/AWS/SSM/DeleteAssociation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteAssociation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: DeleteAssociation deleteAssociation =   DeleteAssociation'-  {_daaAssociationId = Nothing, _daaInstanceId = Nothing, _daaName = Nothing}+    {_daaAssociationId = Nothing, _daaInstanceId = Nothing, _daaName = Nothing}   -- | The association ID that you want to delete. daaAssociationId :: Lens' DeleteAssociation (Maybe Text)-daaAssociationId = lens _daaAssociationId (\ s a -> s{_daaAssociationId = a});+daaAssociationId = lens _daaAssociationId (\ s a -> s{_daaAssociationId = a})  -- | The ID of the instance. daaInstanceId :: Lens' DeleteAssociation (Maybe Text)-daaInstanceId = lens _daaInstanceId (\ s a -> s{_daaInstanceId = a});+daaInstanceId = lens _daaInstanceId (\ s a -> s{_daaInstanceId = a})  -- | The name of the Systems Manager document. daaName :: Lens' DeleteAssociation (Maybe Text)-daaName = lens _daaName (\ s a -> s{_daaName = a});+daaName = lens _daaName (\ s a -> s{_daaName = a})  instance AWSRequest DeleteAssociation where         type Rs DeleteAssociation = DeleteAssociationResponse@@ -138,6 +138,6 @@  -- | -- | The response status code. delrsResponseStatus :: Lens' DeleteAssociationResponse Int-delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a});+delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a})  instance NFData DeleteAssociationResponse where
gen/Network/AWS/SSM/DeleteDocument.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteDocument--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the document. dddName :: Lens' DeleteDocument Text-dddName = lens _dddName (\ s a -> s{_dddName = a});+dddName = lens _dddName (\ s a -> s{_dddName = a})  instance AWSRequest DeleteDocument where         type Rs DeleteDocument = DeleteDocumentResponse@@ -117,6 +117,6 @@  -- | -- | The response status code. ddrsResponseStatus :: Lens' DeleteDocumentResponse Int-ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})  instance NFData DeleteDocumentResponse where
+ gen/Network/AWS/SSM/DeleteInventory.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.SSM.DeleteInventory+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+    (+    -- * Creating a Request+      deleteInventory+    , DeleteInventory+    -- * Request Lenses+    , diClientToken+    , diSchemaDeleteOption+    , diDryRun+    , diTypeName++    -- * Destructuring the Response+    , deleteInventoryResponse+    , DeleteInventoryResponse+    -- * Response Lenses+    , dirsTypeName+    , dirsDeletionSummary+    , dirsDeletionId+    , dirsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.SSM.Types+import Network.AWS.SSM.Types.Product++-- | /See:/ 'deleteInventory' smart constructor.+data DeleteInventory = DeleteInventory'+  { _diClientToken        :: !(Maybe Text)+  , _diSchemaDeleteOption :: !(Maybe InventorySchemaDeleteOption)+  , _diDryRun             :: !(Maybe Bool)+  , _diTypeName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteInventory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diClientToken' - User-provided idempotency token.+--+-- * 'diSchemaDeleteOption' - Use the @SchemaDeleteOption@ 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 @PutInventory@ 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.+--+-- * 'diDryRun' - 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 @DryRun@ option.+--+-- * 'diTypeName' - The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself.+deleteInventory+    :: Text -- ^ 'diTypeName'+    -> DeleteInventory+deleteInventory pTypeName_ =+  DeleteInventory'+    { _diClientToken = Nothing+    , _diSchemaDeleteOption = Nothing+    , _diDryRun = Nothing+    , _diTypeName = pTypeName_+    }+++-- | User-provided idempotency token.+diClientToken :: Lens' DeleteInventory (Maybe Text)+diClientToken = lens _diClientToken (\ s a -> s{_diClientToken = a})++-- | Use the @SchemaDeleteOption@ 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 @PutInventory@ 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)+diSchemaDeleteOption = lens _diSchemaDeleteOption (\ s a -> s{_diSchemaDeleteOption = 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 @DryRun@ option.+diDryRun :: Lens' DeleteInventory (Maybe Bool)+diDryRun = lens _diDryRun (\ s a -> s{_diDryRun = a})++-- | 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+diTypeName = lens _diTypeName (\ s a -> s{_diTypeName = a})++instance AWSRequest DeleteInventory where+        type Rs DeleteInventory = DeleteInventoryResponse+        request = postJSON ssm+        response+          = receiveJSON+              (\ s h x ->+                 DeleteInventoryResponse' <$>+                   (x .?> "TypeName") <*> (x .?> "DeletionSummary") <*>+                     (x .?> "DeletionId")+                     <*> (pure (fromEnum s)))++instance Hashable DeleteInventory where++instance NFData DeleteInventory where++instance ToHeaders DeleteInventory where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonSSM.DeleteInventory" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteInventory where+        toJSON DeleteInventory'{..}+          = object+              (catMaybes+                 [("ClientToken" .=) <$> _diClientToken,+                  ("SchemaDeleteOption" .=) <$> _diSchemaDeleteOption,+                  ("DryRun" .=) <$> _diDryRun,+                  Just ("TypeName" .= _diTypeName)])++instance ToPath DeleteInventory where+        toPath = const "/"++instance ToQuery DeleteInventory where+        toQuery = const mempty++-- | /See:/ 'deleteInventoryResponse' smart constructor.+data DeleteInventoryResponse = DeleteInventoryResponse'+  { _dirsTypeName        :: !(Maybe Text)+  , _dirsDeletionSummary :: !(Maybe InventoryDeletionSummary)+  , _dirsDeletionId      :: !(Maybe Text)+  , _dirsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteInventoryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dirsTypeName' - The name of the inventory data type specified in the request.+--+-- * 'dirsDeletionSummary' - A summary of the delete operation. For more information about this summary, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary Understanding the Delete Inventory Summary> .+--+-- * 'dirsDeletionId' - Every @DeleteInventory@ 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.+--+-- * 'dirsResponseStatus' - -- | The response status code.+deleteInventoryResponse+    :: Int -- ^ 'dirsResponseStatus'+    -> DeleteInventoryResponse+deleteInventoryResponse pResponseStatus_ =+  DeleteInventoryResponse'+    { _dirsTypeName = Nothing+    , _dirsDeletionSummary = Nothing+    , _dirsDeletionId = Nothing+    , _dirsResponseStatus = pResponseStatus_+    }+++-- | The name of the inventory data type specified in the request.+dirsTypeName :: Lens' DeleteInventoryResponse (Maybe Text)+dirsTypeName = lens _dirsTypeName (\ s a -> s{_dirsTypeName = a})++-- | A summary of the delete operation. For more information about this summary, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary Understanding the Delete Inventory Summary> .+dirsDeletionSummary :: Lens' DeleteInventoryResponse (Maybe InventoryDeletionSummary)+dirsDeletionSummary = lens _dirsDeletionSummary (\ s a -> s{_dirsDeletionSummary = a})++-- | Every @DeleteInventory@ 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)+dirsDeletionId = lens _dirsDeletionId (\ s a -> s{_dirsDeletionId = a})++-- | -- | The response status code.+dirsResponseStatus :: Lens' DeleteInventoryResponse Int+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a})++instance NFData DeleteInventoryResponse where
gen/Network/AWS/SSM/DeleteMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ID of the Maintenance Window to delete. dmwWindowId :: Lens' DeleteMaintenanceWindow Text-dmwWindowId = lens _dmwWindowId (\ s a -> s{_dmwWindowId = a});+dmwWindowId = lens _dmwWindowId (\ s a -> s{_dmwWindowId = a})  instance AWSRequest DeleteMaintenanceWindow where         type Rs DeleteMaintenanceWindow =@@ -119,15 +119,15 @@     -> DeleteMaintenanceWindowResponse deleteMaintenanceWindowResponse pResponseStatus_ =   DeleteMaintenanceWindowResponse'-  {_dmwrsWindowId = Nothing, _dmwrsResponseStatus = pResponseStatus_}+    {_dmwrsWindowId = Nothing, _dmwrsResponseStatus = pResponseStatus_}   -- | The ID of the deleted Maintenance Window. dmwrsWindowId :: Lens' DeleteMaintenanceWindowResponse (Maybe Text)-dmwrsWindowId = lens _dmwrsWindowId (\ s a -> s{_dmwrsWindowId = a});+dmwrsWindowId = lens _dmwrsWindowId (\ s a -> s{_dmwrsWindowId = a})  -- | -- | The response status code. dmwrsResponseStatus :: Lens' DeleteMaintenanceWindowResponse Int-dmwrsResponseStatus = lens _dmwrsResponseStatus (\ s a -> s{_dmwrsResponseStatus = a});+dmwrsResponseStatus = lens _dmwrsResponseStatus (\ s a -> s{_dmwrsResponseStatus = a})  instance NFData DeleteMaintenanceWindowResponse where
gen/Network/AWS/SSM/DeleteParameter.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteParameter--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The name of the parameter to delete. delName :: Lens' DeleteParameter Text-delName = lens _delName (\ s a -> s{_delName = a});+delName = lens _delName (\ s a -> s{_delName = a})  instance AWSRequest DeleteParameter where         type Rs DeleteParameter = DeleteParameterResponse@@ -115,6 +115,6 @@  -- | -- | The response status code. dpprsResponseStatus :: Lens' DeleteParameterResponse Int-dpprsResponseStatus = lens _dpprsResponseStatus (\ s a -> s{_dpprsResponseStatus = a});+dpprsResponseStatus = lens _dpprsResponseStatus (\ s a -> s{_dpprsResponseStatus = a})  instance NFData DeleteParameterResponse where
gen/Network/AWS/SSM/DeleteParameters.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteParameters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The names of the parameters to delete. dpNames :: Lens' DeleteParameters (NonEmpty Text)-dpNames = lens _dpNames (\ s a -> s{_dpNames = a}) . _List1;+dpNames = lens _dpNames (\ s a -> s{_dpNames = a}) . _List1  instance AWSRequest DeleteParameters where         type Rs DeleteParameters = DeleteParametersResponse@@ -122,22 +122,22 @@     -> DeleteParametersResponse deleteParametersResponse pResponseStatus_ =   DeleteParametersResponse'-  { _drsDeletedParameters = Nothing-  , _drsInvalidParameters = Nothing-  , _drsResponseStatus = pResponseStatus_-  }+    { _drsDeletedParameters = Nothing+    , _drsInvalidParameters = Nothing+    , _drsResponseStatus = pResponseStatus_+    }   -- | The names of the deleted parameters. drsDeletedParameters :: Lens' DeleteParametersResponse (Maybe (NonEmpty Text))-drsDeletedParameters = lens _drsDeletedParameters (\ s a -> s{_drsDeletedParameters = a}) . mapping _List1;+drsDeletedParameters = lens _drsDeletedParameters (\ s a -> s{_drsDeletedParameters = a}) . mapping _List1  -- | The names of parameters that weren't deleted because the parameters are not valid. drsInvalidParameters :: Lens' DeleteParametersResponse (Maybe (NonEmpty Text))-drsInvalidParameters = lens _drsInvalidParameters (\ s a -> s{_drsInvalidParameters = a}) . mapping _List1;+drsInvalidParameters = lens _drsInvalidParameters (\ s a -> s{_drsInvalidParameters = a}) . mapping _List1  -- | -- | The response status code. drsResponseStatus :: Lens' DeleteParametersResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})  instance NFData DeleteParametersResponse where
gen/Network/AWS/SSM/DeletePatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeletePatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ID of the patch baseline to delete. dpbBaselineId :: Lens' DeletePatchBaseline Text-dpbBaselineId = lens _dpbBaselineId (\ s a -> s{_dpbBaselineId = a});+dpbBaselineId = lens _dpbBaselineId (\ s a -> s{_dpbBaselineId = a})  instance AWSRequest DeletePatchBaseline where         type Rs DeletePatchBaseline =@@ -119,15 +119,15 @@     -> DeletePatchBaselineResponse deletePatchBaselineResponse pResponseStatus_ =   DeletePatchBaselineResponse'-  {_dpbrsBaselineId = Nothing, _dpbrsResponseStatus = pResponseStatus_}+    {_dpbrsBaselineId = Nothing, _dpbrsResponseStatus = pResponseStatus_}   -- | The ID of the deleted patch baseline. dpbrsBaselineId :: Lens' DeletePatchBaselineResponse (Maybe Text)-dpbrsBaselineId = lens _dpbrsBaselineId (\ s a -> s{_dpbrsBaselineId = a});+dpbrsBaselineId = lens _dpbrsBaselineId (\ s a -> s{_dpbrsBaselineId = a})  -- | -- | The response status code. dpbrsResponseStatus :: Lens' DeletePatchBaselineResponse Int-dpbrsResponseStatus = lens _dpbrsResponseStatus (\ s a -> s{_dpbrsResponseStatus = a});+dpbrsResponseStatus = lens _dpbrsResponseStatus (\ s a -> s{_dpbrsResponseStatus = a})  instance NFData DeletePatchBaselineResponse where
gen/Network/AWS/SSM/DeleteResourceDataSync.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeleteResourceDataSync--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the configuration to delete. drdsSyncName :: Lens' DeleteResourceDataSync Text-drdsSyncName = lens _drdsSyncName (\ s a -> s{_drdsSyncName = a});+drdsSyncName = lens _drdsSyncName (\ s a -> s{_drdsSyncName = a})  instance AWSRequest DeleteResourceDataSync where         type Rs DeleteResourceDataSync =@@ -119,6 +119,6 @@  -- | -- | The response status code. drdsrsResponseStatus :: Lens' DeleteResourceDataSyncResponse Int-drdsrsResponseStatus = lens _drdsrsResponseStatus (\ s a -> s{_drdsrsResponseStatus = a});+drdsrsResponseStatus = lens _drdsrsResponseStatus (\ s a -> s{_drdsrsResponseStatus = a})  instance NFData DeleteResourceDataSyncResponse where
gen/Network/AWS/SSM/DeregisterManagedInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeregisterManagedInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The ID assigned to the managed instance when you registered it using the activation process. dmiInstanceId :: Lens' DeregisterManagedInstance Text-dmiInstanceId = lens _dmiInstanceId (\ s a -> s{_dmiInstanceId = a});+dmiInstanceId = lens _dmiInstanceId (\ s a -> s{_dmiInstanceId = a})  instance AWSRequest DeregisterManagedInstance where         type Rs DeregisterManagedInstance =@@ -120,7 +120,7 @@  -- | -- | The response status code. dmirsResponseStatus :: Lens' DeregisterManagedInstanceResponse Int-dmirsResponseStatus = lens _dmirsResponseStatus (\ s a -> s{_dmirsResponseStatus = a});+dmirsResponseStatus = lens _dmirsResponseStatus (\ s a -> s{_dmirsResponseStatus = a})  instance NFData DeregisterManagedInstanceResponse          where
gen/Network/AWS/SSM/DeregisterPatchBaselineForPatchGroup.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeregisterPatchBaselineForPatchGroup--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,16 +66,16 @@     -> DeregisterPatchBaselineForPatchGroup deregisterPatchBaselineForPatchGroup pBaselineId_ pPatchGroup_ =   DeregisterPatchBaselineForPatchGroup'-  {_dpbfpgBaselineId = pBaselineId_, _dpbfpgPatchGroup = pPatchGroup_}+    {_dpbfpgBaselineId = pBaselineId_, _dpbfpgPatchGroup = pPatchGroup_}   -- | The ID of the patch baseline to deregister the patch group from. dpbfpgBaselineId :: Lens' DeregisterPatchBaselineForPatchGroup Text-dpbfpgBaselineId = lens _dpbfpgBaselineId (\ s a -> s{_dpbfpgBaselineId = a});+dpbfpgBaselineId = lens _dpbfpgBaselineId (\ s a -> s{_dpbfpgBaselineId = a})  -- | The name of the patch group that should be deregistered from the patch baseline. dpbfpgPatchGroup :: Lens' DeregisterPatchBaselineForPatchGroup Text-dpbfpgPatchGroup = lens _dpbfpgPatchGroup (\ s a -> s{_dpbfpgPatchGroup = a});+dpbfpgPatchGroup = lens _dpbfpgPatchGroup (\ s a -> s{_dpbfpgPatchGroup = a})  instance AWSRequest            DeregisterPatchBaselineForPatchGroup@@ -147,23 +147,23 @@     -> DeregisterPatchBaselineForPatchGroupResponse deregisterPatchBaselineForPatchGroupResponse pResponseStatus_ =   DeregisterPatchBaselineForPatchGroupResponse'-  { _dpbfpgrsBaselineId = Nothing-  , _dpbfpgrsPatchGroup = Nothing-  , _dpbfpgrsResponseStatus = pResponseStatus_-  }+    { _dpbfpgrsBaselineId = Nothing+    , _dpbfpgrsPatchGroup = Nothing+    , _dpbfpgrsResponseStatus = pResponseStatus_+    }   -- | The ID of the patch baseline the patch group was deregistered from. dpbfpgrsBaselineId :: Lens' DeregisterPatchBaselineForPatchGroupResponse (Maybe Text)-dpbfpgrsBaselineId = lens _dpbfpgrsBaselineId (\ s a -> s{_dpbfpgrsBaselineId = a});+dpbfpgrsBaselineId = lens _dpbfpgrsBaselineId (\ s a -> s{_dpbfpgrsBaselineId = a})  -- | The name of the patch group deregistered from the patch baseline. dpbfpgrsPatchGroup :: Lens' DeregisterPatchBaselineForPatchGroupResponse (Maybe Text)-dpbfpgrsPatchGroup = lens _dpbfpgrsPatchGroup (\ s a -> s{_dpbfpgrsPatchGroup = a});+dpbfpgrsPatchGroup = lens _dpbfpgrsPatchGroup (\ s a -> s{_dpbfpgrsPatchGroup = a})  -- | -- | The response status code. dpbfpgrsResponseStatus :: Lens' DeregisterPatchBaselineForPatchGroupResponse Int-dpbfpgrsResponseStatus = lens _dpbfpgrsResponseStatus (\ s a -> s{_dpbfpgrsResponseStatus = a});+dpbfpgrsResponseStatus = lens _dpbfpgrsResponseStatus (\ s a -> s{_dpbfpgrsResponseStatus = a})  instance NFData            DeregisterPatchBaselineForPatchGroupResponse
gen/Network/AWS/SSM/DeregisterTargetFromMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeregisterTargetFromMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> DeregisterTargetFromMaintenanceWindow deregisterTargetFromMaintenanceWindow pWindowId_ pWindowTargetId_ =   DeregisterTargetFromMaintenanceWindow'-  { _dtfmwSafe = Nothing-  , _dtfmwWindowId = pWindowId_-  , _dtfmwWindowTargetId = pWindowTargetId_-  }+    { _dtfmwSafe = Nothing+    , _dtfmwWindowId = pWindowId_+    , _dtfmwWindowTargetId = pWindowTargetId_+    }   -- | 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)-dtfmwSafe = lens _dtfmwSafe (\ s a -> s{_dtfmwSafe = a});+dtfmwSafe = lens _dtfmwSafe (\ s a -> s{_dtfmwSafe = a})  -- | The ID of the Maintenance Window the target should be removed from. dtfmwWindowId :: Lens' DeregisterTargetFromMaintenanceWindow Text-dtfmwWindowId = lens _dtfmwWindowId (\ s a -> s{_dtfmwWindowId = a});+dtfmwWindowId = lens _dtfmwWindowId (\ s a -> s{_dtfmwWindowId = a})  -- | The ID of the target definition to remove. dtfmwWindowTargetId :: Lens' DeregisterTargetFromMaintenanceWindow Text-dtfmwWindowTargetId = lens _dtfmwWindowTargetId (\ s a -> s{_dtfmwWindowTargetId = a});+dtfmwWindowTargetId = lens _dtfmwWindowTargetId (\ s a -> s{_dtfmwWindowTargetId = a})  instance AWSRequest            DeregisterTargetFromMaintenanceWindow@@ -160,23 +160,23 @@     -> DeregisterTargetFromMaintenanceWindowResponse deregisterTargetFromMaintenanceWindowResponse pResponseStatus_ =   DeregisterTargetFromMaintenanceWindowResponse'-  { _dtfmwrsWindowTargetId = Nothing-  , _dtfmwrsWindowId = Nothing-  , _dtfmwrsResponseStatus = pResponseStatus_-  }+    { _dtfmwrsWindowTargetId = Nothing+    , _dtfmwrsWindowId = Nothing+    , _dtfmwrsResponseStatus = pResponseStatus_+    }   -- | The ID of the removed target definition. dtfmwrsWindowTargetId :: Lens' DeregisterTargetFromMaintenanceWindowResponse (Maybe Text)-dtfmwrsWindowTargetId = lens _dtfmwrsWindowTargetId (\ s a -> s{_dtfmwrsWindowTargetId = a});+dtfmwrsWindowTargetId = lens _dtfmwrsWindowTargetId (\ s a -> s{_dtfmwrsWindowTargetId = a})  -- | The ID of the Maintenance Window the target was removed from. dtfmwrsWindowId :: Lens' DeregisterTargetFromMaintenanceWindowResponse (Maybe Text)-dtfmwrsWindowId = lens _dtfmwrsWindowId (\ s a -> s{_dtfmwrsWindowId = a});+dtfmwrsWindowId = lens _dtfmwrsWindowId (\ s a -> s{_dtfmwrsWindowId = a})  -- | -- | The response status code. dtfmwrsResponseStatus :: Lens' DeregisterTargetFromMaintenanceWindowResponse Int-dtfmwrsResponseStatus = lens _dtfmwrsResponseStatus (\ s a -> s{_dtfmwrsResponseStatus = a});+dtfmwrsResponseStatus = lens _dtfmwrsResponseStatus (\ s a -> s{_dtfmwrsResponseStatus = a})  instance NFData            DeregisterTargetFromMaintenanceWindowResponse
gen/Network/AWS/SSM/DeregisterTaskFromMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DeregisterTaskFromMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,16 +66,16 @@     -> DeregisterTaskFromMaintenanceWindow deregisterTaskFromMaintenanceWindow pWindowId_ pWindowTaskId_ =   DeregisterTaskFromMaintenanceWindow'-  {_derWindowId = pWindowId_, _derWindowTaskId = pWindowTaskId_}+    {_derWindowId = pWindowId_, _derWindowTaskId = pWindowTaskId_}   -- | The ID of the Maintenance Window the task should be removed from. derWindowId :: Lens' DeregisterTaskFromMaintenanceWindow Text-derWindowId = lens _derWindowId (\ s a -> s{_derWindowId = a});+derWindowId = lens _derWindowId (\ s a -> s{_derWindowId = a})  -- | The ID of the task to remove from the Maintenance Window. derWindowTaskId :: Lens' DeregisterTaskFromMaintenanceWindow Text-derWindowTaskId = lens _derWindowTaskId (\ s a -> s{_derWindowTaskId = a});+derWindowTaskId = lens _derWindowTaskId (\ s a -> s{_derWindowTaskId = a})  instance AWSRequest            DeregisterTaskFromMaintenanceWindow@@ -146,23 +146,23 @@     -> DeregisterTaskFromMaintenanceWindowResponse deregisterTaskFromMaintenanceWindowResponse pResponseStatus_ =   DeregisterTaskFromMaintenanceWindowResponse'-  { _derrsWindowTaskId = Nothing-  , _derrsWindowId = Nothing-  , _derrsResponseStatus = pResponseStatus_-  }+    { _derrsWindowTaskId = Nothing+    , _derrsWindowId = Nothing+    , _derrsResponseStatus = pResponseStatus_+    }   -- | The ID of the task removed from the Maintenance Window. derrsWindowTaskId :: Lens' DeregisterTaskFromMaintenanceWindowResponse (Maybe Text)-derrsWindowTaskId = lens _derrsWindowTaskId (\ s a -> s{_derrsWindowTaskId = a});+derrsWindowTaskId = lens _derrsWindowTaskId (\ s a -> s{_derrsWindowTaskId = a})  -- | The ID of the Maintenance Window the task was removed from. derrsWindowId :: Lens' DeregisterTaskFromMaintenanceWindowResponse (Maybe Text)-derrsWindowId = lens _derrsWindowId (\ s a -> s{_derrsWindowId = a});+derrsWindowId = lens _derrsWindowId (\ s a -> s{_derrsWindowId = a})  -- | -- | The response status code. derrsResponseStatus :: Lens' DeregisterTaskFromMaintenanceWindowResponse Int-derrsResponseStatus = lens _derrsResponseStatus (\ s a -> s{_derrsResponseStatus = a});+derrsResponseStatus = lens _derrsResponseStatus (\ s a -> s{_derrsResponseStatus = a})  instance NFData            DeregisterTaskFromMaintenanceWindowResponse
gen/Network/AWS/SSM/DescribeActivations.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeActivations--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,20 +71,20 @@     :: DescribeActivations describeActivations =   DescribeActivations'-  {_daFilters = Nothing, _daNextToken = Nothing, _daMaxResults = Nothing}+    {_daFilters = Nothing, _daNextToken = Nothing, _daMaxResults = Nothing}   -- | A filter to view information about your activations. daFilters :: Lens' DescribeActivations [DescribeActivationsFilter]-daFilters = lens _daFilters (\ s a -> s{_daFilters = a}) . _Default . _Coerce;+daFilters = lens _daFilters (\ s a -> s{_daFilters = a}) . _Default . _Coerce  -- | A token to start the list. Use this token to get the next set of results. daNextToken :: Lens' DescribeActivations (Maybe Text)-daNextToken = lens _daNextToken (\ s a -> s{_daNextToken = a});+daNextToken = lens _daNextToken (\ s a -> s{_daNextToken = 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. daMaxResults :: Lens' DescribeActivations (Maybe Natural)-daMaxResults = lens _daMaxResults (\ s a -> s{_daMaxResults = a}) . mapping _Nat;+daMaxResults = lens _daMaxResults (\ s a -> s{_daMaxResults = a}) . mapping _Nat  instance AWSPager DescribeActivations where         page rq rs@@ -154,22 +154,22 @@     -> DescribeActivationsResponse describeActivationsResponse pResponseStatus_ =   DescribeActivationsResponse'-  { _darsActivationList = Nothing-  , _darsNextToken = Nothing-  , _darsResponseStatus = pResponseStatus_-  }+    { _darsActivationList = Nothing+    , _darsNextToken = Nothing+    , _darsResponseStatus = pResponseStatus_+    }   -- | A list of activations for your AWS account. darsActivationList :: Lens' DescribeActivationsResponse [Activation]-darsActivationList = lens _darsActivationList (\ s a -> s{_darsActivationList = a}) . _Default . _Coerce;+darsActivationList = lens _darsActivationList (\ s a -> s{_darsActivationList = a}) . _Default . _Coerce  -- | 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)-darsNextToken = lens _darsNextToken (\ s a -> s{_darsNextToken = a});+darsNextToken = lens _darsNextToken (\ s a -> s{_darsNextToken = a})  -- | -- | The response status code. darsResponseStatus :: Lens' DescribeActivationsResponse Int-darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});+darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a})  instance NFData DescribeActivationsResponse where
gen/Network/AWS/SSM/DescribeAssociation.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.SSM.DescribeAssociation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes the associations for the specified Systems Manager document or instance.+-- Describes the association for the specified target or instance. If you created the association by using the @Targets@ parameter, then you must retrieve the association by using the association ID. If you created the association by specifying an instance ID and a Systems Manager document, then you retrieve the association by specifying the document name and the instance ID. -- -- module Network.AWS.SSM.DescribeAssociation@@ -71,28 +71,28 @@     :: DescribeAssociation describeAssociation =   DescribeAssociation'-  { _daAssociationId = Nothing-  , _daInstanceId = Nothing-  , _daName = Nothing-  , _daAssociationVersion = Nothing-  }+    { _daAssociationId = Nothing+    , _daInstanceId = Nothing+    , _daName = Nothing+    , _daAssociationVersion = Nothing+    }   -- | The association ID for which you want information. daAssociationId :: Lens' DescribeAssociation (Maybe Text)-daAssociationId = lens _daAssociationId (\ s a -> s{_daAssociationId = a});+daAssociationId = lens _daAssociationId (\ s a -> s{_daAssociationId = a})  -- | The instance ID. daInstanceId :: Lens' DescribeAssociation (Maybe Text)-daInstanceId = lens _daInstanceId (\ s a -> s{_daInstanceId = a});+daInstanceId = lens _daInstanceId (\ s a -> s{_daInstanceId = a})  -- | The name of the Systems Manager document. daName :: Lens' DescribeAssociation (Maybe Text)-daName = lens _daName (\ s a -> s{_daName = a});+daName = lens _daName (\ s a -> s{_daName = a})  -- | Specify the association version to retrieve. To view the latest version, either specify @> LATEST@ 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)-daAssociationVersion = lens _daAssociationVersion (\ s a -> s{_daAssociationVersion = a});+daAssociationVersion = lens _daAssociationVersion (\ s a -> s{_daAssociationVersion = a})  instance AWSRequest DescribeAssociation where         type Rs DescribeAssociation =@@ -152,17 +152,17 @@     -> DescribeAssociationResponse describeAssociationResponse pResponseStatus_ =   DescribeAssociationResponse'-  { _daarsAssociationDescription = Nothing-  , _daarsResponseStatus = pResponseStatus_-  }+    { _daarsAssociationDescription = Nothing+    , _daarsResponseStatus = pResponseStatus_+    }   -- | Information about the association. daarsAssociationDescription :: Lens' DescribeAssociationResponse (Maybe AssociationDescription)-daarsAssociationDescription = lens _daarsAssociationDescription (\ s a -> s{_daarsAssociationDescription = a});+daarsAssociationDescription = lens _daarsAssociationDescription (\ s a -> s{_daarsAssociationDescription = a})  -- | -- | The response status code. daarsResponseStatus :: Lens' DescribeAssociationResponse Int-daarsResponseStatus = lens _daarsResponseStatus (\ s a -> s{_daarsResponseStatus = a});+daarsResponseStatus = lens _daarsResponseStatus (\ s a -> s{_daarsResponseStatus = a})  instance NFData DescribeAssociationResponse where
gen/Network/AWS/SSM/DescribeAutomationExecutions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeAutomationExecutions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: DescribeAutomationExecutions describeAutomationExecutions =   DescribeAutomationExecutions'-  {_daeFilters = Nothing, _daeNextToken = Nothing, _daeMaxResults = Nothing}+    {_daeFilters = Nothing, _daeNextToken = Nothing, _daeMaxResults = Nothing}   -- | Filters used to limit the scope of executions that are requested. daeFilters :: Lens' DescribeAutomationExecutions (Maybe (NonEmpty AutomationExecutionFilter))-daeFilters = lens _daeFilters (\ s a -> s{_daeFilters = a}) . mapping _List1;+daeFilters = lens _daeFilters (\ s a -> s{_daeFilters = a}) . mapping _List1  -- | The token for the next set of items to return. (You received this token from a previous call.) daeNextToken :: Lens' DescribeAutomationExecutions (Maybe Text)-daeNextToken = lens _daeNextToken (\ s a -> s{_daeNextToken = a});+daeNextToken = lens _daeNextToken (\ s a -> s{_daeNextToken = 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. daeMaxResults :: Lens' DescribeAutomationExecutions (Maybe Natural)-daeMaxResults = lens _daeMaxResults (\ s a -> s{_daeMaxResults = a}) . mapping _Nat;+daeMaxResults = lens _daeMaxResults (\ s a -> s{_daeMaxResults = a}) . mapping _Nat  instance AWSRequest DescribeAutomationExecutions          where@@ -146,23 +146,23 @@     -> DescribeAutomationExecutionsResponse describeAutomationExecutionsResponse pResponseStatus_ =   DescribeAutomationExecutionsResponse'-  { _daersNextToken = Nothing-  , _daersAutomationExecutionMetadataList = Nothing-  , _daersResponseStatus = pResponseStatus_-  }+    { _daersNextToken = Nothing+    , _daersAutomationExecutionMetadataList = Nothing+    , _daersResponseStatus = pResponseStatus_+    }   -- | 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)-daersNextToken = lens _daersNextToken (\ s a -> s{_daersNextToken = a});+daersNextToken = lens _daersNextToken (\ s a -> s{_daersNextToken = a})  -- | The list of details about each automation execution which has occurred which matches the filter specification, if any. daersAutomationExecutionMetadataList :: Lens' DescribeAutomationExecutionsResponse [AutomationExecutionMetadata]-daersAutomationExecutionMetadataList = lens _daersAutomationExecutionMetadataList (\ s a -> s{_daersAutomationExecutionMetadataList = a}) . _Default . _Coerce;+daersAutomationExecutionMetadataList = lens _daersAutomationExecutionMetadataList (\ s a -> s{_daersAutomationExecutionMetadataList = a}) . _Default . _Coerce  -- | -- | The response status code. daersResponseStatus :: Lens' DescribeAutomationExecutionsResponse Int-daersResponseStatus = lens _daersResponseStatus (\ s a -> s{_daersResponseStatus = a});+daersResponseStatus = lens _daersResponseStatus (\ s a -> s{_daersResponseStatus = a})  instance NFData DescribeAutomationExecutionsResponse          where
+ gen/Network/AWS/SSM/DescribeAutomationStepExecutions.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.SSM.DescribeAutomationStepExecutions+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Information about all active and terminated step executions in an Automation workflow.+--+--+module Network.AWS.SSM.DescribeAutomationStepExecutions+    (+    -- * Creating a Request+      describeAutomationStepExecutions+    , DescribeAutomationStepExecutions+    -- * Request Lenses+    , daseFilters+    , daseReverseOrder+    , daseNextToken+    , daseMaxResults+    , daseAutomationExecutionId++    -- * Destructuring the Response+    , describeAutomationStepExecutionsResponse+    , DescribeAutomationStepExecutionsResponse+    -- * Response Lenses+    , dasersNextToken+    , dasersStepExecutions+    , dasersResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.SSM.Types+import Network.AWS.SSM.Types.Product++-- | /See:/ 'describeAutomationStepExecutions' smart constructor.+data DescribeAutomationStepExecutions = DescribeAutomationStepExecutions'+  { _daseFilters               :: !(Maybe (List1 StepExecutionFilter))+  , _daseReverseOrder          :: !(Maybe Bool)+  , _daseNextToken             :: !(Maybe Text)+  , _daseMaxResults            :: !(Maybe Nat)+  , _daseAutomationExecutionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeAutomationStepExecutions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daseFilters' - One or more filters to limit the number of step executions returned by the request.+--+-- * 'daseReverseOrder' - A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.+--+-- * 'daseNextToken' - The token for the next set of items to return. (You received this token from a previous call.)+--+-- * 'daseMaxResults' - 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.+--+-- * 'daseAutomationExecutionId' - The Automation execution ID for which you want step execution descriptions.+describeAutomationStepExecutions+    :: Text -- ^ 'daseAutomationExecutionId'+    -> DescribeAutomationStepExecutions+describeAutomationStepExecutions pAutomationExecutionId_ =+  DescribeAutomationStepExecutions'+    { _daseFilters = Nothing+    , _daseReverseOrder = Nothing+    , _daseNextToken = Nothing+    , _daseMaxResults = Nothing+    , _daseAutomationExecutionId = pAutomationExecutionId_+    }+++-- | One or more filters to limit the number of step executions returned by the request.+daseFilters :: Lens' DescribeAutomationStepExecutions (Maybe (NonEmpty StepExecutionFilter))+daseFilters = lens _daseFilters (\ s a -> s{_daseFilters = a}) . mapping _List1++-- | 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)+daseReverseOrder = lens _daseReverseOrder (\ s a -> s{_daseReverseOrder = a})++-- | The token for the next set of items to return. (You received this token from a previous call.)+daseNextToken :: Lens' DescribeAutomationStepExecutions (Maybe Text)+daseNextToken = lens _daseNextToken (\ s a -> s{_daseNextToken = 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.+daseMaxResults :: Lens' DescribeAutomationStepExecutions (Maybe Natural)+daseMaxResults = lens _daseMaxResults (\ s a -> s{_daseMaxResults = a}) . mapping _Nat++-- | The Automation execution ID for which you want step execution descriptions.+daseAutomationExecutionId :: Lens' DescribeAutomationStepExecutions Text+daseAutomationExecutionId = lens _daseAutomationExecutionId (\ s a -> s{_daseAutomationExecutionId = a})++instance AWSRequest DescribeAutomationStepExecutions+         where+        type Rs DescribeAutomationStepExecutions =+             DescribeAutomationStepExecutionsResponse+        request = postJSON ssm+        response+          = receiveJSON+              (\ s h x ->+                 DescribeAutomationStepExecutionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "StepExecutions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribeAutomationStepExecutions+         where++instance NFData DescribeAutomationStepExecutions+         where++instance ToHeaders DescribeAutomationStepExecutions+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonSSM.DescribeAutomationStepExecutions" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeAutomationStepExecutions+         where+        toJSON DescribeAutomationStepExecutions'{..}+          = object+              (catMaybes+                 [("Filters" .=) <$> _daseFilters,+                  ("ReverseOrder" .=) <$> _daseReverseOrder,+                  ("NextToken" .=) <$> _daseNextToken,+                  ("MaxResults" .=) <$> _daseMaxResults,+                  Just+                    ("AutomationExecutionId" .=+                       _daseAutomationExecutionId)])++instance ToPath DescribeAutomationStepExecutions+         where+        toPath = const "/"++instance ToQuery DescribeAutomationStepExecutions+         where+        toQuery = const mempty++-- | /See:/ 'describeAutomationStepExecutionsResponse' smart constructor.+data DescribeAutomationStepExecutionsResponse = DescribeAutomationStepExecutionsResponse'+  { _dasersNextToken      :: !(Maybe Text)+  , _dasersStepExecutions :: !(Maybe [StepExecution])+  , _dasersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeAutomationStepExecutionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dasersNextToken' - The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.+--+-- * 'dasersStepExecutions' - A list of details about the current state of all steps that make up an execution.+--+-- * 'dasersResponseStatus' - -- | The response status code.+describeAutomationStepExecutionsResponse+    :: Int -- ^ 'dasersResponseStatus'+    -> DescribeAutomationStepExecutionsResponse+describeAutomationStepExecutionsResponse pResponseStatus_ =+  DescribeAutomationStepExecutionsResponse'+    { _dasersNextToken = Nothing+    , _dasersStepExecutions = Nothing+    , _dasersResponseStatus = pResponseStatus_+    }+++-- | 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)+dasersNextToken = lens _dasersNextToken (\ s a -> s{_dasersNextToken = a})++-- | A list of details about the current state of all steps that make up an execution.+dasersStepExecutions :: Lens' DescribeAutomationStepExecutionsResponse [StepExecution]+dasersStepExecutions = lens _dasersStepExecutions (\ s a -> s{_dasersStepExecutions = a}) . _Default . _Coerce++-- | -- | The response status code.+dasersResponseStatus :: Lens' DescribeAutomationStepExecutionsResponse Int+dasersResponseStatus = lens _dasersResponseStatus (\ s a -> s{_dasersResponseStatus = a})++instance NFData+           DescribeAutomationStepExecutionsResponse+         where
gen/Network/AWS/SSM/DescribeAvailablePatches.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeAvailablePatches--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: DescribeAvailablePatches describeAvailablePatches =   DescribeAvailablePatches'-  {_dapFilters = Nothing, _dapNextToken = Nothing, _dapMaxResults = Nothing}+    {_dapFilters = Nothing, _dapNextToken = Nothing, _dapMaxResults = Nothing}   -- | Filters used to scope down the returned patches. dapFilters :: Lens' DescribeAvailablePatches [PatchOrchestratorFilter]-dapFilters = lens _dapFilters (\ s a -> s{_dapFilters = a}) . _Default . _Coerce;+dapFilters = lens _dapFilters (\ s a -> s{_dapFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dapNextToken :: Lens' DescribeAvailablePatches (Maybe Text)-dapNextToken = lens _dapNextToken (\ s a -> s{_dapNextToken = a});+dapNextToken = lens _dapNextToken (\ s a -> s{_dapNextToken = a})  -- | The maximum number of patches to return (per page). dapMaxResults :: Lens' DescribeAvailablePatches (Maybe Natural)-dapMaxResults = lens _dapMaxResults (\ s a -> s{_dapMaxResults = a}) . mapping _Nat;+dapMaxResults = lens _dapMaxResults (\ s a -> s{_dapMaxResults = a}) . mapping _Nat  instance AWSRequest DescribeAvailablePatches where         type Rs DescribeAvailablePatches =@@ -143,23 +143,23 @@     -> DescribeAvailablePatchesResponse describeAvailablePatchesResponse pResponseStatus_ =   DescribeAvailablePatchesResponse'-  { _daprsPatches = Nothing-  , _daprsNextToken = Nothing-  , _daprsResponseStatus = pResponseStatus_-  }+    { _daprsPatches = Nothing+    , _daprsNextToken = Nothing+    , _daprsResponseStatus = pResponseStatus_+    }   -- | An array of patches. Each entry in the array is a patch structure. daprsPatches :: Lens' DescribeAvailablePatchesResponse [Patch]-daprsPatches = lens _daprsPatches (\ s a -> s{_daprsPatches = a}) . _Default . _Coerce;+daprsPatches = lens _daprsPatches (\ s a -> s{_daprsPatches = a}) . _Default . _Coerce  -- | 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)-daprsNextToken = lens _daprsNextToken (\ s a -> s{_daprsNextToken = a});+daprsNextToken = lens _daprsNextToken (\ s a -> s{_daprsNextToken = a})  -- | -- | The response status code. daprsResponseStatus :: Lens' DescribeAvailablePatchesResponse Int-daprsResponseStatus = lens _daprsResponseStatus (\ s a -> s{_daprsResponseStatus = a});+daprsResponseStatus = lens _daprsResponseStatus (\ s a -> s{_daprsResponseStatus = a})  instance NFData DescribeAvailablePatchesResponse          where
gen/Network/AWS/SSM/DescribeDocument.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeDocument--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | The document version for which you want information. Can be a specific version or the default version. ddDocumentVersion :: Lens' DescribeDocument (Maybe Text)-ddDocumentVersion = lens _ddDocumentVersion (\ s a -> s{_ddDocumentVersion = a});+ddDocumentVersion = lens _ddDocumentVersion (\ s a -> s{_ddDocumentVersion = a})  -- | The name of the Systems Manager document. ddName :: Lens' DescribeDocument Text-ddName = lens _ddName (\ s a -> s{_ddName = a});+ddName = lens _ddName (\ s a -> s{_ddName = a})  instance AWSRequest DescribeDocument where         type Rs DescribeDocument = DescribeDocumentResponse@@ -128,15 +128,15 @@     -> DescribeDocumentResponse describeDocumentResponse pResponseStatus_ =   DescribeDocumentResponse'-  {_desrsDocument = Nothing, _desrsResponseStatus = pResponseStatus_}+    {_desrsDocument = Nothing, _desrsResponseStatus = pResponseStatus_}   -- | Information about the Systems Manager document. desrsDocument :: Lens' DescribeDocumentResponse (Maybe DocumentDescription)-desrsDocument = lens _desrsDocument (\ s a -> s{_desrsDocument = a});+desrsDocument = lens _desrsDocument (\ s a -> s{_desrsDocument = a})  -- | -- | The response status code. desrsResponseStatus :: Lens' DescribeDocumentResponse Int-desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});+desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a})  instance NFData DescribeDocumentResponse where
gen/Network/AWS/SSM/DescribeDocumentPermission.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeDocumentPermission--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> DescribeDocumentPermission describeDocumentPermission pName_ pPermissionType_ =   DescribeDocumentPermission'-  {_ddpName = pName_, _ddpPermissionType = pPermissionType_}+    {_ddpName = pName_, _ddpPermissionType = pPermissionType_}   -- | The name of the document for which you are the owner. ddpName :: Lens' DescribeDocumentPermission Text-ddpName = lens _ddpName (\ s a -> s{_ddpName = a});+ddpName = lens _ddpName (\ s a -> s{_ddpName = a})  -- | The permission type for the document. The permission type can be /Share/ . ddpPermissionType :: Lens' DescribeDocumentPermission DocumentPermissionType-ddpPermissionType = lens _ddpPermissionType (\ s a -> s{_ddpPermissionType = a});+ddpPermissionType = lens _ddpPermissionType (\ s a -> s{_ddpPermissionType = a})  instance AWSRequest DescribeDocumentPermission where         type Rs DescribeDocumentPermission =@@ -133,16 +133,16 @@     -> DescribeDocumentPermissionResponse describeDocumentPermissionResponse pResponseStatus_ =   DescribeDocumentPermissionResponse'-  {_ddprsAccountIds = Nothing, _ddprsResponseStatus = pResponseStatus_}+    {_ddprsAccountIds = Nothing, _ddprsResponseStatus = pResponseStatus_}   -- | The account IDs that have permission to use this document. The ID can be either an AWS account or /All/ . ddprsAccountIds :: Lens' DescribeDocumentPermissionResponse [Text]-ddprsAccountIds = lens _ddprsAccountIds (\ s a -> s{_ddprsAccountIds = a}) . _Default . _Coerce;+ddprsAccountIds = lens _ddprsAccountIds (\ s a -> s{_ddprsAccountIds = a}) . _Default . _Coerce  -- | -- | The response status code. ddprsResponseStatus :: Lens' DescribeDocumentPermissionResponse Int-ddprsResponseStatus = lens _ddprsResponseStatus (\ s a -> s{_ddprsResponseStatus = a});+ddprsResponseStatus = lens _ddprsResponseStatus (\ s a -> s{_ddprsResponseStatus = a})  instance NFData DescribeDocumentPermissionResponse          where
gen/Network/AWS/SSM/DescribeEffectiveInstanceAssociations.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeEffectiveInstanceAssociations--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> DescribeEffectiveInstanceAssociations describeEffectiveInstanceAssociations pInstanceId_ =   DescribeEffectiveInstanceAssociations'-  { _deiaNextToken = Nothing-  , _deiaMaxResults = Nothing-  , _deiaInstanceId = pInstanceId_-  }+    { _deiaNextToken = Nothing+    , _deiaMaxResults = Nothing+    , _deiaInstanceId = pInstanceId_+    }   -- | The token for the next set of items to return. (You received this token from a previous call.) deiaNextToken :: Lens' DescribeEffectiveInstanceAssociations (Maybe Text)-deiaNextToken = lens _deiaNextToken (\ s a -> s{_deiaNextToken = a});+deiaNextToken = lens _deiaNextToken (\ s a -> s{_deiaNextToken = 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. deiaMaxResults :: Lens' DescribeEffectiveInstanceAssociations (Maybe Natural)-deiaMaxResults = lens _deiaMaxResults (\ s a -> s{_deiaMaxResults = a}) . mapping _Nat;+deiaMaxResults = lens _deiaMaxResults (\ s a -> s{_deiaMaxResults = a}) . mapping _Nat  -- | The instance ID for which you want to view all associations. deiaInstanceId :: Lens' DescribeEffectiveInstanceAssociations Text-deiaInstanceId = lens _deiaInstanceId (\ s a -> s{_deiaInstanceId = a});+deiaInstanceId = lens _deiaInstanceId (\ s a -> s{_deiaInstanceId = a})  instance AWSRequest            DescribeEffectiveInstanceAssociations@@ -160,23 +160,23 @@     -> DescribeEffectiveInstanceAssociationsResponse describeEffectiveInstanceAssociationsResponse pResponseStatus_ =   DescribeEffectiveInstanceAssociationsResponse'-  { _deiarsNextToken = Nothing-  , _deiarsAssociations = Nothing-  , _deiarsResponseStatus = pResponseStatus_-  }+    { _deiarsNextToken = Nothing+    , _deiarsAssociations = Nothing+    , _deiarsResponseStatus = pResponseStatus_+    }   -- | 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)-deiarsNextToken = lens _deiarsNextToken (\ s a -> s{_deiarsNextToken = a});+deiarsNextToken = lens _deiarsNextToken (\ s a -> s{_deiarsNextToken = a})  -- | The associations for the requested instance. deiarsAssociations :: Lens' DescribeEffectiveInstanceAssociationsResponse [InstanceAssociation]-deiarsAssociations = lens _deiarsAssociations (\ s a -> s{_deiarsAssociations = a}) . _Default . _Coerce;+deiarsAssociations = lens _deiarsAssociations (\ s a -> s{_deiarsAssociations = a}) . _Default . _Coerce  -- | -- | The response status code. deiarsResponseStatus :: Lens' DescribeEffectiveInstanceAssociationsResponse Int-deiarsResponseStatus = lens _deiarsResponseStatus (\ s a -> s{_deiarsResponseStatus = a});+deiarsResponseStatus = lens _deiarsResponseStatus (\ s a -> s{_deiarsResponseStatus = a})  instance NFData            DescribeEffectiveInstanceAssociationsResponse
gen/Network/AWS/SSM/DescribeEffectivePatchesForPatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeEffectivePatchesForPatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> DescribeEffectivePatchesForPatchBaseline describeEffectivePatchesForPatchBaseline pBaselineId_ =   DescribeEffectivePatchesForPatchBaseline'-  { _depfpbNextToken = Nothing-  , _depfpbMaxResults = Nothing-  , _depfpbBaselineId = pBaselineId_-  }+    { _depfpbNextToken = Nothing+    , _depfpbMaxResults = Nothing+    , _depfpbBaselineId = pBaselineId_+    }   -- | The token for the next set of items to return. (You received this token from a previous call.) depfpbNextToken :: Lens' DescribeEffectivePatchesForPatchBaseline (Maybe Text)-depfpbNextToken = lens _depfpbNextToken (\ s a -> s{_depfpbNextToken = a});+depfpbNextToken = lens _depfpbNextToken (\ s a -> s{_depfpbNextToken = a})  -- | The maximum number of patches to return (per page). depfpbMaxResults :: Lens' DescribeEffectivePatchesForPatchBaseline (Maybe Natural)-depfpbMaxResults = lens _depfpbMaxResults (\ s a -> s{_depfpbMaxResults = a}) . mapping _Nat;+depfpbMaxResults = lens _depfpbMaxResults (\ s a -> s{_depfpbMaxResults = a}) . mapping _Nat  -- | The ID of the patch baseline to retrieve the effective patches for. depfpbBaselineId :: Lens' DescribeEffectivePatchesForPatchBaseline Text-depfpbBaselineId = lens _depfpbBaselineId (\ s a -> s{_depfpbBaselineId = a});+depfpbBaselineId = lens _depfpbBaselineId (\ s a -> s{_depfpbBaselineId = a})  instance AWSRequest            DescribeEffectivePatchesForPatchBaseline@@ -163,23 +163,23 @@     -> DescribeEffectivePatchesForPatchBaselineResponse describeEffectivePatchesForPatchBaselineResponse pResponseStatus_ =   DescribeEffectivePatchesForPatchBaselineResponse'-  { _depfpbrsEffectivePatches = Nothing-  , _depfpbrsNextToken = Nothing-  , _depfpbrsResponseStatus = pResponseStatus_-  }+    { _depfpbrsEffectivePatches = Nothing+    , _depfpbrsNextToken = Nothing+    , _depfpbrsResponseStatus = pResponseStatus_+    }   -- | An array of patches and patch status. depfpbrsEffectivePatches :: Lens' DescribeEffectivePatchesForPatchBaselineResponse [EffectivePatch]-depfpbrsEffectivePatches = lens _depfpbrsEffectivePatches (\ s a -> s{_depfpbrsEffectivePatches = a}) . _Default . _Coerce;+depfpbrsEffectivePatches = lens _depfpbrsEffectivePatches (\ s a -> s{_depfpbrsEffectivePatches = a}) . _Default . _Coerce  -- | 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)-depfpbrsNextToken = lens _depfpbrsNextToken (\ s a -> s{_depfpbrsNextToken = a});+depfpbrsNextToken = lens _depfpbrsNextToken (\ s a -> s{_depfpbrsNextToken = a})  -- | -- | The response status code. depfpbrsResponseStatus :: Lens' DescribeEffectivePatchesForPatchBaselineResponse Int-depfpbrsResponseStatus = lens _depfpbrsResponseStatus (\ s a -> s{_depfpbrsResponseStatus = a});+depfpbrsResponseStatus = lens _depfpbrsResponseStatus (\ s a -> s{_depfpbrsResponseStatus = a})  instance NFData            DescribeEffectivePatchesForPatchBaselineResponse
gen/Network/AWS/SSM/DescribeInstanceAssociationsStatus.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeInstanceAssociationsStatus--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> DescribeInstanceAssociationsStatus describeInstanceAssociationsStatus pInstanceId_ =   DescribeInstanceAssociationsStatus'-  { _diasNextToken = Nothing-  , _diasMaxResults = Nothing-  , _diasInstanceId = pInstanceId_-  }+    { _diasNextToken = Nothing+    , _diasMaxResults = Nothing+    , _diasInstanceId = pInstanceId_+    }   -- | The token for the next set of items to return. (You received this token from a previous call.) diasNextToken :: Lens' DescribeInstanceAssociationsStatus (Maybe Text)-diasNextToken = lens _diasNextToken (\ s a -> s{_diasNextToken = a});+diasNextToken = lens _diasNextToken (\ s a -> s{_diasNextToken = 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. diasMaxResults :: Lens' DescribeInstanceAssociationsStatus (Maybe Natural)-diasMaxResults = lens _diasMaxResults (\ s a -> s{_diasMaxResults = a}) . mapping _Nat;+diasMaxResults = lens _diasMaxResults (\ s a -> s{_diasMaxResults = a}) . mapping _Nat  -- | The instance IDs for which you want association status information. diasInstanceId :: Lens' DescribeInstanceAssociationsStatus Text-diasInstanceId = lens _diasInstanceId (\ s a -> s{_diasInstanceId = a});+diasInstanceId = lens _diasInstanceId (\ s a -> s{_diasInstanceId = a})  instance AWSRequest            DescribeInstanceAssociationsStatus@@ -157,23 +157,23 @@     -> DescribeInstanceAssociationsStatusResponse describeInstanceAssociationsStatusResponse pResponseStatus_ =   DescribeInstanceAssociationsStatusResponse'-  { _diasrsInstanceAssociationStatusInfos = Nothing-  , _diasrsNextToken = Nothing-  , _diasrsResponseStatus = pResponseStatus_-  }+    { _diasrsInstanceAssociationStatusInfos = Nothing+    , _diasrsNextToken = Nothing+    , _diasrsResponseStatus = pResponseStatus_+    }   -- | Status information about the association. diasrsInstanceAssociationStatusInfos :: Lens' DescribeInstanceAssociationsStatusResponse [InstanceAssociationStatusInfo]-diasrsInstanceAssociationStatusInfos = lens _diasrsInstanceAssociationStatusInfos (\ s a -> s{_diasrsInstanceAssociationStatusInfos = a}) . _Default . _Coerce;+diasrsInstanceAssociationStatusInfos = lens _diasrsInstanceAssociationStatusInfos (\ s a -> s{_diasrsInstanceAssociationStatusInfos = a}) . _Default . _Coerce  -- | 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)-diasrsNextToken = lens _diasrsNextToken (\ s a -> s{_diasrsNextToken = a});+diasrsNextToken = lens _diasrsNextToken (\ s a -> s{_diasrsNextToken = a})  -- | -- | The response status code. diasrsResponseStatus :: Lens' DescribeInstanceAssociationsStatusResponse Int-diasrsResponseStatus = lens _diasrsResponseStatus (\ s a -> s{_diasrsResponseStatus = a});+diasrsResponseStatus = lens _diasrsResponseStatus (\ s a -> s{_diasrsResponseStatus = a})  instance NFData            DescribeInstanceAssociationsStatusResponse
gen/Network/AWS/SSM/DescribeInstanceInformation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeInstanceInformation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -75,28 +75,28 @@     :: DescribeInstanceInformation describeInstanceInformation =   DescribeInstanceInformation'-  { _diiInstanceInformationFilterList = Nothing-  , _diiFilters = Nothing-  , _diiNextToken = Nothing-  , _diiMaxResults = Nothing-  }+    { _diiInstanceInformationFilterList = Nothing+    , _diiFilters = Nothing+    , _diiNextToken = Nothing+    , _diiMaxResults = Nothing+    }   -- | One or more filters. Use a filter to return a more specific list of instances. diiInstanceInformationFilterList :: Lens' DescribeInstanceInformation [InstanceInformationFilter]-diiInstanceInformationFilterList = lens _diiInstanceInformationFilterList (\ s a -> s{_diiInstanceInformationFilterList = a}) . _Default . _Coerce;+diiInstanceInformationFilterList = lens _diiInstanceInformationFilterList (\ s a -> s{_diiInstanceInformationFilterList = a}) . _Default . _Coerce  -- | One or more filters. Use a filter to return a more specific list of instances. diiFilters :: Lens' DescribeInstanceInformation [InstanceInformationStringFilter]-diiFilters = lens _diiFilters (\ s a -> s{_diiFilters = a}) . _Default . _Coerce;+diiFilters = lens _diiFilters (\ s a -> s{_diiFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) diiNextToken :: Lens' DescribeInstanceInformation (Maybe Text)-diiNextToken = lens _diiNextToken (\ s a -> s{_diiNextToken = a});+diiNextToken = lens _diiNextToken (\ s a -> s{_diiNextToken = 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. diiMaxResults :: Lens' DescribeInstanceInformation (Maybe Natural)-diiMaxResults = lens _diiMaxResults (\ s a -> s{_diiMaxResults = a}) . mapping _Nat;+diiMaxResults = lens _diiMaxResults (\ s a -> s{_diiMaxResults = a}) . mapping _Nat  instance AWSPager DescribeInstanceInformation where         page rq rs@@ -169,23 +169,23 @@     -> DescribeInstanceInformationResponse describeInstanceInformationResponse pResponseStatus_ =   DescribeInstanceInformationResponse'-  { _diirsNextToken = Nothing-  , _diirsInstanceInformationList = Nothing-  , _diirsResponseStatus = pResponseStatus_-  }+    { _diirsNextToken = Nothing+    , _diirsInstanceInformationList = Nothing+    , _diirsResponseStatus = pResponseStatus_+    }   -- | 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)-diirsNextToken = lens _diirsNextToken (\ s a -> s{_diirsNextToken = a});+diirsNextToken = lens _diirsNextToken (\ s a -> s{_diirsNextToken = a})  -- | The instance information list. diirsInstanceInformationList :: Lens' DescribeInstanceInformationResponse [InstanceInformation]-diirsInstanceInformationList = lens _diirsInstanceInformationList (\ s a -> s{_diirsInstanceInformationList = a}) . _Default . _Coerce;+diirsInstanceInformationList = lens _diirsInstanceInformationList (\ s a -> s{_diirsInstanceInformationList = a}) . _Default . _Coerce  -- | -- | The response status code. diirsResponseStatus :: Lens' DescribeInstanceInformationResponse Int-diirsResponseStatus = lens _diirsResponseStatus (\ s a -> s{_diirsResponseStatus = a});+diirsResponseStatus = lens _diirsResponseStatus (\ s a -> s{_diirsResponseStatus = a})  instance NFData DescribeInstanceInformationResponse          where
gen/Network/AWS/SSM/DescribeInstancePatchStates.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeInstancePatchStates--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,23 +68,23 @@     :: DescribeInstancePatchStates describeInstancePatchStates =   DescribeInstancePatchStates'-  { _dipsNextToken = Nothing-  , _dipsMaxResults = Nothing-  , _dipsInstanceIds = mempty-  }+    { _dipsNextToken = Nothing+    , _dipsMaxResults = Nothing+    , _dipsInstanceIds = mempty+    }   -- | The token for the next set of items to return. (You received this token from a previous call.) dipsNextToken :: Lens' DescribeInstancePatchStates (Maybe Text)-dipsNextToken = lens _dipsNextToken (\ s a -> s{_dipsNextToken = a});+dipsNextToken = lens _dipsNextToken (\ s a -> s{_dipsNextToken = a})  -- | The maximum number of instances to return (per page). dipsMaxResults :: Lens' DescribeInstancePatchStates (Maybe Natural)-dipsMaxResults = lens _dipsMaxResults (\ s a -> s{_dipsMaxResults = a}) . mapping _Nat;+dipsMaxResults = lens _dipsMaxResults (\ s a -> s{_dipsMaxResults = a}) . mapping _Nat  -- | The ID of the instance whose patch state information should be retrieved. dipsInstanceIds :: Lens' DescribeInstancePatchStates [Text]-dipsInstanceIds = lens _dipsInstanceIds (\ s a -> s{_dipsInstanceIds = a}) . _Coerce;+dipsInstanceIds = lens _dipsInstanceIds (\ s a -> s{_dipsInstanceIds = a}) . _Coerce  instance AWSRequest DescribeInstancePatchStates where         type Rs DescribeInstancePatchStates =@@ -148,23 +148,23 @@     -> DescribeInstancePatchStatesResponse describeInstancePatchStatesResponse pResponseStatus_ =   DescribeInstancePatchStatesResponse'-  { _dipsrsNextToken = Nothing-  , _dipsrsInstancePatchStates = Nothing-  , _dipsrsResponseStatus = pResponseStatus_-  }+    { _dipsrsNextToken = Nothing+    , _dipsrsInstancePatchStates = Nothing+    , _dipsrsResponseStatus = pResponseStatus_+    }   -- | 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)-dipsrsNextToken = lens _dipsrsNextToken (\ s a -> s{_dipsrsNextToken = a});+dipsrsNextToken = lens _dipsrsNextToken (\ s a -> s{_dipsrsNextToken = a})  -- | The high-level patch state for the requested instances. dipsrsInstancePatchStates :: Lens' DescribeInstancePatchStatesResponse [InstancePatchState]-dipsrsInstancePatchStates = lens _dipsrsInstancePatchStates (\ s a -> s{_dipsrsInstancePatchStates = a}) . _Default . _Coerce;+dipsrsInstancePatchStates = lens _dipsrsInstancePatchStates (\ s a -> s{_dipsrsInstancePatchStates = a}) . _Default . _Coerce  -- | -- | The response status code. dipsrsResponseStatus :: Lens' DescribeInstancePatchStatesResponse Int-dipsrsResponseStatus = lens _dipsrsResponseStatus (\ s a -> s{_dipsrsResponseStatus = a});+dipsrsResponseStatus = lens _dipsrsResponseStatus (\ s a -> s{_dipsrsResponseStatus = a})  instance NFData DescribeInstancePatchStatesResponse          where
gen/Network/AWS/SSM/DescribeInstancePatchStatesForPatchGroup.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeInstancePatchStatesForPatchGroup--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> DescribeInstancePatchStatesForPatchGroup describeInstancePatchStatesForPatchGroup pPatchGroup_ =   DescribeInstancePatchStatesForPatchGroup'-  { _dipsfpgFilters = Nothing-  , _dipsfpgNextToken = Nothing-  , _dipsfpgMaxResults = Nothing-  , _dipsfpgPatchGroup = pPatchGroup_-  }+    { _dipsfpgFilters = Nothing+    , _dipsfpgNextToken = Nothing+    , _dipsfpgMaxResults = Nothing+    , _dipsfpgPatchGroup = pPatchGroup_+    }   -- | Each entry in the array is a structure containing: Key (string between 1 and 200 characters) Values (array containing a single string) Type (string "Equal", "NotEqual", "LessThan", "GreaterThan") dipsfpgFilters :: Lens' DescribeInstancePatchStatesForPatchGroup [InstancePatchStateFilter]-dipsfpgFilters = lens _dipsfpgFilters (\ s a -> s{_dipsfpgFilters = a}) . _Default . _Coerce;+dipsfpgFilters = lens _dipsfpgFilters (\ s a -> s{_dipsfpgFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dipsfpgNextToken :: Lens' DescribeInstancePatchStatesForPatchGroup (Maybe Text)-dipsfpgNextToken = lens _dipsfpgNextToken (\ s a -> s{_dipsfpgNextToken = a});+dipsfpgNextToken = lens _dipsfpgNextToken (\ s a -> s{_dipsfpgNextToken = a})  -- | The maximum number of patches to return (per page). dipsfpgMaxResults :: Lens' DescribeInstancePatchStatesForPatchGroup (Maybe Natural)-dipsfpgMaxResults = lens _dipsfpgMaxResults (\ s a -> s{_dipsfpgMaxResults = a}) . mapping _Nat;+dipsfpgMaxResults = lens _dipsfpgMaxResults (\ s a -> s{_dipsfpgMaxResults = a}) . mapping _Nat  -- | The name of the patch group for which the patch state information should be retrieved. dipsfpgPatchGroup :: Lens' DescribeInstancePatchStatesForPatchGroup Text-dipsfpgPatchGroup = lens _dipsfpgPatchGroup (\ s a -> s{_dipsfpgPatchGroup = a});+dipsfpgPatchGroup = lens _dipsfpgPatchGroup (\ s a -> s{_dipsfpgPatchGroup = a})  instance AWSRequest            DescribeInstancePatchStatesForPatchGroup@@ -172,23 +172,23 @@     -> DescribeInstancePatchStatesForPatchGroupResponse describeInstancePatchStatesForPatchGroupResponse pResponseStatus_ =   DescribeInstancePatchStatesForPatchGroupResponse'-  { _dipsfpgrsNextToken = Nothing-  , _dipsfpgrsInstancePatchStates = Nothing-  , _dipsfpgrsResponseStatus = pResponseStatus_-  }+    { _dipsfpgrsNextToken = Nothing+    , _dipsfpgrsInstancePatchStates = Nothing+    , _dipsfpgrsResponseStatus = pResponseStatus_+    }   -- | 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)-dipsfpgrsNextToken = lens _dipsfpgrsNextToken (\ s a -> s{_dipsfpgrsNextToken = a});+dipsfpgrsNextToken = lens _dipsfpgrsNextToken (\ s a -> s{_dipsfpgrsNextToken = a})  -- | The high-level patch state for the requested instances. dipsfpgrsInstancePatchStates :: Lens' DescribeInstancePatchStatesForPatchGroupResponse (Maybe (NonEmpty InstancePatchState))-dipsfpgrsInstancePatchStates = lens _dipsfpgrsInstancePatchStates (\ s a -> s{_dipsfpgrsInstancePatchStates = a}) . mapping _List1;+dipsfpgrsInstancePatchStates = lens _dipsfpgrsInstancePatchStates (\ s a -> s{_dipsfpgrsInstancePatchStates = a}) . mapping _List1  -- | -- | The response status code. dipsfpgrsResponseStatus :: Lens' DescribeInstancePatchStatesForPatchGroupResponse Int-dipsfpgrsResponseStatus = lens _dipsfpgrsResponseStatus (\ s a -> s{_dipsfpgrsResponseStatus = a});+dipsfpgrsResponseStatus = lens _dipsfpgrsResponseStatus (\ s a -> s{_dipsfpgrsResponseStatus = a})  instance NFData            DescribeInstancePatchStatesForPatchGroupResponse
gen/Network/AWS/SSM/DescribeInstancePatches.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeInstancePatches--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> DescribeInstancePatches describeInstancePatches pInstanceId_ =   DescribeInstancePatches'-  { _dipFilters = Nothing-  , _dipNextToken = Nothing-  , _dipMaxResults = Nothing-  , _dipInstanceId = pInstanceId_-  }+    { _dipFilters = Nothing+    , _dipNextToken = Nothing+    , _dipMaxResults = Nothing+    , _dipInstanceId = pInstanceId_+    }   -- | 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]-dipFilters = lens _dipFilters (\ s a -> s{_dipFilters = a}) . _Default . _Coerce;+dipFilters = lens _dipFilters (\ s a -> s{_dipFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dipNextToken :: Lens' DescribeInstancePatches (Maybe Text)-dipNextToken = lens _dipNextToken (\ s a -> s{_dipNextToken = a});+dipNextToken = lens _dipNextToken (\ s a -> s{_dipNextToken = a})  -- | The maximum number of patches to return (per page). dipMaxResults :: Lens' DescribeInstancePatches (Maybe Natural)-dipMaxResults = lens _dipMaxResults (\ s a -> s{_dipMaxResults = a}) . mapping _Nat;+dipMaxResults = lens _dipMaxResults (\ s a -> s{_dipMaxResults = a}) . mapping _Nat  -- | The ID of the instance whose patch state information should be retrieved. dipInstanceId :: Lens' DescribeInstancePatches Text-dipInstanceId = lens _dipInstanceId (\ s a -> s{_dipInstanceId = a});+dipInstanceId = lens _dipInstanceId (\ s a -> s{_dipInstanceId = a})  instance AWSRequest DescribeInstancePatches where         type Rs DescribeInstancePatches =@@ -157,22 +157,22 @@     -> DescribeInstancePatchesResponse describeInstancePatchesResponse pResponseStatus_ =   DescribeInstancePatchesResponse'-  { _diprsPatches = Nothing-  , _diprsNextToken = Nothing-  , _diprsResponseStatus = pResponseStatus_-  }+    { _diprsPatches = Nothing+    , _diprsNextToken = Nothing+    , _diprsResponseStatus = pResponseStatus_+    }   -- | Each entry in the array is a structure containing: Title (string) KBId (string) Classification (string) Severity (string) State (string: "INSTALLED", "INSTALLED OTHER", "MISSING", "NOT APPLICABLE", "FAILED") InstalledTime (DateTime) InstalledBy (string) diprsPatches :: Lens' DescribeInstancePatchesResponse [PatchComplianceData]-diprsPatches = lens _diprsPatches (\ s a -> s{_diprsPatches = a}) . _Default . _Coerce;+diprsPatches = lens _diprsPatches (\ s a -> s{_diprsPatches = a}) . _Default . _Coerce  -- | 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)-diprsNextToken = lens _diprsNextToken (\ s a -> s{_diprsNextToken = a});+diprsNextToken = lens _diprsNextToken (\ s a -> s{_diprsNextToken = a})  -- | -- | The response status code. diprsResponseStatus :: Lens' DescribeInstancePatchesResponse Int-diprsResponseStatus = lens _diprsResponseStatus (\ s a -> s{_diprsResponseStatus = a});+diprsResponseStatus = lens _diprsResponseStatus (\ s a -> s{_diprsResponseStatus = a})  instance NFData DescribeInstancePatchesResponse where
+ gen/Network/AWS/SSM/DescribeInventoryDeletions.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.SSM.DescribeInventoryDeletions+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a specific delete inventory operation.+--+--+module Network.AWS.SSM.DescribeInventoryDeletions+    (+    -- * Creating a Request+      describeInventoryDeletions+    , DescribeInventoryDeletions+    -- * Request Lenses+    , didNextToken+    , didMaxResults+    , didDeletionId++    -- * Destructuring the Response+    , describeInventoryDeletionsResponse+    , DescribeInventoryDeletionsResponse+    -- * Response Lenses+    , didrsInventoryDeletions+    , didrsNextToken+    , didrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.SSM.Types+import Network.AWS.SSM.Types.Product++-- | /See:/ 'describeInventoryDeletions' smart constructor.+data DescribeInventoryDeletions = DescribeInventoryDeletions'+  { _didNextToken  :: !(Maybe Text)+  , _didMaxResults :: !(Maybe Nat)+  , _didDeletionId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeInventoryDeletions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'didNextToken' - A token to start the list. Use this token to get the next set of results.+--+-- * 'didMaxResults' - 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.+--+-- * 'didDeletionId' - Specify the delete inventory ID for which you want information. This ID was returned by the @DeleteInventory@ action.+describeInventoryDeletions+    :: DescribeInventoryDeletions+describeInventoryDeletions =+  DescribeInventoryDeletions'+    { _didNextToken = Nothing+    , _didMaxResults = Nothing+    , _didDeletionId = Nothing+    }+++-- | A token to start the list. Use this token to get the next set of results.+didNextToken :: Lens' DescribeInventoryDeletions (Maybe Text)+didNextToken = lens _didNextToken (\ s a -> s{_didNextToken = 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.+didMaxResults :: Lens' DescribeInventoryDeletions (Maybe Natural)+didMaxResults = lens _didMaxResults (\ s a -> s{_didMaxResults = a}) . mapping _Nat++-- | Specify the delete inventory ID for which you want information. This ID was returned by the @DeleteInventory@ action.+didDeletionId :: Lens' DescribeInventoryDeletions (Maybe Text)+didDeletionId = lens _didDeletionId (\ s a -> s{_didDeletionId = a})++instance AWSRequest DescribeInventoryDeletions where+        type Rs DescribeInventoryDeletions =+             DescribeInventoryDeletionsResponse+        request = postJSON ssm+        response+          = receiveJSON+              (\ s h x ->+                 DescribeInventoryDeletionsResponse' <$>+                   (x .?> "InventoryDeletions" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable DescribeInventoryDeletions where++instance NFData DescribeInventoryDeletions where++instance ToHeaders DescribeInventoryDeletions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonSSM.DescribeInventoryDeletions" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeInventoryDeletions where+        toJSON DescribeInventoryDeletions'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _didNextToken,+                  ("MaxResults" .=) <$> _didMaxResults,+                  ("DeletionId" .=) <$> _didDeletionId])++instance ToPath DescribeInventoryDeletions where+        toPath = const "/"++instance ToQuery DescribeInventoryDeletions where+        toQuery = const mempty++-- | /See:/ 'describeInventoryDeletionsResponse' smart constructor.+data DescribeInventoryDeletionsResponse = DescribeInventoryDeletionsResponse'+  { _didrsInventoryDeletions :: !(Maybe [InventoryDeletionStatusItem])+  , _didrsNextToken          :: !(Maybe Text)+  , _didrsResponseStatus     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeInventoryDeletionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'didrsInventoryDeletions' - A list of status items for deleted inventory.+--+-- * 'didrsNextToken' - The token for the next set of items to return. Use this token to get the next set of results.+--+-- * 'didrsResponseStatus' - -- | The response status code.+describeInventoryDeletionsResponse+    :: Int -- ^ 'didrsResponseStatus'+    -> DescribeInventoryDeletionsResponse+describeInventoryDeletionsResponse pResponseStatus_ =+  DescribeInventoryDeletionsResponse'+    { _didrsInventoryDeletions = Nothing+    , _didrsNextToken = Nothing+    , _didrsResponseStatus = pResponseStatus_+    }+++-- | A list of status items for deleted inventory.+didrsInventoryDeletions :: Lens' DescribeInventoryDeletionsResponse [InventoryDeletionStatusItem]+didrsInventoryDeletions = lens _didrsInventoryDeletions (\ s a -> s{_didrsInventoryDeletions = a}) . _Default . _Coerce++-- | 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)+didrsNextToken = lens _didrsNextToken (\ s a -> s{_didrsNextToken = a})++-- | -- | The response status code.+didrsResponseStatus :: Lens' DescribeInventoryDeletionsResponse Int+didrsResponseStatus = lens _didrsResponseStatus (\ s a -> s{_didrsResponseStatus = a})++instance NFData DescribeInventoryDeletionsResponse+         where
gen/Network/AWS/SSM/DescribeMaintenanceWindowExecutionTaskInvocations.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeMaintenanceWindowExecutionTaskInvocations--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -78,33 +78,33 @@     -> DescribeMaintenanceWindowExecutionTaskInvocations describeMaintenanceWindowExecutionTaskInvocations pWindowExecutionId_ pTaskId_ =   DescribeMaintenanceWindowExecutionTaskInvocations'-  { _dmwetiFilters = Nothing-  , _dmwetiNextToken = Nothing-  , _dmwetiMaxResults = Nothing-  , _dmwetiWindowExecutionId = pWindowExecutionId_-  , _dmwetiTaskId = pTaskId_-  }+    { _dmwetiFilters = Nothing+    , _dmwetiNextToken = Nothing+    , _dmwetiMaxResults = Nothing+    , _dmwetiWindowExecutionId = pWindowExecutionId_+    , _dmwetiTaskId = pTaskId_+    }   -- | 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]-dmwetiFilters = lens _dmwetiFilters (\ s a -> s{_dmwetiFilters = a}) . _Default . _Coerce;+dmwetiFilters = lens _dmwetiFilters (\ s a -> s{_dmwetiFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dmwetiNextToken :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations (Maybe Text)-dmwetiNextToken = lens _dmwetiNextToken (\ s a -> s{_dmwetiNextToken = a});+dmwetiNextToken = lens _dmwetiNextToken (\ s a -> s{_dmwetiNextToken = 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. dmwetiMaxResults :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations (Maybe Natural)-dmwetiMaxResults = lens _dmwetiMaxResults (\ s a -> s{_dmwetiMaxResults = a}) . mapping _Nat;+dmwetiMaxResults = lens _dmwetiMaxResults (\ s a -> s{_dmwetiMaxResults = a}) . mapping _Nat  -- | The ID of the Maintenance Window execution the task is part of. dmwetiWindowExecutionId :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations Text-dmwetiWindowExecutionId = lens _dmwetiWindowExecutionId (\ s a -> s{_dmwetiWindowExecutionId = a});+dmwetiWindowExecutionId = lens _dmwetiWindowExecutionId (\ s a -> s{_dmwetiWindowExecutionId = a})  -- | The ID of the specific task in the Maintenance Window task that should be retrieved. dmwetiTaskId :: Lens' DescribeMaintenanceWindowExecutionTaskInvocations Text-dmwetiTaskId = lens _dmwetiTaskId (\ s a -> s{_dmwetiTaskId = a});+dmwetiTaskId = lens _dmwetiTaskId (\ s a -> s{_dmwetiTaskId = a})  instance AWSRequest            DescribeMaintenanceWindowExecutionTaskInvocations@@ -190,23 +190,23 @@     -> DescribeMaintenanceWindowExecutionTaskInvocationsResponse describeMaintenanceWindowExecutionTaskInvocationsResponse pResponseStatus_ =   DescribeMaintenanceWindowExecutionTaskInvocationsResponse'-  { _dmwetirsWindowExecutionTaskInvocationIdentities = Nothing-  , _dmwetirsNextToken = Nothing-  , _dmwetirsResponseStatus = pResponseStatus_-  }+    { _dmwetirsWindowExecutionTaskInvocationIdentities = Nothing+    , _dmwetirsNextToken = Nothing+    , _dmwetirsResponseStatus = pResponseStatus_+    }   -- | Information about the task invocation results per invocation. dmwetirsWindowExecutionTaskInvocationIdentities :: Lens' DescribeMaintenanceWindowExecutionTaskInvocationsResponse [MaintenanceWindowExecutionTaskInvocationIdentity]-dmwetirsWindowExecutionTaskInvocationIdentities = lens _dmwetirsWindowExecutionTaskInvocationIdentities (\ s a -> s{_dmwetirsWindowExecutionTaskInvocationIdentities = a}) . _Default . _Coerce;+dmwetirsWindowExecutionTaskInvocationIdentities = lens _dmwetirsWindowExecutionTaskInvocationIdentities (\ s a -> s{_dmwetirsWindowExecutionTaskInvocationIdentities = a}) . _Default . _Coerce  -- | 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)-dmwetirsNextToken = lens _dmwetirsNextToken (\ s a -> s{_dmwetirsNextToken = a});+dmwetirsNextToken = lens _dmwetirsNextToken (\ s a -> s{_dmwetirsNextToken = a})  -- | -- | The response status code. dmwetirsResponseStatus :: Lens' DescribeMaintenanceWindowExecutionTaskInvocationsResponse Int-dmwetirsResponseStatus = lens _dmwetirsResponseStatus (\ s a -> s{_dmwetirsResponseStatus = a});+dmwetirsResponseStatus = lens _dmwetirsResponseStatus (\ s a -> s{_dmwetirsResponseStatus = a})  instance NFData            DescribeMaintenanceWindowExecutionTaskInvocationsResponse
gen/Network/AWS/SSM/DescribeMaintenanceWindowExecutionTasks.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeMaintenanceWindowExecutionTasks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> DescribeMaintenanceWindowExecutionTasks describeMaintenanceWindowExecutionTasks pWindowExecutionId_ =   DescribeMaintenanceWindowExecutionTasks'-  { _dmwetFilters = Nothing-  , _dmwetNextToken = Nothing-  , _dmwetMaxResults = Nothing-  , _dmwetWindowExecutionId = pWindowExecutionId_-  }+    { _dmwetFilters = Nothing+    , _dmwetNextToken = Nothing+    , _dmwetMaxResults = Nothing+    , _dmwetWindowExecutionId = pWindowExecutionId_+    }   -- | 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]-dmwetFilters = lens _dmwetFilters (\ s a -> s{_dmwetFilters = a}) . _Default . _Coerce;+dmwetFilters = lens _dmwetFilters (\ s a -> s{_dmwetFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dmwetNextToken :: Lens' DescribeMaintenanceWindowExecutionTasks (Maybe Text)-dmwetNextToken = lens _dmwetNextToken (\ s a -> s{_dmwetNextToken = a});+dmwetNextToken = lens _dmwetNextToken (\ s a -> s{_dmwetNextToken = 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. dmwetMaxResults :: Lens' DescribeMaintenanceWindowExecutionTasks (Maybe Natural)-dmwetMaxResults = lens _dmwetMaxResults (\ s a -> s{_dmwetMaxResults = a}) . mapping _Nat;+dmwetMaxResults = lens _dmwetMaxResults (\ s a -> s{_dmwetMaxResults = a}) . mapping _Nat  -- | The ID of the Maintenance Window execution whose task executions should be retrieved. dmwetWindowExecutionId :: Lens' DescribeMaintenanceWindowExecutionTasks Text-dmwetWindowExecutionId = lens _dmwetWindowExecutionId (\ s a -> s{_dmwetWindowExecutionId = a});+dmwetWindowExecutionId = lens _dmwetWindowExecutionId (\ s a -> s{_dmwetWindowExecutionId = a})  instance AWSRequest            DescribeMaintenanceWindowExecutionTasks@@ -174,23 +174,23 @@     -> DescribeMaintenanceWindowExecutionTasksResponse describeMaintenanceWindowExecutionTasksResponse pResponseStatus_ =   DescribeMaintenanceWindowExecutionTasksResponse'-  { _dmwetrsNextToken = Nothing-  , _dmwetrsWindowExecutionTaskIdentities = Nothing-  , _dmwetrsResponseStatus = pResponseStatus_-  }+    { _dmwetrsNextToken = Nothing+    , _dmwetrsWindowExecutionTaskIdentities = Nothing+    , _dmwetrsResponseStatus = pResponseStatus_+    }   -- | 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)-dmwetrsNextToken = lens _dmwetrsNextToken (\ s a -> s{_dmwetrsNextToken = a});+dmwetrsNextToken = lens _dmwetrsNextToken (\ s a -> s{_dmwetrsNextToken = a})  -- | Information about the task executions. dmwetrsWindowExecutionTaskIdentities :: Lens' DescribeMaintenanceWindowExecutionTasksResponse [MaintenanceWindowExecutionTaskIdentity]-dmwetrsWindowExecutionTaskIdentities = lens _dmwetrsWindowExecutionTaskIdentities (\ s a -> s{_dmwetrsWindowExecutionTaskIdentities = a}) . _Default . _Coerce;+dmwetrsWindowExecutionTaskIdentities = lens _dmwetrsWindowExecutionTaskIdentities (\ s a -> s{_dmwetrsWindowExecutionTaskIdentities = a}) . _Default . _Coerce  -- | -- | The response status code. dmwetrsResponseStatus :: Lens' DescribeMaintenanceWindowExecutionTasksResponse Int-dmwetrsResponseStatus = lens _dmwetrsResponseStatus (\ s a -> s{_dmwetrsResponseStatus = a});+dmwetrsResponseStatus = lens _dmwetrsResponseStatus (\ s a -> s{_dmwetrsResponseStatus = a})  instance NFData            DescribeMaintenanceWindowExecutionTasksResponse
gen/Network/AWS/SSM/DescribeMaintenanceWindowExecutions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeMaintenanceWindowExecutions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> DescribeMaintenanceWindowExecutions describeMaintenanceWindowExecutions pWindowId_ =   DescribeMaintenanceWindowExecutions'-  { _dmweFilters = Nothing-  , _dmweNextToken = Nothing-  , _dmweMaxResults = Nothing-  , _dmweWindowId = pWindowId_-  }+    { _dmweFilters = Nothing+    , _dmweNextToken = Nothing+    , _dmweMaxResults = Nothing+    , _dmweWindowId = pWindowId_+    }   -- | 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]-dmweFilters = lens _dmweFilters (\ s a -> s{_dmweFilters = a}) . _Default . _Coerce;+dmweFilters = lens _dmweFilters (\ s a -> s{_dmweFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dmweNextToken :: Lens' DescribeMaintenanceWindowExecutions (Maybe Text)-dmweNextToken = lens _dmweNextToken (\ s a -> s{_dmweNextToken = a});+dmweNextToken = lens _dmweNextToken (\ s a -> s{_dmweNextToken = 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. dmweMaxResults :: Lens' DescribeMaintenanceWindowExecutions (Maybe Natural)-dmweMaxResults = lens _dmweMaxResults (\ s a -> s{_dmweMaxResults = a}) . mapping _Nat;+dmweMaxResults = lens _dmweMaxResults (\ s a -> s{_dmweMaxResults = a}) . mapping _Nat  -- | The ID of the Maintenance Window whose executions should be retrieved. dmweWindowId :: Lens' DescribeMaintenanceWindowExecutions Text-dmweWindowId = lens _dmweWindowId (\ s a -> s{_dmweWindowId = a});+dmweWindowId = lens _dmweWindowId (\ s a -> s{_dmweWindowId = a})  instance AWSRequest            DescribeMaintenanceWindowExecutions@@ -168,23 +168,23 @@     -> DescribeMaintenanceWindowExecutionsResponse describeMaintenanceWindowExecutionsResponse pResponseStatus_ =   DescribeMaintenanceWindowExecutionsResponse'-  { _dmwersWindowExecutions = Nothing-  , _dmwersNextToken = Nothing-  , _dmwersResponseStatus = pResponseStatus_-  }+    { _dmwersWindowExecutions = Nothing+    , _dmwersNextToken = Nothing+    , _dmwersResponseStatus = pResponseStatus_+    }   -- | Information about the Maintenance Windows execution. dmwersWindowExecutions :: Lens' DescribeMaintenanceWindowExecutionsResponse [MaintenanceWindowExecution]-dmwersWindowExecutions = lens _dmwersWindowExecutions (\ s a -> s{_dmwersWindowExecutions = a}) . _Default . _Coerce;+dmwersWindowExecutions = lens _dmwersWindowExecutions (\ s a -> s{_dmwersWindowExecutions = a}) . _Default . _Coerce  -- | 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)-dmwersNextToken = lens _dmwersNextToken (\ s a -> s{_dmwersNextToken = a});+dmwersNextToken = lens _dmwersNextToken (\ s a -> s{_dmwersNextToken = a})  -- | -- | The response status code. dmwersResponseStatus :: Lens' DescribeMaintenanceWindowExecutionsResponse Int-dmwersResponseStatus = lens _dmwersResponseStatus (\ s a -> s{_dmwersResponseStatus = a});+dmwersResponseStatus = lens _dmwersResponseStatus (\ s a -> s{_dmwersResponseStatus = a})  instance NFData            DescribeMaintenanceWindowExecutionsResponse
gen/Network/AWS/SSM/DescribeMaintenanceWindowTargets.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeMaintenanceWindowTargets--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> DescribeMaintenanceWindowTargets describeMaintenanceWindowTargets pWindowId_ =   DescribeMaintenanceWindowTargets'-  { _dmwtFilters = Nothing-  , _dmwtNextToken = Nothing-  , _dmwtMaxResults = Nothing-  , _dmwtWindowId = pWindowId_-  }+    { _dmwtFilters = Nothing+    , _dmwtNextToken = Nothing+    , _dmwtMaxResults = Nothing+    , _dmwtWindowId = pWindowId_+    }   -- | 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]-dmwtFilters = lens _dmwtFilters (\ s a -> s{_dmwtFilters = a}) . _Default . _Coerce;+dmwtFilters = lens _dmwtFilters (\ s a -> s{_dmwtFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dmwtNextToken :: Lens' DescribeMaintenanceWindowTargets (Maybe Text)-dmwtNextToken = lens _dmwtNextToken (\ s a -> s{_dmwtNextToken = a});+dmwtNextToken = lens _dmwtNextToken (\ s a -> s{_dmwtNextToken = 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. dmwtMaxResults :: Lens' DescribeMaintenanceWindowTargets (Maybe Natural)-dmwtMaxResults = lens _dmwtMaxResults (\ s a -> s{_dmwtMaxResults = a}) . mapping _Nat;+dmwtMaxResults = lens _dmwtMaxResults (\ s a -> s{_dmwtMaxResults = a}) . mapping _Nat  -- | The ID of the Maintenance Window whose targets should be retrieved. dmwtWindowId :: Lens' DescribeMaintenanceWindowTargets Text-dmwtWindowId = lens _dmwtWindowId (\ s a -> s{_dmwtWindowId = a});+dmwtWindowId = lens _dmwtWindowId (\ s a -> s{_dmwtWindowId = a})  instance AWSRequest DescribeMaintenanceWindowTargets          where@@ -165,23 +165,23 @@     -> DescribeMaintenanceWindowTargetsResponse describeMaintenanceWindowTargetsResponse pResponseStatus_ =   DescribeMaintenanceWindowTargetsResponse'-  { _dmwtrsNextToken = Nothing-  , _dmwtrsTargets = Nothing-  , _dmwtrsResponseStatus = pResponseStatus_-  }+    { _dmwtrsNextToken = Nothing+    , _dmwtrsTargets = Nothing+    , _dmwtrsResponseStatus = pResponseStatus_+    }   -- | 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)-dmwtrsNextToken = lens _dmwtrsNextToken (\ s a -> s{_dmwtrsNextToken = a});+dmwtrsNextToken = lens _dmwtrsNextToken (\ s a -> s{_dmwtrsNextToken = a})  -- | Information about the targets in the Maintenance Window. dmwtrsTargets :: Lens' DescribeMaintenanceWindowTargetsResponse [MaintenanceWindowTarget]-dmwtrsTargets = lens _dmwtrsTargets (\ s a -> s{_dmwtrsTargets = a}) . _Default . _Coerce;+dmwtrsTargets = lens _dmwtrsTargets (\ s a -> s{_dmwtrsTargets = a}) . _Default . _Coerce  -- | -- | The response status code. dmwtrsResponseStatus :: Lens' DescribeMaintenanceWindowTargetsResponse Int-dmwtrsResponseStatus = lens _dmwtrsResponseStatus (\ s a -> s{_dmwtrsResponseStatus = a});+dmwtrsResponseStatus = lens _dmwtrsResponseStatus (\ s a -> s{_dmwtrsResponseStatus = a})  instance NFData            DescribeMaintenanceWindowTargetsResponse
gen/Network/AWS/SSM/DescribeMaintenanceWindowTasks.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeMaintenanceWindowTasks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> DescribeMaintenanceWindowTasks describeMaintenanceWindowTasks pWindowId_ =   DescribeMaintenanceWindowTasks'-  { _dFilters = Nothing-  , _dNextToken = Nothing-  , _dMaxResults = Nothing-  , _dWindowId = pWindowId_-  }+    { _dFilters = Nothing+    , _dNextToken = Nothing+    , _dMaxResults = Nothing+    , _dWindowId = pWindowId_+    }   -- | 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]-dFilters = lens _dFilters (\ s a -> s{_dFilters = a}) . _Default . _Coerce;+dFilters = lens _dFilters (\ s a -> s{_dFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dNextToken :: Lens' DescribeMaintenanceWindowTasks (Maybe Text)-dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});+dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = 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. dMaxResults :: Lens' DescribeMaintenanceWindowTasks (Maybe Natural)-dMaxResults = lens _dMaxResults (\ s a -> s{_dMaxResults = a}) . mapping _Nat;+dMaxResults = lens _dMaxResults (\ s a -> s{_dMaxResults = a}) . mapping _Nat  -- | The ID of the Maintenance Window whose tasks should be retrieved. dWindowId :: Lens' DescribeMaintenanceWindowTasks Text-dWindowId = lens _dWindowId (\ s a -> s{_dWindowId = a});+dWindowId = lens _dWindowId (\ s a -> s{_dWindowId = a})  instance AWSRequest DescribeMaintenanceWindowTasks          where@@ -161,23 +161,23 @@     -> DescribeMaintenanceWindowTasksResponse describeMaintenanceWindowTasksResponse pResponseStatus_ =   DescribeMaintenanceWindowTasksResponse'-  { _dmwtsrsTasks = Nothing-  , _dmwtsrsNextToken = Nothing-  , _dmwtsrsResponseStatus = pResponseStatus_-  }+    { _dmwtsrsTasks = Nothing+    , _dmwtsrsNextToken = Nothing+    , _dmwtsrsResponseStatus = pResponseStatus_+    }   -- | Information about the tasks in the Maintenance Window. dmwtsrsTasks :: Lens' DescribeMaintenanceWindowTasksResponse [MaintenanceWindowTask]-dmwtsrsTasks = lens _dmwtsrsTasks (\ s a -> s{_dmwtsrsTasks = a}) . _Default . _Coerce;+dmwtsrsTasks = lens _dmwtsrsTasks (\ s a -> s{_dmwtsrsTasks = a}) . _Default . _Coerce  -- | 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)-dmwtsrsNextToken = lens _dmwtsrsNextToken (\ s a -> s{_dmwtsrsNextToken = a});+dmwtsrsNextToken = lens _dmwtsrsNextToken (\ s a -> s{_dmwtsrsNextToken = a})  -- | -- | The response status code. dmwtsrsResponseStatus :: Lens' DescribeMaintenanceWindowTasksResponse Int-dmwtsrsResponseStatus = lens _dmwtsrsResponseStatus (\ s a -> s{_dmwtsrsResponseStatus = a});+dmwtsrsResponseStatus = lens _dmwtsrsResponseStatus (\ s a -> s{_dmwtsrsResponseStatus = a})  instance NFData            DescribeMaintenanceWindowTasksResponse
gen/Network/AWS/SSM/DescribeMaintenanceWindows.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeMaintenanceWindows--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: DescribeMaintenanceWindows describeMaintenanceWindows =   DescribeMaintenanceWindows'-  {_dmwFilters = Nothing, _dmwNextToken = Nothing, _dmwMaxResults = Nothing}+    {_dmwFilters = Nothing, _dmwNextToken = Nothing, _dmwMaxResults = Nothing}   -- | Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled. dmwFilters :: Lens' DescribeMaintenanceWindows [MaintenanceWindowFilter]-dmwFilters = lens _dmwFilters (\ s a -> s{_dmwFilters = a}) . _Default . _Coerce;+dmwFilters = lens _dmwFilters (\ s a -> s{_dmwFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dmwNextToken :: Lens' DescribeMaintenanceWindows (Maybe Text)-dmwNextToken = lens _dmwNextToken (\ s a -> s{_dmwNextToken = a});+dmwNextToken = lens _dmwNextToken (\ s a -> s{_dmwNextToken = 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. dmwMaxResults :: Lens' DescribeMaintenanceWindows (Maybe Natural)-dmwMaxResults = lens _dmwMaxResults (\ s a -> s{_dmwMaxResults = a}) . mapping _Nat;+dmwMaxResults = lens _dmwMaxResults (\ s a -> s{_dmwMaxResults = a}) . mapping _Nat  instance AWSRequest DescribeMaintenanceWindows where         type Rs DescribeMaintenanceWindows =@@ -145,23 +145,23 @@     -> DescribeMaintenanceWindowsResponse describeMaintenanceWindowsResponse pResponseStatus_ =   DescribeMaintenanceWindowsResponse'-  { _dmwsrsWindowIdentities = Nothing-  , _dmwsrsNextToken = Nothing-  , _dmwsrsResponseStatus = pResponseStatus_-  }+    { _dmwsrsWindowIdentities = Nothing+    , _dmwsrsNextToken = Nothing+    , _dmwsrsResponseStatus = pResponseStatus_+    }   -- | Information about the Maintenance Windows. dmwsrsWindowIdentities :: Lens' DescribeMaintenanceWindowsResponse [MaintenanceWindowIdentity]-dmwsrsWindowIdentities = lens _dmwsrsWindowIdentities (\ s a -> s{_dmwsrsWindowIdentities = a}) . _Default . _Coerce;+dmwsrsWindowIdentities = lens _dmwsrsWindowIdentities (\ s a -> s{_dmwsrsWindowIdentities = a}) . _Default . _Coerce  -- | 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)-dmwsrsNextToken = lens _dmwsrsNextToken (\ s a -> s{_dmwsrsNextToken = a});+dmwsrsNextToken = lens _dmwsrsNextToken (\ s a -> s{_dmwsrsNextToken = a})  -- | -- | The response status code. dmwsrsResponseStatus :: Lens' DescribeMaintenanceWindowsResponse Int-dmwsrsResponseStatus = lens _dmwsrsResponseStatus (\ s a -> s{_dmwsrsResponseStatus = a});+dmwsrsResponseStatus = lens _dmwsrsResponseStatus (\ s a -> s{_dmwsrsResponseStatus = a})  instance NFData DescribeMaintenanceWindowsResponse          where
gen/Network/AWS/SSM/DescribeParameters.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribeParameters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -77,28 +77,28 @@     :: DescribeParameters describeParameters =   DescribeParameters'-  { _dpParameterFilters = Nothing-  , _dpFilters = Nothing-  , _dpNextToken = Nothing-  , _dpMaxResults = Nothing-  }+    { _dpParameterFilters = Nothing+    , _dpFilters = Nothing+    , _dpNextToken = Nothing+    , _dpMaxResults = Nothing+    }   -- | Filters to limit the request results. dpParameterFilters :: Lens' DescribeParameters [ParameterStringFilter]-dpParameterFilters = lens _dpParameterFilters (\ s a -> s{_dpParameterFilters = a}) . _Default . _Coerce;+dpParameterFilters = lens _dpParameterFilters (\ s a -> s{_dpParameterFilters = a}) . _Default . _Coerce  -- | One or more filters. Use a filter to return a more specific list of results. dpFilters :: Lens' DescribeParameters [ParametersFilter]-dpFilters = lens _dpFilters (\ s a -> s{_dpFilters = a}) . _Default . _Coerce;+dpFilters = lens _dpFilters (\ s a -> s{_dpFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dpNextToken :: Lens' DescribeParameters (Maybe Text)-dpNextToken = lens _dpNextToken (\ s a -> s{_dpNextToken = a});+dpNextToken = lens _dpNextToken (\ s a -> s{_dpNextToken = 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. dpMaxResults :: Lens' DescribeParameters (Maybe Natural)-dpMaxResults = lens _dpMaxResults (\ s a -> s{_dpMaxResults = a}) . mapping _Nat;+dpMaxResults = lens _dpMaxResults (\ s a -> s{_dpMaxResults = a}) . mapping _Nat  instance AWSPager DescribeParameters where         page rq rs@@ -169,22 +169,22 @@     -> DescribeParametersResponse describeParametersResponse pResponseStatus_ =   DescribeParametersResponse'-  { _dprsNextToken = Nothing-  , _dprsParameters = Nothing-  , _dprsResponseStatus = pResponseStatus_-  }+    { _dprsNextToken = Nothing+    , _dprsParameters = Nothing+    , _dprsResponseStatus = pResponseStatus_+    }   -- | 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)-dprsNextToken = lens _dprsNextToken (\ s a -> s{_dprsNextToken = a});+dprsNextToken = lens _dprsNextToken (\ s a -> s{_dprsNextToken = a})  -- | Parameters returned by the request. dprsParameters :: Lens' DescribeParametersResponse [ParameterMetadata]-dprsParameters = lens _dprsParameters (\ s a -> s{_dprsParameters = a}) . _Default . _Coerce;+dprsParameters = lens _dprsParameters (\ s a -> s{_dprsParameters = a}) . _Default . _Coerce  -- | -- | The response status code. dprsResponseStatus :: Lens' DescribeParametersResponse Int-dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})  instance NFData DescribeParametersResponse where
gen/Network/AWS/SSM/DescribePatchBaselines.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribePatchBaselines--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: DescribePatchBaselines describePatchBaselines =   DescribePatchBaselines'-  {_dpbFilters = Nothing, _dpbNextToken = Nothing, _dpbMaxResults = Nothing}+    {_dpbFilters = Nothing, _dpbNextToken = Nothing, _dpbMaxResults = Nothing}   -- | Each element in the array is a structure containing:  Key: (string, "NAME_PREFIX" or "OWNER") Value: (array of strings, exactly 1 entry, between 1 and 255 characters) dpbFilters :: Lens' DescribePatchBaselines [PatchOrchestratorFilter]-dpbFilters = lens _dpbFilters (\ s a -> s{_dpbFilters = a}) . _Default . _Coerce;+dpbFilters = lens _dpbFilters (\ s a -> s{_dpbFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dpbNextToken :: Lens' DescribePatchBaselines (Maybe Text)-dpbNextToken = lens _dpbNextToken (\ s a -> s{_dpbNextToken = a});+dpbNextToken = lens _dpbNextToken (\ s a -> s{_dpbNextToken = a})  -- | The maximum number of patch baselines to return (per page). dpbMaxResults :: Lens' DescribePatchBaselines (Maybe Natural)-dpbMaxResults = lens _dpbMaxResults (\ s a -> s{_dpbMaxResults = a}) . mapping _Nat;+dpbMaxResults = lens _dpbMaxResults (\ s a -> s{_dpbMaxResults = a}) . mapping _Nat  instance AWSRequest DescribePatchBaselines where         type Rs DescribePatchBaselines =@@ -144,22 +144,22 @@     -> DescribePatchBaselinesResponse describePatchBaselinesResponse pResponseStatus_ =   DescribePatchBaselinesResponse'-  { _dpbsrsBaselineIdentities = Nothing-  , _dpbsrsNextToken = Nothing-  , _dpbsrsResponseStatus = pResponseStatus_-  }+    { _dpbsrsBaselineIdentities = Nothing+    , _dpbsrsNextToken = Nothing+    , _dpbsrsResponseStatus = pResponseStatus_+    }   -- | An array of PatchBaselineIdentity elements. dpbsrsBaselineIdentities :: Lens' DescribePatchBaselinesResponse [PatchBaselineIdentity]-dpbsrsBaselineIdentities = lens _dpbsrsBaselineIdentities (\ s a -> s{_dpbsrsBaselineIdentities = a}) . _Default . _Coerce;+dpbsrsBaselineIdentities = lens _dpbsrsBaselineIdentities (\ s a -> s{_dpbsrsBaselineIdentities = a}) . _Default . _Coerce  -- | 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)-dpbsrsNextToken = lens _dpbsrsNextToken (\ s a -> s{_dpbsrsNextToken = a});+dpbsrsNextToken = lens _dpbsrsNextToken (\ s a -> s{_dpbsrsNextToken = a})  -- | -- | The response status code. dpbsrsResponseStatus :: Lens' DescribePatchBaselinesResponse Int-dpbsrsResponseStatus = lens _dpbsrsResponseStatus (\ s a -> s{_dpbsrsResponseStatus = a});+dpbsrsResponseStatus = lens _dpbsrsResponseStatus (\ s a -> s{_dpbsrsResponseStatus = a})  instance NFData DescribePatchBaselinesResponse where
gen/Network/AWS/SSM/DescribePatchGroupState.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribePatchGroupState--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,7 +69,7 @@  -- | The name of the patch group whose patch snapshot should be retrieved. dpgsPatchGroup :: Lens' DescribePatchGroupState Text-dpgsPatchGroup = lens _dpgsPatchGroup (\ s a -> s{_dpgsPatchGroup = a});+dpgsPatchGroup = lens _dpgsPatchGroup (\ s a -> s{_dpgsPatchGroup = a})  instance AWSRequest DescribePatchGroupState where         type Rs DescribePatchGroupState =@@ -145,42 +145,42 @@     -> DescribePatchGroupStateResponse describePatchGroupStateResponse pResponseStatus_ =   DescribePatchGroupStateResponse'-  { _dpgsrsInstancesWithMissingPatches = Nothing-  , _dpgsrsInstancesWithInstalledOtherPatches = Nothing-  , _dpgsrsInstancesWithNotApplicablePatches = Nothing-  , _dpgsrsInstancesWithInstalledPatches = Nothing-  , _dpgsrsInstances = Nothing-  , _dpgsrsInstancesWithFailedPatches = Nothing-  , _dpgsrsResponseStatus = pResponseStatus_-  }+    { _dpgsrsInstancesWithMissingPatches = Nothing+    , _dpgsrsInstancesWithInstalledOtherPatches = Nothing+    , _dpgsrsInstancesWithNotApplicablePatches = Nothing+    , _dpgsrsInstancesWithInstalledPatches = Nothing+    , _dpgsrsInstances = Nothing+    , _dpgsrsInstancesWithFailedPatches = Nothing+    , _dpgsrsResponseStatus = pResponseStatus_+    }   -- | The number of instances with missing patches from the patch baseline. dpgsrsInstancesWithMissingPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)-dpgsrsInstancesWithMissingPatches = lens _dpgsrsInstancesWithMissingPatches (\ s a -> s{_dpgsrsInstancesWithMissingPatches = a});+dpgsrsInstancesWithMissingPatches = lens _dpgsrsInstancesWithMissingPatches (\ s a -> s{_dpgsrsInstancesWithMissingPatches = a})  -- | The number of instances with patches installed that aren't defined in the patch baseline. dpgsrsInstancesWithInstalledOtherPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)-dpgsrsInstancesWithInstalledOtherPatches = lens _dpgsrsInstancesWithInstalledOtherPatches (\ s a -> s{_dpgsrsInstancesWithInstalledOtherPatches = a});+dpgsrsInstancesWithInstalledOtherPatches = lens _dpgsrsInstancesWithInstalledOtherPatches (\ s a -> s{_dpgsrsInstancesWithInstalledOtherPatches = a})  -- | The number of instances with patches that aren't applicable. dpgsrsInstancesWithNotApplicablePatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)-dpgsrsInstancesWithNotApplicablePatches = lens _dpgsrsInstancesWithNotApplicablePatches (\ s a -> s{_dpgsrsInstancesWithNotApplicablePatches = a});+dpgsrsInstancesWithNotApplicablePatches = lens _dpgsrsInstancesWithNotApplicablePatches (\ s a -> s{_dpgsrsInstancesWithNotApplicablePatches = a})  -- | The number of instances with installed patches. dpgsrsInstancesWithInstalledPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)-dpgsrsInstancesWithInstalledPatches = lens _dpgsrsInstancesWithInstalledPatches (\ s a -> s{_dpgsrsInstancesWithInstalledPatches = a});+dpgsrsInstancesWithInstalledPatches = lens _dpgsrsInstancesWithInstalledPatches (\ s a -> s{_dpgsrsInstancesWithInstalledPatches = a})  -- | The number of instances in the patch group. dpgsrsInstances :: Lens' DescribePatchGroupStateResponse (Maybe Int)-dpgsrsInstances = lens _dpgsrsInstances (\ s a -> s{_dpgsrsInstances = a});+dpgsrsInstances = lens _dpgsrsInstances (\ s a -> s{_dpgsrsInstances = a})  -- | The number of instances with patches from the patch baseline that failed to install. dpgsrsInstancesWithFailedPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)-dpgsrsInstancesWithFailedPatches = lens _dpgsrsInstancesWithFailedPatches (\ s a -> s{_dpgsrsInstancesWithFailedPatches = a});+dpgsrsInstancesWithFailedPatches = lens _dpgsrsInstancesWithFailedPatches (\ s a -> s{_dpgsrsInstancesWithFailedPatches = a})  -- | -- | The response status code. dpgsrsResponseStatus :: Lens' DescribePatchGroupStateResponse Int-dpgsrsResponseStatus = lens _dpgsrsResponseStatus (\ s a -> s{_dpgsrsResponseStatus = a});+dpgsrsResponseStatus = lens _dpgsrsResponseStatus (\ s a -> s{_dpgsrsResponseStatus = a})  instance NFData DescribePatchGroupStateResponse where
gen/Network/AWS/SSM/DescribePatchGroups.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.DescribePatchGroups--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: DescribePatchGroups describePatchGroups =   DescribePatchGroups'-  {_dpgFilters = Nothing, _dpgNextToken = Nothing, _dpgMaxResults = Nothing}+    {_dpgFilters = Nothing, _dpgNextToken = Nothing, _dpgMaxResults = Nothing}   -- | One or more filters. Use a filter to return a more specific list of results. dpgFilters :: Lens' DescribePatchGroups [PatchOrchestratorFilter]-dpgFilters = lens _dpgFilters (\ s a -> s{_dpgFilters = a}) . _Default . _Coerce;+dpgFilters = lens _dpgFilters (\ s a -> s{_dpgFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) dpgNextToken :: Lens' DescribePatchGroups (Maybe Text)-dpgNextToken = lens _dpgNextToken (\ s a -> s{_dpgNextToken = a});+dpgNextToken = lens _dpgNextToken (\ s a -> s{_dpgNextToken = a})  -- | The maximum number of patch groups to return (per page). dpgMaxResults :: Lens' DescribePatchGroups (Maybe Natural)-dpgMaxResults = lens _dpgMaxResults (\ s a -> s{_dpgMaxResults = a}) . mapping _Nat;+dpgMaxResults = lens _dpgMaxResults (\ s a -> s{_dpgMaxResults = a}) . mapping _Nat  instance AWSRequest DescribePatchGroups where         type Rs DescribePatchGroups =@@ -143,22 +143,22 @@     -> DescribePatchGroupsResponse describePatchGroupsResponse pResponseStatus_ =   DescribePatchGroupsResponse'-  { _dpgrsMappings = Nothing-  , _dpgrsNextToken = Nothing-  , _dpgrsResponseStatus = pResponseStatus_-  }+    { _dpgrsMappings = Nothing+    , _dpgrsNextToken = Nothing+    , _dpgrsResponseStatus = pResponseStatus_+    }   -- | 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]-dpgrsMappings = lens _dpgrsMappings (\ s a -> s{_dpgrsMappings = a}) . _Default . _Coerce;+dpgrsMappings = lens _dpgrsMappings (\ s a -> s{_dpgrsMappings = a}) . _Default . _Coerce  -- | 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)-dpgrsNextToken = lens _dpgrsNextToken (\ s a -> s{_dpgrsNextToken = a});+dpgrsNextToken = lens _dpgrsNextToken (\ s a -> s{_dpgrsNextToken = a})  -- | -- | The response status code. dpgrsResponseStatus :: Lens' DescribePatchGroupsResponse Int-dpgrsResponseStatus = lens _dpgrsResponseStatus (\ s a -> s{_dpgrsResponseStatus = a});+dpgrsResponseStatus = lens _dpgrsResponseStatus (\ s a -> s{_dpgrsResponseStatus = a})  instance NFData DescribePatchGroupsResponse where
gen/Network/AWS/SSM/GetAutomationExecution.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetAutomationExecution--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | 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-gaeAutomationExecutionId = lens _gaeAutomationExecutionId (\ s a -> s{_gaeAutomationExecutionId = a});+gaeAutomationExecutionId = lens _gaeAutomationExecutionId (\ s a -> s{_gaeAutomationExecutionId = a})  instance AWSRequest GetAutomationExecution where         type Rs GetAutomationExecution =@@ -123,15 +123,17 @@     -> GetAutomationExecutionResponse getAutomationExecutionResponse pResponseStatus_ =   GetAutomationExecutionResponse'-  {_gaersAutomationExecution = Nothing, _gaersResponseStatus = pResponseStatus_}+    { _gaersAutomationExecution = Nothing+    , _gaersResponseStatus = pResponseStatus_+    }   -- | Detailed information about the current state of an automation execution. gaersAutomationExecution :: Lens' GetAutomationExecutionResponse (Maybe AutomationExecution)-gaersAutomationExecution = lens _gaersAutomationExecution (\ s a -> s{_gaersAutomationExecution = a});+gaersAutomationExecution = lens _gaersAutomationExecution (\ s a -> s{_gaersAutomationExecution = a})  -- | -- | The response status code. gaersResponseStatus :: Lens' GetAutomationExecutionResponse Int-gaersResponseStatus = lens _gaersResponseStatus (\ s a -> s{_gaersResponseStatus = a});+gaersResponseStatus = lens _gaersResponseStatus (\ s a -> s{_gaersResponseStatus = a})  instance NFData GetAutomationExecutionResponse where
gen/Network/AWS/SSM/GetCommandInvocation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetCommandInvocation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -47,6 +47,7 @@     , gcirsExecutionEndDateTime     , gcirsStandardOutputURL     , gcirsCommandId+    , gcirsDocumentVersion     , gcirsStandardOutputContent     , gcirsComment     , gcirsPluginName@@ -83,23 +84,23 @@     -> GetCommandInvocation getCommandInvocation pCommandId_ pInstanceId_ =   GetCommandInvocation'-  { _gciPluginName = Nothing-  , _gciCommandId = pCommandId_-  , _gciInstanceId = pInstanceId_-  }+    { _gciPluginName = Nothing+    , _gciCommandId = pCommandId_+    , _gciInstanceId = pInstanceId_+    }   -- | (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)-gciPluginName = lens _gciPluginName (\ s a -> s{_gciPluginName = a});+gciPluginName = lens _gciPluginName (\ s a -> s{_gciPluginName = a})  -- | (Required) The parent command ID of the invocation plugin. gciCommandId :: Lens' GetCommandInvocation Text-gciCommandId = lens _gciCommandId (\ s a -> s{_gciCommandId = a});+gciCommandId = lens _gciCommandId (\ s a -> s{_gciCommandId = 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. gciInstanceId :: Lens' GetCommandInvocation Text-gciInstanceId = lens _gciInstanceId (\ s a -> s{_gciInstanceId = a});+gciInstanceId = lens _gciInstanceId (\ s a -> s{_gciInstanceId = a})  instance AWSRequest GetCommandInvocation where         type Rs GetCommandInvocation =@@ -120,6 +121,7 @@                      <*> (x .?> "ExecutionEndDateTime")                      <*> (x .?> "StandardOutputUrl")                      <*> (x .?> "CommandId")+                     <*> (x .?> "DocumentVersion")                      <*> (x .?> "StandardOutputContent")                      <*> (x .?> "Comment")                      <*> (x .?> "PluginName")@@ -166,6 +168,7 @@   , _gcirsExecutionEndDateTime   :: !(Maybe Text)   , _gcirsStandardOutputURL      :: !(Maybe Text)   , _gcirsCommandId              :: !(Maybe Text)+  , _gcirsDocumentVersion        :: !(Maybe Text)   , _gcirsStandardOutputContent  :: !(Maybe Text)   , _gcirsComment                :: !(Maybe Text)   , _gcirsPluginName             :: !(Maybe Text)@@ -179,7 +182,7 @@ -- -- * 'gcirsInstanceId' - 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. ----- * 'gcirsStatus' - The status of the parent command for this invocation. This status can be different than StatusDetails.+-- * 'gcirsStatus' - The status of this invocation plugin. This status can be different than StatusDetails. -- -- * 'gcirsStandardErrorContent' - The first 8,000 characters written by the plugin to stderr. If the command has not finished executing, then this string is empty. --@@ -201,6 +204,8 @@ -- -- * 'gcirsCommandId' - The parent command ID of the invocation plugin. --+-- * 'gcirsDocumentVersion' - The SSM document version used in the request.+-- -- * 'gcirsStandardOutputContent' - 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. -- -- * 'gcirsComment' - The comment text for the command.@@ -213,87 +218,92 @@     -> GetCommandInvocationResponse getCommandInvocationResponse pResponseStatus_ =   GetCommandInvocationResponse'-  { _gcirsInstanceId = Nothing-  , _gcirsStatus = Nothing-  , _gcirsStandardErrorContent = Nothing-  , _gcirsExecutionElapsedTime = Nothing-  , _gcirsDocumentName = Nothing-  , _gcirsStandardErrorURL = Nothing-  , _gcirsExecutionStartDateTime = Nothing-  , _gcirsResponseCode = Nothing-  , _gcirsStatusDetails = Nothing-  , _gcirsExecutionEndDateTime = Nothing-  , _gcirsStandardOutputURL = Nothing-  , _gcirsCommandId = Nothing-  , _gcirsStandardOutputContent = Nothing-  , _gcirsComment = Nothing-  , _gcirsPluginName = Nothing-  , _gcirsResponseStatus = pResponseStatus_-  }+    { _gcirsInstanceId = Nothing+    , _gcirsStatus = Nothing+    , _gcirsStandardErrorContent = Nothing+    , _gcirsExecutionElapsedTime = Nothing+    , _gcirsDocumentName = Nothing+    , _gcirsStandardErrorURL = Nothing+    , _gcirsExecutionStartDateTime = Nothing+    , _gcirsResponseCode = Nothing+    , _gcirsStatusDetails = Nothing+    , _gcirsExecutionEndDateTime = Nothing+    , _gcirsStandardOutputURL = Nothing+    , _gcirsCommandId = Nothing+    , _gcirsDocumentVersion = Nothing+    , _gcirsStandardOutputContent = Nothing+    , _gcirsComment = Nothing+    , _gcirsPluginName = Nothing+    , _gcirsResponseStatus = pResponseStatus_+    }   -- | 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)-gcirsInstanceId = lens _gcirsInstanceId (\ s a -> s{_gcirsInstanceId = a});+gcirsInstanceId = lens _gcirsInstanceId (\ s a -> s{_gcirsInstanceId = a}) --- | The status of the parent command for this invocation. This status can be different than StatusDetails.+-- | The status of this invocation plugin. This status can be different than StatusDetails. gcirsStatus :: Lens' GetCommandInvocationResponse (Maybe CommandInvocationStatus)-gcirsStatus = lens _gcirsStatus (\ s a -> s{_gcirsStatus = a});+gcirsStatus = lens _gcirsStatus (\ s a -> s{_gcirsStatus = a})  -- | 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)-gcirsStandardErrorContent = lens _gcirsStandardErrorContent (\ s a -> s{_gcirsStandardErrorContent = a});+gcirsStandardErrorContent = lens _gcirsStandardErrorContent (\ s a -> s{_gcirsStandardErrorContent = a})  -- | Duration since ExecutionStartDateTime. gcirsExecutionElapsedTime :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsExecutionElapsedTime = lens _gcirsExecutionElapsedTime (\ s a -> s{_gcirsExecutionElapsedTime = a});+gcirsExecutionElapsedTime = lens _gcirsExecutionElapsedTime (\ s a -> s{_gcirsExecutionElapsedTime = a})  -- | The name of the document that was executed. For example, AWS-RunShellScript. gcirsDocumentName :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsDocumentName = lens _gcirsDocumentName (\ s a -> s{_gcirsDocumentName = a});+gcirsDocumentName = lens _gcirsDocumentName (\ s a -> s{_gcirsDocumentName = 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. gcirsStandardErrorURL :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsStandardErrorURL = lens _gcirsStandardErrorURL (\ s a -> s{_gcirsStandardErrorURL = a});+gcirsStandardErrorURL = lens _gcirsStandardErrorURL (\ s a -> s{_gcirsStandardErrorURL = 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 @InvokedBefore@ filter. @aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z@  If the plugin has not started to execute, the string is empty. gcirsExecutionStartDateTime :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsExecutionStartDateTime = lens _gcirsExecutionStartDateTime (\ s a -> s{_gcirsExecutionStartDateTime = a});+gcirsExecutionStartDateTime = lens _gcirsExecutionStartDateTime (\ s a -> s{_gcirsExecutionStartDateTime = 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. gcirsResponseCode :: Lens' GetCommandInvocationResponse (Maybe Int)-gcirsResponseCode = lens _gcirsResponseCode (\ s a -> s{_gcirsResponseCode = a});+gcirsResponseCode = lens _gcirsResponseCode (\ s a -> s{_gcirsResponseCode = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)-gcirsStatusDetails = lens _gcirsStatusDetails (\ s a -> s{_gcirsStatusDetails = a});+gcirsStatusDetails = lens _gcirsStatusDetails (\ s a -> s{_gcirsStatusDetails = 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 @InvokedAfter@ filter. @aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z@  If the plugin has not started to execute, the string is empty. gcirsExecutionEndDateTime :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsExecutionEndDateTime = lens _gcirsExecutionEndDateTime (\ s a -> s{_gcirsExecutionEndDateTime = a});+gcirsExecutionEndDateTime = lens _gcirsExecutionEndDateTime (\ s a -> s{_gcirsExecutionEndDateTime = 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. gcirsStandardOutputURL :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsStandardOutputURL = lens _gcirsStandardOutputURL (\ s a -> s{_gcirsStandardOutputURL = a});+gcirsStandardOutputURL = lens _gcirsStandardOutputURL (\ s a -> s{_gcirsStandardOutputURL = a})  -- | The parent command ID of the invocation plugin. gcirsCommandId :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsCommandId = lens _gcirsCommandId (\ s a -> s{_gcirsCommandId = a});+gcirsCommandId = lens _gcirsCommandId (\ s a -> s{_gcirsCommandId = a}) +-- | The SSM document version used in the request.+gcirsDocumentVersion :: Lens' GetCommandInvocationResponse (Maybe Text)+gcirsDocumentVersion = lens _gcirsDocumentVersion (\ s a -> s{_gcirsDocumentVersion = 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. gcirsStandardOutputContent :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsStandardOutputContent = lens _gcirsStandardOutputContent (\ s a -> s{_gcirsStandardOutputContent = a});+gcirsStandardOutputContent = lens _gcirsStandardOutputContent (\ s a -> s{_gcirsStandardOutputContent = a})  -- | The comment text for the command. gcirsComment :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsComment = lens _gcirsComment (\ s a -> s{_gcirsComment = a});+gcirsComment = lens _gcirsComment (\ s a -> s{_gcirsComment = a})  -- | The name of the plugin for which you want detailed results. For example, aws:RunShellScript is a plugin. gcirsPluginName :: Lens' GetCommandInvocationResponse (Maybe Text)-gcirsPluginName = lens _gcirsPluginName (\ s a -> s{_gcirsPluginName = a});+gcirsPluginName = lens _gcirsPluginName (\ s a -> s{_gcirsPluginName = a})  -- | -- | The response status code. gcirsResponseStatus :: Lens' GetCommandInvocationResponse Int-gcirsResponseStatus = lens _gcirsResponseStatus (\ s a -> s{_gcirsResponseStatus = a});+gcirsResponseStatus = lens _gcirsResponseStatus (\ s a -> s{_gcirsResponseStatus = a})  instance NFData GetCommandInvocationResponse where
gen/Network/AWS/SSM/GetDefaultPatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetDefaultPatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- 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     (     -- * Creating a Request@@ -64,7 +66,7 @@  -- | Returns the default patch baseline for the specified operating system. gdpbOperatingSystem :: Lens' GetDefaultPatchBaseline (Maybe OperatingSystem)-gdpbOperatingSystem = lens _gdpbOperatingSystem (\ s a -> s{_gdpbOperatingSystem = a});+gdpbOperatingSystem = lens _gdpbOperatingSystem (\ s a -> s{_gdpbOperatingSystem = a})  instance AWSRequest GetDefaultPatchBaseline where         type Rs GetDefaultPatchBaseline =@@ -124,22 +126,22 @@     -> GetDefaultPatchBaselineResponse getDefaultPatchBaselineResponse pResponseStatus_ =   GetDefaultPatchBaselineResponse'-  { _gdpbrsOperatingSystem = Nothing-  , _gdpbrsBaselineId = Nothing-  , _gdpbrsResponseStatus = pResponseStatus_-  }+    { _gdpbrsOperatingSystem = Nothing+    , _gdpbrsBaselineId = Nothing+    , _gdpbrsResponseStatus = pResponseStatus_+    }   -- | The operating system for the returned patch baseline. gdpbrsOperatingSystem :: Lens' GetDefaultPatchBaselineResponse (Maybe OperatingSystem)-gdpbrsOperatingSystem = lens _gdpbrsOperatingSystem (\ s a -> s{_gdpbrsOperatingSystem = a});+gdpbrsOperatingSystem = lens _gdpbrsOperatingSystem (\ s a -> s{_gdpbrsOperatingSystem = a})  -- | The ID of the default patch baseline. gdpbrsBaselineId :: Lens' GetDefaultPatchBaselineResponse (Maybe Text)-gdpbrsBaselineId = lens _gdpbrsBaselineId (\ s a -> s{_gdpbrsBaselineId = a});+gdpbrsBaselineId = lens _gdpbrsBaselineId (\ s a -> s{_gdpbrsBaselineId = a})  -- | -- | The response status code. gdpbrsResponseStatus :: Lens' GetDefaultPatchBaselineResponse Int-gdpbrsResponseStatus = lens _gdpbrsResponseStatus (\ s a -> s{_gdpbrsResponseStatus = a});+gdpbrsResponseStatus = lens _gdpbrsResponseStatus (\ s a -> s{_gdpbrsResponseStatus = a})  instance NFData GetDefaultPatchBaselineResponse where
gen/Network/AWS/SSM/GetDeployablePatchSnapshotForInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetDeployablePatchSnapshotForInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,16 +68,16 @@     -> GetDeployablePatchSnapshotForInstance getDeployablePatchSnapshotForInstance pInstanceId_ pSnapshotId_ =   GetDeployablePatchSnapshotForInstance'-  {_gdpsfiInstanceId = pInstanceId_, _gdpsfiSnapshotId = pSnapshotId_}+    {_gdpsfiInstanceId = pInstanceId_, _gdpsfiSnapshotId = pSnapshotId_}   -- | The ID of the instance for which the appropriate patch snapshot should be retrieved. gdpsfiInstanceId :: Lens' GetDeployablePatchSnapshotForInstance Text-gdpsfiInstanceId = lens _gdpsfiInstanceId (\ s a -> s{_gdpsfiInstanceId = a});+gdpsfiInstanceId = lens _gdpsfiInstanceId (\ s a -> s{_gdpsfiInstanceId = a})  -- | The user-defined snapshot ID. gdpsfiSnapshotId :: Lens' GetDeployablePatchSnapshotForInstance Text-gdpsfiSnapshotId = lens _gdpsfiSnapshotId (\ s a -> s{_gdpsfiSnapshotId = a});+gdpsfiSnapshotId = lens _gdpsfiSnapshotId (\ s a -> s{_gdpsfiSnapshotId = a})  instance AWSRequest            GetDeployablePatchSnapshotForInstance@@ -158,33 +158,33 @@     -> GetDeployablePatchSnapshotForInstanceResponse getDeployablePatchSnapshotForInstanceResponse pResponseStatus_ =   GetDeployablePatchSnapshotForInstanceResponse'-  { _gdpsfirsInstanceId = Nothing-  , _gdpsfirsProduct = Nothing-  , _gdpsfirsSnapshotDownloadURL = Nothing-  , _gdpsfirsSnapshotId = Nothing-  , _gdpsfirsResponseStatus = pResponseStatus_-  }+    { _gdpsfirsInstanceId = Nothing+    , _gdpsfirsProduct = Nothing+    , _gdpsfirsSnapshotDownloadURL = Nothing+    , _gdpsfirsSnapshotId = Nothing+    , _gdpsfirsResponseStatus = pResponseStatus_+    }   -- | The ID of the instance. gdpsfirsInstanceId :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)-gdpsfirsInstanceId = lens _gdpsfirsInstanceId (\ s a -> s{_gdpsfirsInstanceId = a});+gdpsfirsInstanceId = lens _gdpsfirsInstanceId (\ s a -> s{_gdpsfirsInstanceId = a})  -- | 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)-gdpsfirsProduct = lens _gdpsfirsProduct (\ s a -> s{_gdpsfirsProduct = a});+gdpsfirsProduct = lens _gdpsfirsProduct (\ s a -> s{_gdpsfirsProduct = a})  -- | A pre-signed Amazon S3 URL that can be used to download the patch snapshot. gdpsfirsSnapshotDownloadURL :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)-gdpsfirsSnapshotDownloadURL = lens _gdpsfirsSnapshotDownloadURL (\ s a -> s{_gdpsfirsSnapshotDownloadURL = a});+gdpsfirsSnapshotDownloadURL = lens _gdpsfirsSnapshotDownloadURL (\ s a -> s{_gdpsfirsSnapshotDownloadURL = a})  -- | The user-defined snapshot ID. gdpsfirsSnapshotId :: Lens' GetDeployablePatchSnapshotForInstanceResponse (Maybe Text)-gdpsfirsSnapshotId = lens _gdpsfirsSnapshotId (\ s a -> s{_gdpsfirsSnapshotId = a});+gdpsfirsSnapshotId = lens _gdpsfirsSnapshotId (\ s a -> s{_gdpsfirsSnapshotId = a})  -- | -- | The response status code. gdpsfirsResponseStatus :: Lens' GetDeployablePatchSnapshotForInstanceResponse Int-gdpsfirsResponseStatus = lens _gdpsfirsResponseStatus (\ s a -> s{_gdpsfirsResponseStatus = a});+gdpsfirsResponseStatus = lens _gdpsfirsResponseStatus (\ s a -> s{_gdpsfirsResponseStatus = a})  instance NFData            GetDeployablePatchSnapshotForInstanceResponse
gen/Network/AWS/SSM/GetDocument.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetDocument--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,6 +27,7 @@       getDocument     , GetDocument     -- * Request Lenses+    , gdDocumentFormat     , gdDocumentVersion     , gdName @@ -36,6 +37,7 @@     -- * Response Lenses     , gdrsDocumentType     , gdrsContent+    , gdrsDocumentFormat     , gdrsName     , gdrsDocumentVersion     , gdrsResponseStatus@@ -50,7 +52,8 @@  -- | /See:/ 'getDocument' smart constructor. data GetDocument = GetDocument'-  { _gdDocumentVersion :: !(Maybe Text)+  { _gdDocumentFormat  :: !(Maybe DocumentFormat)+  , _gdDocumentVersion :: !(Maybe Text)   , _gdName            :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -59,6 +62,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'gdDocumentFormat' - Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.+-- -- * 'gdDocumentVersion' - The document version for which you want information. -- -- * 'gdName' - The name of the Systems Manager document.@@ -66,16 +71,24 @@     :: Text -- ^ 'gdName'     -> GetDocument getDocument pName_ =-  GetDocument' {_gdDocumentVersion = Nothing, _gdName = pName_}+  GetDocument'+    { _gdDocumentFormat = Nothing+    , _gdDocumentVersion = Nothing+    , _gdName = pName_+    }  +-- | 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)+gdDocumentFormat = lens _gdDocumentFormat (\ s a -> s{_gdDocumentFormat = a})+ -- | The document version for which you want information. gdDocumentVersion :: Lens' GetDocument (Maybe Text)-gdDocumentVersion = lens _gdDocumentVersion (\ s a -> s{_gdDocumentVersion = a});+gdDocumentVersion = lens _gdDocumentVersion (\ s a -> s{_gdDocumentVersion = a})  -- | The name of the Systems Manager document. gdName :: Lens' GetDocument Text-gdName = lens _gdName (\ s a -> s{_gdName = a});+gdName = lens _gdName (\ s a -> s{_gdName = a})  instance AWSRequest GetDocument where         type Rs GetDocument = GetDocumentResponse@@ -85,7 +98,8 @@               (\ s h x ->                  GetDocumentResponse' <$>                    (x .?> "DocumentType") <*> (x .?> "Content") <*>-                     (x .?> "Name")+                     (x .?> "DocumentFormat")+                     <*> (x .?> "Name")                      <*> (x .?> "DocumentVersion")                      <*> (pure (fromEnum s))) @@ -106,7 +120,8 @@         toJSON GetDocument'{..}           = object               (catMaybes-                 [("DocumentVersion" .=) <$> _gdDocumentVersion,+                 [("DocumentFormat" .=) <$> _gdDocumentFormat,+                  ("DocumentVersion" .=) <$> _gdDocumentVersion,                   Just ("Name" .= _gdName)])  instance ToPath GetDocument where@@ -119,6 +134,7 @@ data GetDocumentResponse = GetDocumentResponse'   { _gdrsDocumentType    :: !(Maybe DocumentType)   , _gdrsContent         :: !(Maybe Text)+  , _gdrsDocumentFormat  :: !(Maybe DocumentFormat)   , _gdrsName            :: !(Maybe Text)   , _gdrsDocumentVersion :: !(Maybe Text)   , _gdrsResponseStatus  :: !Int@@ -133,6 +149,8 @@ -- -- * 'gdrsContent' - The contents of the Systems Manager document. --+-- * 'gdrsDocumentFormat' - The document format, either JSON or YAML.+-- -- * 'gdrsName' - The name of the Systems Manager document. -- -- * 'gdrsDocumentVersion' - The document version.@@ -143,32 +161,37 @@     -> GetDocumentResponse getDocumentResponse pResponseStatus_ =   GetDocumentResponse'-  { _gdrsDocumentType = Nothing-  , _gdrsContent = Nothing-  , _gdrsName = Nothing-  , _gdrsDocumentVersion = Nothing-  , _gdrsResponseStatus = pResponseStatus_-  }+    { _gdrsDocumentType = Nothing+    , _gdrsContent = Nothing+    , _gdrsDocumentFormat = Nothing+    , _gdrsName = Nothing+    , _gdrsDocumentVersion = Nothing+    , _gdrsResponseStatus = pResponseStatus_+    }   -- | The document type. gdrsDocumentType :: Lens' GetDocumentResponse (Maybe DocumentType)-gdrsDocumentType = lens _gdrsDocumentType (\ s a -> s{_gdrsDocumentType = a});+gdrsDocumentType = lens _gdrsDocumentType (\ s a -> s{_gdrsDocumentType = a})  -- | The contents of the Systems Manager document. gdrsContent :: Lens' GetDocumentResponse (Maybe Text)-gdrsContent = lens _gdrsContent (\ s a -> s{_gdrsContent = a});+gdrsContent = lens _gdrsContent (\ s a -> s{_gdrsContent = a}) +-- | The document format, either JSON or YAML.+gdrsDocumentFormat :: Lens' GetDocumentResponse (Maybe DocumentFormat)+gdrsDocumentFormat = lens _gdrsDocumentFormat (\ s a -> s{_gdrsDocumentFormat = a})+ -- | The name of the Systems Manager document. gdrsName :: Lens' GetDocumentResponse (Maybe Text)-gdrsName = lens _gdrsName (\ s a -> s{_gdrsName = a});+gdrsName = lens _gdrsName (\ s a -> s{_gdrsName = a})  -- | The document version. gdrsDocumentVersion :: Lens' GetDocumentResponse (Maybe Text)-gdrsDocumentVersion = lens _gdrsDocumentVersion (\ s a -> s{_gdrsDocumentVersion = a});+gdrsDocumentVersion = lens _gdrsDocumentVersion (\ s a -> s{_gdrsDocumentVersion = a})  -- | -- | The response status code. gdrsResponseStatus :: Lens' GetDocumentResponse Int-gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a})  instance NFData GetDocumentResponse where
gen/Network/AWS/SSM/GetInventory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetInventory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,6 +27,7 @@       getInventory     , GetInventory     -- * Request Lenses+    , giAggregators     , giFilters     , giResultAttributes     , giNextToken@@ -50,7 +51,8 @@  -- | /See:/ 'getInventory' smart constructor. data GetInventory = GetInventory'-  { _giFilters          :: !(Maybe (List1 InventoryFilter))+  { _giAggregators      :: !(Maybe (List1 InventoryAggregator))+  , _giFilters          :: !(Maybe (List1 InventoryFilter))   , _giResultAttributes :: !(Maybe (List1 ResultAttribute))   , _giNextToken        :: !(Maybe Text)   , _giMaxResults       :: !(Maybe Nat)@@ -61,6 +63,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'giAggregators' - Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the @AWS:InstanceInformation.PlatformType@ type, you can see a count of how many Windows and Linux instances exist in your inventoried fleet.+-- -- * 'giFilters' - One or more filters. Use a filter to return a more specific list of results. -- -- * 'giResultAttributes' - The list of inventory item types to return.@@ -72,28 +76,33 @@     :: GetInventory getInventory =   GetInventory'-  { _giFilters = Nothing-  , _giResultAttributes = Nothing-  , _giNextToken = Nothing-  , _giMaxResults = Nothing-  }+    { _giAggregators = Nothing+    , _giFilters = Nothing+    , _giResultAttributes = Nothing+    , _giNextToken = Nothing+    , _giMaxResults = Nothing+    }  +-- | Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the @AWS:InstanceInformation.PlatformType@ type, you can see a count of how many Windows and Linux instances exist in your inventoried fleet.+giAggregators :: Lens' GetInventory (Maybe (NonEmpty InventoryAggregator))+giAggregators = lens _giAggregators (\ s a -> s{_giAggregators = a}) . mapping _List1+ -- | One or more filters. Use a filter to return a more specific list of results. giFilters :: Lens' GetInventory (Maybe (NonEmpty InventoryFilter))-giFilters = lens _giFilters (\ s a -> s{_giFilters = a}) . mapping _List1;+giFilters = lens _giFilters (\ s a -> s{_giFilters = a}) . mapping _List1  -- | The list of inventory item types to return. giResultAttributes :: Lens' GetInventory (Maybe (NonEmpty ResultAttribute))-giResultAttributes = lens _giResultAttributes (\ s a -> s{_giResultAttributes = a}) . mapping _List1;+giResultAttributes = lens _giResultAttributes (\ s a -> s{_giResultAttributes = a}) . mapping _List1  -- | The token for the next set of items to return. (You received this token from a previous call.) giNextToken :: Lens' GetInventory (Maybe Text)-giNextToken = lens _giNextToken (\ s a -> s{_giNextToken = a});+giNextToken = lens _giNextToken (\ s a -> s{_giNextToken = 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. giMaxResults :: Lens' GetInventory (Maybe Natural)-giMaxResults = lens _giMaxResults (\ s a -> s{_giMaxResults = a}) . mapping _Nat;+giMaxResults = lens _giMaxResults (\ s a -> s{_giMaxResults = a}) . mapping _Nat  instance AWSRequest GetInventory where         type Rs GetInventory = GetInventoryResponse@@ -122,7 +131,8 @@         toJSON GetInventory'{..}           = object               (catMaybes-                 [("Filters" .=) <$> _giFilters,+                 [("Aggregators" .=) <$> _giAggregators,+                  ("Filters" .=) <$> _giFilters,                   ("ResultAttributes" .=) <$> _giResultAttributes,                   ("NextToken" .=) <$> _giNextToken,                   ("MaxResults" .=) <$> _giMaxResults])@@ -155,22 +165,22 @@     -> GetInventoryResponse getInventoryResponse pResponseStatus_ =   GetInventoryResponse'-  { _girsEntities = Nothing-  , _girsNextToken = Nothing-  , _girsResponseStatus = pResponseStatus_-  }+    { _girsEntities = Nothing+    , _girsNextToken = Nothing+    , _girsResponseStatus = pResponseStatus_+    }   -- | Collection of inventory entities such as a collection of instance inventory. girsEntities :: Lens' GetInventoryResponse [InventoryResultEntity]-girsEntities = lens _girsEntities (\ s a -> s{_girsEntities = a}) . _Default . _Coerce;+girsEntities = lens _girsEntities (\ s a -> s{_girsEntities = a}) . _Default . _Coerce  -- | 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)-girsNextToken = lens _girsNextToken (\ s a -> s{_girsNextToken = a});+girsNextToken = lens _girsNextToken (\ s a -> s{_girsNextToken = a})  -- | -- | The response status code. girsResponseStatus :: Lens' GetInventoryResponse Int-girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a});+girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a})  instance NFData GetInventoryResponse where
gen/Network/AWS/SSM/GetInventorySchema.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetInventorySchema--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -28,6 +28,7 @@     , GetInventorySchema     -- * Request Lenses     , gisTypeName+    , gisAggregator     , gisNextToken     , gisSubType     , gisMaxResults@@ -51,6 +52,7 @@ -- | /See:/ 'getInventorySchema' smart constructor. data GetInventorySchema = GetInventorySchema'   { _gisTypeName   :: !(Maybe Text)+  , _gisAggregator :: !(Maybe Bool)   , _gisNextToken  :: !(Maybe Text)   , _gisSubType    :: !(Maybe Bool)   , _gisMaxResults :: !(Maybe Nat)@@ -63,6 +65,8 @@ -- -- * 'gisTypeName' - The type of inventory item to return. --+-- * 'gisAggregator' - Returns inventory schemas that support aggregation. For example, this call returns the @AWS:InstanceInformation@ type, because it supports aggregation based on the @PlatformName@ , @PlatformType@ , and @PlatformVersion@ attributes.+-- -- * 'gisNextToken' - The token for the next set of items to return. (You received this token from a previous call.) -- -- * 'gisSubType' - Returns the sub-type schema for a specified inventory type.@@ -72,28 +76,33 @@     :: GetInventorySchema getInventorySchema =   GetInventorySchema'-  { _gisTypeName = Nothing-  , _gisNextToken = Nothing-  , _gisSubType = Nothing-  , _gisMaxResults = Nothing-  }+    { _gisTypeName = Nothing+    , _gisAggregator = Nothing+    , _gisNextToken = Nothing+    , _gisSubType = Nothing+    , _gisMaxResults = Nothing+    }   -- | The type of inventory item to return. gisTypeName :: Lens' GetInventorySchema (Maybe Text)-gisTypeName = lens _gisTypeName (\ s a -> s{_gisTypeName = a});+gisTypeName = lens _gisTypeName (\ s a -> s{_gisTypeName = a}) +-- | Returns inventory schemas that support aggregation. For example, this call returns the @AWS:InstanceInformation@ type, because it supports aggregation based on the @PlatformName@ , @PlatformType@ , and @PlatformVersion@ attributes.+gisAggregator :: Lens' GetInventorySchema (Maybe Bool)+gisAggregator = lens _gisAggregator (\ s a -> s{_gisAggregator = a})+ -- | The token for the next set of items to return. (You received this token from a previous call.) gisNextToken :: Lens' GetInventorySchema (Maybe Text)-gisNextToken = lens _gisNextToken (\ s a -> s{_gisNextToken = a});+gisNextToken = lens _gisNextToken (\ s a -> s{_gisNextToken = a})  -- | Returns the sub-type schema for a specified inventory type. gisSubType :: Lens' GetInventorySchema (Maybe Bool)-gisSubType = lens _gisSubType (\ s a -> s{_gisSubType = a});+gisSubType = lens _gisSubType (\ s a -> s{_gisSubType = 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. gisMaxResults :: Lens' GetInventorySchema (Maybe Natural)-gisMaxResults = lens _gisMaxResults (\ s a -> s{_gisMaxResults = a}) . mapping _Nat;+gisMaxResults = lens _gisMaxResults (\ s a -> s{_gisMaxResults = a}) . mapping _Nat  instance AWSRequest GetInventorySchema where         type Rs GetInventorySchema =@@ -124,6 +133,7 @@           = object               (catMaybes                  [("TypeName" .=) <$> _gisTypeName,+                  ("Aggregator" .=) <$> _gisAggregator,                   ("NextToken" .=) <$> _gisNextToken,                   ("SubType" .=) <$> _gisSubType,                   ("MaxResults" .=) <$> _gisMaxResults])@@ -156,22 +166,22 @@     -> GetInventorySchemaResponse getInventorySchemaResponse pResponseStatus_ =   GetInventorySchemaResponse'-  { _gisrsSchemas = Nothing-  , _gisrsNextToken = Nothing-  , _gisrsResponseStatus = pResponseStatus_-  }+    { _gisrsSchemas = Nothing+    , _gisrsNextToken = Nothing+    , _gisrsResponseStatus = pResponseStatus_+    }   -- | Inventory schemas returned by the request. gisrsSchemas :: Lens' GetInventorySchemaResponse [InventoryItemSchema]-gisrsSchemas = lens _gisrsSchemas (\ s a -> s{_gisrsSchemas = a}) . _Default . _Coerce;+gisrsSchemas = lens _gisrsSchemas (\ s a -> s{_gisrsSchemas = a}) . _Default . _Coerce  -- | 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)-gisrsNextToken = lens _gisrsNextToken (\ s a -> s{_gisrsNextToken = a});+gisrsNextToken = lens _gisrsNextToken (\ s a -> s{_gisrsNextToken = a})  -- | -- | The response status code. gisrsResponseStatus :: Lens' GetInventorySchemaResponse Int-gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a});+gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a})  instance NFData GetInventorySchemaResponse where
gen/Network/AWS/SSM/GetMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,7 +73,7 @@  -- | The ID of the desired Maintenance Window. gmwWindowId :: Lens' GetMaintenanceWindow Text-gmwWindowId = lens _gmwWindowId (\ s a -> s{_gmwWindowId = a});+gmwWindowId = lens _gmwWindowId (\ s a -> s{_gmwWindowId = a})  instance AWSRequest GetMaintenanceWindow where         type Rs GetMaintenanceWindow =@@ -164,62 +164,62 @@     -> GetMaintenanceWindowResponse getMaintenanceWindowResponse pResponseStatus_ =   GetMaintenanceWindowResponse'-  { _gmwrsEnabled = Nothing-  , _gmwrsSchedule = Nothing-  , _gmwrsCreatedDate = Nothing-  , _gmwrsName = Nothing-  , _gmwrsModifiedDate = Nothing-  , _gmwrsCutoff = Nothing-  , _gmwrsAllowUnassociatedTargets = Nothing-  , _gmwrsDescription = Nothing-  , _gmwrsDuration = Nothing-  , _gmwrsWindowId = Nothing-  , _gmwrsResponseStatus = pResponseStatus_-  }+    { _gmwrsEnabled = Nothing+    , _gmwrsSchedule = Nothing+    , _gmwrsCreatedDate = Nothing+    , _gmwrsName = Nothing+    , _gmwrsModifiedDate = Nothing+    , _gmwrsCutoff = Nothing+    , _gmwrsAllowUnassociatedTargets = Nothing+    , _gmwrsDescription = Nothing+    , _gmwrsDuration = Nothing+    , _gmwrsWindowId = Nothing+    , _gmwrsResponseStatus = pResponseStatus_+    }   -- | Whether the Maintenance Windows is enabled. gmwrsEnabled :: Lens' GetMaintenanceWindowResponse (Maybe Bool)-gmwrsEnabled = lens _gmwrsEnabled (\ s a -> s{_gmwrsEnabled = a});+gmwrsEnabled = lens _gmwrsEnabled (\ s a -> s{_gmwrsEnabled = a})  -- | The schedule of the Maintenance Window in the form of a cron or rate expression. gmwrsSchedule :: Lens' GetMaintenanceWindowResponse (Maybe Text)-gmwrsSchedule = lens _gmwrsSchedule (\ s a -> s{_gmwrsSchedule = a});+gmwrsSchedule = lens _gmwrsSchedule (\ s a -> s{_gmwrsSchedule = a})  -- | The date the Maintenance Window was created. gmwrsCreatedDate :: Lens' GetMaintenanceWindowResponse (Maybe UTCTime)-gmwrsCreatedDate = lens _gmwrsCreatedDate (\ s a -> s{_gmwrsCreatedDate = a}) . mapping _Time;+gmwrsCreatedDate = lens _gmwrsCreatedDate (\ s a -> s{_gmwrsCreatedDate = a}) . mapping _Time  -- | The name of the Maintenance Window. gmwrsName :: Lens' GetMaintenanceWindowResponse (Maybe Text)-gmwrsName = lens _gmwrsName (\ s a -> s{_gmwrsName = a});+gmwrsName = lens _gmwrsName (\ s a -> s{_gmwrsName = a})  -- | The date the Maintenance Window was last modified. gmwrsModifiedDate :: Lens' GetMaintenanceWindowResponse (Maybe UTCTime)-gmwrsModifiedDate = lens _gmwrsModifiedDate (\ s a -> s{_gmwrsModifiedDate = a}) . mapping _Time;+gmwrsModifiedDate = lens _gmwrsModifiedDate (\ s a -> s{_gmwrsModifiedDate = a}) . mapping _Time  -- | 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)-gmwrsCutoff = lens _gmwrsCutoff (\ s a -> s{_gmwrsCutoff = a}) . mapping _Nat;+gmwrsCutoff = lens _gmwrsCutoff (\ s a -> s{_gmwrsCutoff = a}) . mapping _Nat  -- | Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets. gmwrsAllowUnassociatedTargets :: Lens' GetMaintenanceWindowResponse (Maybe Bool)-gmwrsAllowUnassociatedTargets = lens _gmwrsAllowUnassociatedTargets (\ s a -> s{_gmwrsAllowUnassociatedTargets = a});+gmwrsAllowUnassociatedTargets = lens _gmwrsAllowUnassociatedTargets (\ s a -> s{_gmwrsAllowUnassociatedTargets = a})  -- | The description of the Maintenance Window. gmwrsDescription :: Lens' GetMaintenanceWindowResponse (Maybe Text)-gmwrsDescription = lens _gmwrsDescription (\ s a -> s{_gmwrsDescription = a}) . mapping _Sensitive;+gmwrsDescription = lens _gmwrsDescription (\ s a -> s{_gmwrsDescription = a}) . mapping _Sensitive  -- | The duration of the Maintenance Window in hours. gmwrsDuration :: Lens' GetMaintenanceWindowResponse (Maybe Natural)-gmwrsDuration = lens _gmwrsDuration (\ s a -> s{_gmwrsDuration = a}) . mapping _Nat;+gmwrsDuration = lens _gmwrsDuration (\ s a -> s{_gmwrsDuration = a}) . mapping _Nat  -- | The ID of the created Maintenance Window. gmwrsWindowId :: Lens' GetMaintenanceWindowResponse (Maybe Text)-gmwrsWindowId = lens _gmwrsWindowId (\ s a -> s{_gmwrsWindowId = a});+gmwrsWindowId = lens _gmwrsWindowId (\ s a -> s{_gmwrsWindowId = a})  -- | -- | The response status code. gmwrsResponseStatus :: Lens' GetMaintenanceWindowResponse Int-gmwrsResponseStatus = lens _gmwrsResponseStatus (\ s a -> s{_gmwrsResponseStatus = a});+gmwrsResponseStatus = lens _gmwrsResponseStatus (\ s a -> s{_gmwrsResponseStatus = a})  instance NFData GetMaintenanceWindowResponse where
gen/Network/AWS/SSM/GetMaintenanceWindowExecution.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetMaintenanceWindowExecution--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,7 +69,7 @@  -- | The ID of the Maintenance Window execution that includes the task. gmweWindowExecutionId :: Lens' GetMaintenanceWindowExecution Text-gmweWindowExecutionId = lens _gmweWindowExecutionId (\ s a -> s{_gmweWindowExecutionId = a});+gmweWindowExecutionId = lens _gmweWindowExecutionId (\ s a -> s{_gmweWindowExecutionId = a})  instance AWSRequest GetMaintenanceWindowExecution          where@@ -149,43 +149,43 @@     -> GetMaintenanceWindowExecutionResponse getMaintenanceWindowExecutionResponse pResponseStatus_ =   GetMaintenanceWindowExecutionResponse'-  { _gmwersStatus = Nothing-  , _gmwersStartTime = Nothing-  , _gmwersWindowExecutionId = Nothing-  , _gmwersStatusDetails = Nothing-  , _gmwersEndTime = Nothing-  , _gmwersTaskIds = Nothing-  , _gmwersResponseStatus = pResponseStatus_-  }+    { _gmwersStatus = Nothing+    , _gmwersStartTime = Nothing+    , _gmwersWindowExecutionId = Nothing+    , _gmwersStatusDetails = Nothing+    , _gmwersEndTime = Nothing+    , _gmwersTaskIds = Nothing+    , _gmwersResponseStatus = pResponseStatus_+    }   -- | The status of the Maintenance Window execution. gmwersStatus :: Lens' GetMaintenanceWindowExecutionResponse (Maybe MaintenanceWindowExecutionStatus)-gmwersStatus = lens _gmwersStatus (\ s a -> s{_gmwersStatus = a});+gmwersStatus = lens _gmwersStatus (\ s a -> s{_gmwersStatus = a})  -- | The time the Maintenance Window started executing. gmwersStartTime :: Lens' GetMaintenanceWindowExecutionResponse (Maybe UTCTime)-gmwersStartTime = lens _gmwersStartTime (\ s a -> s{_gmwersStartTime = a}) . mapping _Time;+gmwersStartTime = lens _gmwersStartTime (\ s a -> s{_gmwersStartTime = a}) . mapping _Time  -- | The ID of the Maintenance Window execution. gmwersWindowExecutionId :: Lens' GetMaintenanceWindowExecutionResponse (Maybe Text)-gmwersWindowExecutionId = lens _gmwersWindowExecutionId (\ s a -> s{_gmwersWindowExecutionId = a});+gmwersWindowExecutionId = lens _gmwersWindowExecutionId (\ s a -> s{_gmwersWindowExecutionId = a})  -- | The details explaining the Status. Only available for certain status values. gmwersStatusDetails :: Lens' GetMaintenanceWindowExecutionResponse (Maybe Text)-gmwersStatusDetails = lens _gmwersStatusDetails (\ s a -> s{_gmwersStatusDetails = a});+gmwersStatusDetails = lens _gmwersStatusDetails (\ s a -> s{_gmwersStatusDetails = a})  -- | The time the Maintenance Window finished executing. gmwersEndTime :: Lens' GetMaintenanceWindowExecutionResponse (Maybe UTCTime)-gmwersEndTime = lens _gmwersEndTime (\ s a -> s{_gmwersEndTime = a}) . mapping _Time;+gmwersEndTime = lens _gmwersEndTime (\ s a -> s{_gmwersEndTime = a}) . mapping _Time  -- | The ID of the task executions from the Maintenance Window execution. gmwersTaskIds :: Lens' GetMaintenanceWindowExecutionResponse [Text]-gmwersTaskIds = lens _gmwersTaskIds (\ s a -> s{_gmwersTaskIds = a}) . _Default . _Coerce;+gmwersTaskIds = lens _gmwersTaskIds (\ s a -> s{_gmwersTaskIds = a}) . _Default . _Coerce  -- | -- | The response status code. gmwersResponseStatus :: Lens' GetMaintenanceWindowExecutionResponse Int-gmwersResponseStatus = lens _gmwersResponseStatus (\ s a -> s{_gmwersResponseStatus = a});+gmwersResponseStatus = lens _gmwersResponseStatus (\ s a -> s{_gmwersResponseStatus = a})  instance NFData GetMaintenanceWindowExecutionResponse          where
gen/Network/AWS/SSM/GetMaintenanceWindowExecutionTask.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetMaintenanceWindowExecutionTask--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -77,16 +77,16 @@     -> GetMaintenanceWindowExecutionTask getMaintenanceWindowExecutionTask pWindowExecutionId_ pTaskId_ =   GetMaintenanceWindowExecutionTask'-  {_gmwetWindowExecutionId = pWindowExecutionId_, _gmwetTaskId = pTaskId_}+    {_gmwetWindowExecutionId = pWindowExecutionId_, _gmwetTaskId = pTaskId_}   -- | The ID of the Maintenance Window execution that includes the task. gmwetWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTask Text-gmwetWindowExecutionId = lens _gmwetWindowExecutionId (\ s a -> s{_gmwetWindowExecutionId = a});+gmwetWindowExecutionId = lens _gmwetWindowExecutionId (\ s a -> s{_gmwetWindowExecutionId = a})  -- | The ID of the specific task execution in the Maintenance Window task that should be retrieved. gmwetTaskId :: Lens' GetMaintenanceWindowExecutionTask Text-gmwetTaskId = lens _gmwetTaskId (\ s a -> s{_gmwetTaskId = a});+gmwetTaskId = lens _gmwetTaskId (\ s a -> s{_gmwetTaskId = a})  instance AWSRequest GetMaintenanceWindowExecutionTask          where@@ -201,78 +201,78 @@     -> GetMaintenanceWindowExecutionTaskResponse getMaintenanceWindowExecutionTaskResponse pResponseStatus_ =   GetMaintenanceWindowExecutionTaskResponse'-  { _gmwetrsStatus = Nothing-  , _gmwetrsTaskParameters = Nothing-  , _gmwetrsTaskExecutionId = Nothing-  , _gmwetrsPriority = Nothing-  , _gmwetrsStartTime = Nothing-  , _gmwetrsTaskARN = Nothing-  , _gmwetrsWindowExecutionId = Nothing-  , _gmwetrsStatusDetails = Nothing-  , _gmwetrsMaxErrors = Nothing-  , _gmwetrsEndTime = Nothing-  , _gmwetrsType = Nothing-  , _gmwetrsMaxConcurrency = Nothing-  , _gmwetrsServiceRole = Nothing-  , _gmwetrsResponseStatus = pResponseStatus_-  }+    { _gmwetrsStatus = Nothing+    , _gmwetrsTaskParameters = Nothing+    , _gmwetrsTaskExecutionId = Nothing+    , _gmwetrsPriority = Nothing+    , _gmwetrsStartTime = Nothing+    , _gmwetrsTaskARN = Nothing+    , _gmwetrsWindowExecutionId = Nothing+    , _gmwetrsStatusDetails = Nothing+    , _gmwetrsMaxErrors = Nothing+    , _gmwetrsEndTime = Nothing+    , _gmwetrsType = Nothing+    , _gmwetrsMaxConcurrency = Nothing+    , _gmwetrsServiceRole = Nothing+    , _gmwetrsResponseStatus = pResponseStatus_+    }   -- | The status of the task. gmwetrsStatus :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe MaintenanceWindowExecutionStatus)-gmwetrsStatus = lens _gmwetrsStatus (\ s a -> s{_gmwetrsStatus = a});+gmwetrsStatus = lens _gmwetrsStatus (\ s a -> s{_gmwetrsStatus = 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 gmwetrsTaskParameters :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe [HashMap Text MaintenanceWindowTaskParameterValueExpression])-gmwetrsTaskParameters = lens _gmwetrsTaskParameters (\ s a -> s{_gmwetrsTaskParameters = a}) . mapping (_Sensitive . _Coerce);+gmwetrsTaskParameters = lens _gmwetrsTaskParameters (\ s a -> s{_gmwetrsTaskParameters = a}) . mapping (_Sensitive . _Coerce)  -- | The ID of the specific task execution in the Maintenance Window task that was retrieved. gmwetrsTaskExecutionId :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsTaskExecutionId = lens _gmwetrsTaskExecutionId (\ s a -> s{_gmwetrsTaskExecutionId = a});+gmwetrsTaskExecutionId = lens _gmwetrsTaskExecutionId (\ s a -> s{_gmwetrsTaskExecutionId = a})  -- | The priority of the task. gmwetrsPriority :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Natural)-gmwetrsPriority = lens _gmwetrsPriority (\ s a -> s{_gmwetrsPriority = a}) . mapping _Nat;+gmwetrsPriority = lens _gmwetrsPriority (\ s a -> s{_gmwetrsPriority = a}) . mapping _Nat  -- | The time the task execution started. gmwetrsStartTime :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe UTCTime)-gmwetrsStartTime = lens _gmwetrsStartTime (\ s a -> s{_gmwetrsStartTime = a}) . mapping _Time;+gmwetrsStartTime = lens _gmwetrsStartTime (\ s a -> s{_gmwetrsStartTime = a}) . mapping _Time  -- | The ARN of the executed task. gmwetrsTaskARN :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsTaskARN = lens _gmwetrsTaskARN (\ s a -> s{_gmwetrsTaskARN = a});+gmwetrsTaskARN = lens _gmwetrsTaskARN (\ s a -> s{_gmwetrsTaskARN = a})  -- | The ID of the Maintenance Window execution that includes the task. gmwetrsWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsWindowExecutionId = lens _gmwetrsWindowExecutionId (\ s a -> s{_gmwetrsWindowExecutionId = a});+gmwetrsWindowExecutionId = lens _gmwetrsWindowExecutionId (\ s a -> s{_gmwetrsWindowExecutionId = a})  -- | The details explaining the Status. Only available for certain status values. gmwetrsStatusDetails :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsStatusDetails = lens _gmwetrsStatusDetails (\ s a -> s{_gmwetrsStatusDetails = a});+gmwetrsStatusDetails = lens _gmwetrsStatusDetails (\ s a -> s{_gmwetrsStatusDetails = a})  -- | The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped. gmwetrsMaxErrors :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsMaxErrors = lens _gmwetrsMaxErrors (\ s a -> s{_gmwetrsMaxErrors = a});+gmwetrsMaxErrors = lens _gmwetrsMaxErrors (\ s a -> s{_gmwetrsMaxErrors = a})  -- | The time the task execution completed. gmwetrsEndTime :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe UTCTime)-gmwetrsEndTime = lens _gmwetrsEndTime (\ s a -> s{_gmwetrsEndTime = a}) . mapping _Time;+gmwetrsEndTime = lens _gmwetrsEndTime (\ s a -> s{_gmwetrsEndTime = a}) . mapping _Time  -- | The type of task executed. gmwetrsType :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe MaintenanceWindowTaskType)-gmwetrsType = lens _gmwetrsType (\ s a -> s{_gmwetrsType = a});+gmwetrsType = lens _gmwetrsType (\ s a -> s{_gmwetrsType = a})  -- | The defined maximum number of task executions that could be run in parallel. gmwetrsMaxConcurrency :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsMaxConcurrency = lens _gmwetrsMaxConcurrency (\ s a -> s{_gmwetrsMaxConcurrency = a});+gmwetrsMaxConcurrency = lens _gmwetrsMaxConcurrency (\ s a -> s{_gmwetrsMaxConcurrency = a})  -- | The role that was assumed when executing the task. gmwetrsServiceRole :: Lens' GetMaintenanceWindowExecutionTaskResponse (Maybe Text)-gmwetrsServiceRole = lens _gmwetrsServiceRole (\ s a -> s{_gmwetrsServiceRole = a});+gmwetrsServiceRole = lens _gmwetrsServiceRole (\ s a -> s{_gmwetrsServiceRole = a})  -- | -- | The response status code. gmwetrsResponseStatus :: Lens' GetMaintenanceWindowExecutionTaskResponse Int-gmwetrsResponseStatus = lens _gmwetrsResponseStatus (\ s a -> s{_gmwetrsResponseStatus = a});+gmwetrsResponseStatus = lens _gmwetrsResponseStatus (\ s a -> s{_gmwetrsResponseStatus = a})  instance NFData            GetMaintenanceWindowExecutionTaskResponse
gen/Network/AWS/SSM/GetMaintenanceWindowExecutionTaskInvocation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetMaintenanceWindowExecutionTaskInvocation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -81,23 +81,23 @@     -> GetMaintenanceWindowExecutionTaskInvocation getMaintenanceWindowExecutionTaskInvocation pWindowExecutionId_ pTaskId_ pInvocationId_ =   GetMaintenanceWindowExecutionTaskInvocation'-  { _gmwetiWindowExecutionId = pWindowExecutionId_-  , _gmwetiTaskId = pTaskId_-  , _gmwetiInvocationId = pInvocationId_-  }+    { _gmwetiWindowExecutionId = pWindowExecutionId_+    , _gmwetiTaskId = pTaskId_+    , _gmwetiInvocationId = pInvocationId_+    }   -- | The ID of the Maintenance Window execution for which the task is a part. gmwetiWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocation Text-gmwetiWindowExecutionId = lens _gmwetiWindowExecutionId (\ s a -> s{_gmwetiWindowExecutionId = a});+gmwetiWindowExecutionId = lens _gmwetiWindowExecutionId (\ s a -> s{_gmwetiWindowExecutionId = a})  -- | The ID of the specific task in the Maintenance Window task that should be retrieved. gmwetiTaskId :: Lens' GetMaintenanceWindowExecutionTaskInvocation Text-gmwetiTaskId = lens _gmwetiTaskId (\ s a -> s{_gmwetiTaskId = a});+gmwetiTaskId = lens _gmwetiTaskId (\ s a -> s{_gmwetiTaskId = a})  -- | The invocation ID to retrieve. gmwetiInvocationId :: Lens' GetMaintenanceWindowExecutionTaskInvocation Text-gmwetiInvocationId = lens _gmwetiInvocationId (\ s a -> s{_gmwetiInvocationId = a});+gmwetiInvocationId = lens _gmwetiInvocationId (\ s a -> s{_gmwetiInvocationId = a})  instance AWSRequest            GetMaintenanceWindowExecutionTaskInvocation@@ -217,73 +217,73 @@     -> GetMaintenanceWindowExecutionTaskInvocationResponse getMaintenanceWindowExecutionTaskInvocationResponse pResponseStatus_ =   GetMaintenanceWindowExecutionTaskInvocationResponse'-  { _gmwetirsStatus = Nothing-  , _gmwetirsExecutionId = Nothing-  , _gmwetirsTaskExecutionId = Nothing-  , _gmwetirsStartTime = Nothing-  , _gmwetirsInvocationId = Nothing-  , _gmwetirsOwnerInformation = Nothing-  , _gmwetirsTaskType = Nothing-  , _gmwetirsWindowTargetId = Nothing-  , _gmwetirsWindowExecutionId = Nothing-  , _gmwetirsStatusDetails = Nothing-  , _gmwetirsEndTime = Nothing-  , _gmwetirsParameters = Nothing-  , _gmwetirsResponseStatus = pResponseStatus_-  }+    { _gmwetirsStatus = Nothing+    , _gmwetirsExecutionId = Nothing+    , _gmwetirsTaskExecutionId = Nothing+    , _gmwetirsStartTime = Nothing+    , _gmwetirsInvocationId = Nothing+    , _gmwetirsOwnerInformation = Nothing+    , _gmwetirsTaskType = Nothing+    , _gmwetirsWindowTargetId = Nothing+    , _gmwetirsWindowExecutionId = Nothing+    , _gmwetirsStatusDetails = Nothing+    , _gmwetirsEndTime = Nothing+    , _gmwetirsParameters = Nothing+    , _gmwetirsResponseStatus = pResponseStatus_+    }   -- | The task status for an invocation. gmwetirsStatus :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe MaintenanceWindowExecutionStatus)-gmwetirsStatus = lens _gmwetirsStatus (\ s a -> s{_gmwetirsStatus = a});+gmwetirsStatus = lens _gmwetirsStatus (\ s a -> s{_gmwetirsStatus = a})  -- | The execution ID. gmwetirsExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsExecutionId = lens _gmwetirsExecutionId (\ s a -> s{_gmwetirsExecutionId = a});+gmwetirsExecutionId = lens _gmwetirsExecutionId (\ s a -> s{_gmwetirsExecutionId = a})  -- | The task execution ID. gmwetirsTaskExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsTaskExecutionId = lens _gmwetirsTaskExecutionId (\ s a -> s{_gmwetirsTaskExecutionId = a});+gmwetirsTaskExecutionId = lens _gmwetirsTaskExecutionId (\ s a -> s{_gmwetirsTaskExecutionId = a})  -- | The time that the task started executing on the target. gmwetirsStartTime :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe UTCTime)-gmwetirsStartTime = lens _gmwetirsStartTime (\ s a -> s{_gmwetirsStartTime = a}) . mapping _Time;+gmwetirsStartTime = lens _gmwetirsStartTime (\ s a -> s{_gmwetirsStartTime = a}) . mapping _Time  -- | The invocation ID. gmwetirsInvocationId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsInvocationId = lens _gmwetirsInvocationId (\ s a -> s{_gmwetirsInvocationId = a});+gmwetirsInvocationId = lens _gmwetirsInvocationId (\ s a -> s{_gmwetirsInvocationId = a})  -- | 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)-gmwetirsOwnerInformation = lens _gmwetirsOwnerInformation (\ s a -> s{_gmwetirsOwnerInformation = a}) . mapping _Sensitive;+gmwetirsOwnerInformation = lens _gmwetirsOwnerInformation (\ s a -> s{_gmwetirsOwnerInformation = a}) . mapping _Sensitive  -- | Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND. gmwetirsTaskType :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe MaintenanceWindowTaskType)-gmwetirsTaskType = lens _gmwetirsTaskType (\ s a -> s{_gmwetirsTaskType = a});+gmwetirsTaskType = lens _gmwetirsTaskType (\ s a -> s{_gmwetirsTaskType = a})  -- | The Maintenance Window target ID. gmwetirsWindowTargetId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsWindowTargetId = lens _gmwetirsWindowTargetId (\ s a -> s{_gmwetirsWindowTargetId = a});+gmwetirsWindowTargetId = lens _gmwetirsWindowTargetId (\ s a -> s{_gmwetirsWindowTargetId = a})  -- | The Maintenance Window execution ID. gmwetirsWindowExecutionId :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsWindowExecutionId = lens _gmwetirsWindowExecutionId (\ s a -> s{_gmwetirsWindowExecutionId = a});+gmwetirsWindowExecutionId = lens _gmwetirsWindowExecutionId (\ s a -> s{_gmwetirsWindowExecutionId = a})  -- | The details explaining the status. Details are only available for certain status values. gmwetirsStatusDetails :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsStatusDetails = lens _gmwetirsStatusDetails (\ s a -> s{_gmwetirsStatusDetails = a});+gmwetirsStatusDetails = lens _gmwetirsStatusDetails (\ s a -> s{_gmwetirsStatusDetails = a})  -- | The time that the task finished executing on the target. gmwetirsEndTime :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe UTCTime)-gmwetirsEndTime = lens _gmwetirsEndTime (\ s a -> s{_gmwetirsEndTime = a}) . mapping _Time;+gmwetirsEndTime = lens _gmwetirsEndTime (\ s a -> s{_gmwetirsEndTime = a}) . mapping _Time  -- | The parameters used at the time that the task executed. gmwetirsParameters :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse (Maybe Text)-gmwetirsParameters = lens _gmwetirsParameters (\ s a -> s{_gmwetirsParameters = a}) . mapping _Sensitive;+gmwetirsParameters = lens _gmwetirsParameters (\ s a -> s{_gmwetirsParameters = a}) . mapping _Sensitive  -- | -- | The response status code. gmwetirsResponseStatus :: Lens' GetMaintenanceWindowExecutionTaskInvocationResponse Int-gmwetirsResponseStatus = lens _gmwetirsResponseStatus (\ s a -> s{_gmwetirsResponseStatus = a});+gmwetirsResponseStatus = lens _gmwetirsResponseStatus (\ s a -> s{_gmwetirsResponseStatus = a})  instance NFData            GetMaintenanceWindowExecutionTaskInvocationResponse
gen/Network/AWS/SSM/GetMaintenanceWindowTask.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetMaintenanceWindowTask--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -78,16 +78,16 @@     -> GetMaintenanceWindowTask getMaintenanceWindowTask pWindowId_ pWindowTaskId_ =   GetMaintenanceWindowTask'-  {_gmwtWindowId = pWindowId_, _gmwtWindowTaskId = pWindowTaskId_}+    {_gmwtWindowId = pWindowId_, _gmwtWindowTaskId = pWindowTaskId_}   -- | The Maintenance Window ID that includes the task to retrieve. gmwtWindowId :: Lens' GetMaintenanceWindowTask Text-gmwtWindowId = lens _gmwtWindowId (\ s a -> s{_gmwtWindowId = a});+gmwtWindowId = lens _gmwtWindowId (\ s a -> s{_gmwtWindowId = a})  -- | The Maintenance Window task ID to retrieve. gmwtWindowTaskId :: Lens' GetMaintenanceWindowTask Text-gmwtWindowTaskId = lens _gmwtWindowTaskId (\ s a -> s{_gmwtWindowTaskId = a});+gmwtWindowTaskId = lens _gmwtWindowTaskId (\ s a -> s{_gmwtWindowTaskId = a})  instance AWSRequest GetMaintenanceWindowTask where         type Rs GetMaintenanceWindowTask =@@ -196,83 +196,83 @@     -> GetMaintenanceWindowTaskResponse getMaintenanceWindowTaskResponse pResponseStatus_ =   GetMaintenanceWindowTaskResponse'-  { _gmwtrsServiceRoleARN = Nothing-  , _gmwtrsWindowTaskId = Nothing-  , _gmwtrsTaskParameters = Nothing-  , _gmwtrsPriority = Nothing-  , _gmwtrsTaskType = Nothing-  , _gmwtrsTaskARN = Nothing-  , _gmwtrsMaxErrors = Nothing-  , _gmwtrsTaskInvocationParameters = Nothing-  , _gmwtrsName = Nothing-  , _gmwtrsTargets = Nothing-  , _gmwtrsLoggingInfo = Nothing-  , _gmwtrsDescription = Nothing-  , _gmwtrsMaxConcurrency = Nothing-  , _gmwtrsWindowId = Nothing-  , _gmwtrsResponseStatus = pResponseStatus_-  }+    { _gmwtrsServiceRoleARN = Nothing+    , _gmwtrsWindowTaskId = Nothing+    , _gmwtrsTaskParameters = Nothing+    , _gmwtrsPriority = Nothing+    , _gmwtrsTaskType = Nothing+    , _gmwtrsTaskARN = Nothing+    , _gmwtrsMaxErrors = Nothing+    , _gmwtrsTaskInvocationParameters = Nothing+    , _gmwtrsName = Nothing+    , _gmwtrsTargets = Nothing+    , _gmwtrsLoggingInfo = Nothing+    , _gmwtrsDescription = Nothing+    , _gmwtrsMaxConcurrency = Nothing+    , _gmwtrsWindowId = Nothing+    , _gmwtrsResponseStatus = pResponseStatus_+    }   -- | The IAM service role to assume during task execution. gmwtrsServiceRoleARN :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsServiceRoleARN = lens _gmwtrsServiceRoleARN (\ s a -> s{_gmwtrsServiceRoleARN = a});+gmwtrsServiceRoleARN = lens _gmwtrsServiceRoleARN (\ s a -> s{_gmwtrsServiceRoleARN = a})  -- | The retrieved Maintenance Window task ID. gmwtrsWindowTaskId :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsWindowTaskId = lens _gmwtrsWindowTaskId (\ s a -> s{_gmwtrsWindowTaskId = a});+gmwtrsWindowTaskId = lens _gmwtrsWindowTaskId (\ s a -> s{_gmwtrsWindowTaskId = a})  -- | The parameters to pass to the task when it executes. gmwtrsTaskParameters :: Lens' GetMaintenanceWindowTaskResponse (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))-gmwtrsTaskParameters = lens _gmwtrsTaskParameters (\ s a -> s{_gmwtrsTaskParameters = a}) . mapping (_Sensitive . _Map);+gmwtrsTaskParameters = lens _gmwtrsTaskParameters (\ s a -> s{_gmwtrsTaskParameters = a}) . mapping (_Sensitive . _Map)  -- | 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)-gmwtrsPriority = lens _gmwtrsPriority (\ s a -> s{_gmwtrsPriority = a}) . mapping _Nat;+gmwtrsPriority = lens _gmwtrsPriority (\ s a -> s{_gmwtrsPriority = a}) . mapping _Nat  -- | The type of task to execute. gmwtrsTaskType :: Lens' GetMaintenanceWindowTaskResponse (Maybe MaintenanceWindowTaskType)-gmwtrsTaskType = lens _gmwtrsTaskType (\ s a -> s{_gmwtrsTaskType = a});+gmwtrsTaskType = lens _gmwtrsTaskType (\ s a -> s{_gmwtrsTaskType = a})  -- | The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. For STEP_FUNCTION tasks, the value is the state machine ARN. gmwtrsTaskARN :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsTaskARN = lens _gmwtrsTaskARN (\ s a -> s{_gmwtrsTaskARN = a});+gmwtrsTaskARN = lens _gmwtrsTaskARN (\ s a -> s{_gmwtrsTaskARN = a})  -- | The maximum number of errors allowed before the task stops being scheduled. gmwtrsMaxErrors :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsMaxErrors = lens _gmwtrsMaxErrors (\ s a -> s{_gmwtrsMaxErrors = a});+gmwtrsMaxErrors = lens _gmwtrsMaxErrors (\ s a -> s{_gmwtrsMaxErrors = a})  -- | The parameters to pass to the task when it executes. gmwtrsTaskInvocationParameters :: Lens' GetMaintenanceWindowTaskResponse (Maybe MaintenanceWindowTaskInvocationParameters)-gmwtrsTaskInvocationParameters = lens _gmwtrsTaskInvocationParameters (\ s a -> s{_gmwtrsTaskInvocationParameters = a});+gmwtrsTaskInvocationParameters = lens _gmwtrsTaskInvocationParameters (\ s a -> s{_gmwtrsTaskInvocationParameters = a})  -- | The retrieved task name. gmwtrsName :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsName = lens _gmwtrsName (\ s a -> s{_gmwtrsName = a});+gmwtrsName = lens _gmwtrsName (\ s a -> s{_gmwtrsName = a})  -- | The targets where the task should execute. gmwtrsTargets :: Lens' GetMaintenanceWindowTaskResponse [Target]-gmwtrsTargets = lens _gmwtrsTargets (\ s a -> s{_gmwtrsTargets = a}) . _Default . _Coerce;+gmwtrsTargets = lens _gmwtrsTargets (\ s a -> s{_gmwtrsTargets = a}) . _Default . _Coerce  -- | The location in Amazon S3 where the task results are logged. gmwtrsLoggingInfo :: Lens' GetMaintenanceWindowTaskResponse (Maybe LoggingInfo)-gmwtrsLoggingInfo = lens _gmwtrsLoggingInfo (\ s a -> s{_gmwtrsLoggingInfo = a});+gmwtrsLoggingInfo = lens _gmwtrsLoggingInfo (\ s a -> s{_gmwtrsLoggingInfo = a})  -- | The retrieved task description. gmwtrsDescription :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsDescription = lens _gmwtrsDescription (\ s a -> s{_gmwtrsDescription = a}) . mapping _Sensitive;+gmwtrsDescription = lens _gmwtrsDescription (\ s a -> s{_gmwtrsDescription = a}) . mapping _Sensitive  -- | The maximum number of targets allowed to run this task in parallel. gmwtrsMaxConcurrency :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsMaxConcurrency = lens _gmwtrsMaxConcurrency (\ s a -> s{_gmwtrsMaxConcurrency = a});+gmwtrsMaxConcurrency = lens _gmwtrsMaxConcurrency (\ s a -> s{_gmwtrsMaxConcurrency = a})  -- | The retrieved Maintenance Window ID. gmwtrsWindowId :: Lens' GetMaintenanceWindowTaskResponse (Maybe Text)-gmwtrsWindowId = lens _gmwtrsWindowId (\ s a -> s{_gmwtrsWindowId = a});+gmwtrsWindowId = lens _gmwtrsWindowId (\ s a -> s{_gmwtrsWindowId = a})  -- | -- | The response status code. gmwtrsResponseStatus :: Lens' GetMaintenanceWindowTaskResponse Int-gmwtrsResponseStatus = lens _gmwtrsResponseStatus (\ s a -> s{_gmwtrsResponseStatus = a});+gmwtrsResponseStatus = lens _gmwtrsResponseStatus (\ s a -> s{_gmwtrsResponseStatus = a})  instance NFData GetMaintenanceWindowTaskResponse          where
gen/Network/AWS/SSM/GetParameter.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetParameter--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types. gWithDecryption :: Lens' GetParameter (Maybe Bool)-gWithDecryption = lens _gWithDecryption (\ s a -> s{_gWithDecryption = a});+gWithDecryption = lens _gWithDecryption (\ s a -> s{_gWithDecryption = a})  -- | The name of the parameter you want to query. gName :: Lens' GetParameter Text-gName = lens _gName (\ s a -> s{_gName = a});+gName = lens _gName (\ s a -> s{_gName = a})  instance AWSRequest GetParameter where         type Rs GetParameter = GetParameterResponse@@ -128,15 +128,15 @@     -> GetParameterResponse getParameterResponse pResponseStatus_ =   GetParameterResponse'-  {_gprsParameter = Nothing, _gprsResponseStatus = pResponseStatus_}+    {_gprsParameter = Nothing, _gprsResponseStatus = pResponseStatus_}   -- | Information about a parameter. gprsParameter :: Lens' GetParameterResponse (Maybe Parameter)-gprsParameter = lens _gprsParameter (\ s a -> s{_gprsParameter = a});+gprsParameter = lens _gprsParameter (\ s a -> s{_gprsParameter = a})  -- | -- | The response status code. gprsResponseStatus :: Lens' GetParameterResponse Int-gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a});+gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a})  instance NFData GetParameterResponse where
gen/Network/AWS/SSM/GetParameterHistory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetParameterHistory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Query a list of all parameters used by the AWS account. -- --+--+-- This operation returns paginated results. module Network.AWS.SSM.GetParameterHistory     (     -- * Creating a Request@@ -42,6 +44,7 @@     ) where  import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -73,29 +76,36 @@     -> GetParameterHistory getParameterHistory pName_ =   GetParameterHistory'-  { _gphWithDecryption = Nothing-  , _gphNextToken = Nothing-  , _gphMaxResults = Nothing-  , _gphName = pName_-  }+    { _gphWithDecryption = Nothing+    , _gphNextToken = Nothing+    , _gphMaxResults = Nothing+    , _gphName = pName_+    }   -- | Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types. gphWithDecryption :: Lens' GetParameterHistory (Maybe Bool)-gphWithDecryption = lens _gphWithDecryption (\ s a -> s{_gphWithDecryption = a});+gphWithDecryption = lens _gphWithDecryption (\ s a -> s{_gphWithDecryption = a})  -- | The token for the next set of items to return. (You received this token from a previous call.) gphNextToken :: Lens' GetParameterHistory (Maybe Text)-gphNextToken = lens _gphNextToken (\ s a -> s{_gphNextToken = a});+gphNextToken = lens _gphNextToken (\ s a -> s{_gphNextToken = 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. gphMaxResults :: Lens' GetParameterHistory (Maybe Natural)-gphMaxResults = lens _gphMaxResults (\ s a -> s{_gphMaxResults = a}) . mapping _Nat;+gphMaxResults = lens _gphMaxResults (\ s a -> s{_gphMaxResults = a}) . mapping _Nat  -- | The name of a parameter you want to query. gphName :: Lens' GetParameterHistory Text-gphName = lens _gphName (\ s a -> s{_gphName = a});+gphName = lens _gphName (\ s a -> s{_gphName = a}) +instance AWSPager GetParameterHistory where+        page rq rs+          | stop (rs ^. gphrsNextToken) = Nothing+          | stop (rs ^. gphrsParameters) = Nothing+          | otherwise =+            Just $ rq & gphNextToken .~ rs ^. gphrsNextToken+ instance AWSRequest GetParameterHistory where         type Rs GetParameterHistory =              GetParameterHistoryResponse@@ -158,22 +168,22 @@     -> GetParameterHistoryResponse getParameterHistoryResponse pResponseStatus_ =   GetParameterHistoryResponse'-  { _gphrsNextToken = Nothing-  , _gphrsParameters = Nothing-  , _gphrsResponseStatus = pResponseStatus_-  }+    { _gphrsNextToken = Nothing+    , _gphrsParameters = Nothing+    , _gphrsResponseStatus = pResponseStatus_+    }   -- | 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)-gphrsNextToken = lens _gphrsNextToken (\ s a -> s{_gphrsNextToken = a});+gphrsNextToken = lens _gphrsNextToken (\ s a -> s{_gphrsNextToken = a})  -- | A list of parameters returned by the request. gphrsParameters :: Lens' GetParameterHistoryResponse [ParameterHistory]-gphrsParameters = lens _gphrsParameters (\ s a -> s{_gphrsParameters = a}) . _Default . _Coerce;+gphrsParameters = lens _gphrsParameters (\ s a -> s{_gphrsParameters = a}) . _Default . _Coerce  -- | -- | The response status code. gphrsResponseStatus :: Lens' GetParameterHistoryResponse Int-gphrsResponseStatus = lens _gphrsResponseStatus (\ s a -> s{_gphrsResponseStatus = a});+gphrsResponseStatus = lens _gphrsResponseStatus (\ s a -> s{_gphrsResponseStatus = a})  instance NFData GetParameterHistoryResponse where
gen/Network/AWS/SSM/GetParameters.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetParameters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,11 +69,11 @@  -- | 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)-gpWithDecryption = lens _gpWithDecryption (\ s a -> s{_gpWithDecryption = a});+gpWithDecryption = lens _gpWithDecryption (\ s a -> s{_gpWithDecryption = a})  -- | Names of the parameters for which you want to query information. gpNames :: Lens' GetParameters (NonEmpty Text)-gpNames = lens _gpNames (\ s a -> s{_gpNames = a}) . _List1;+gpNames = lens _gpNames (\ s a -> s{_gpNames = a}) . _List1  instance AWSRequest GetParameters where         type Rs GetParameters = GetParametersResponse@@ -134,22 +134,22 @@     -> GetParametersResponse getParametersResponse pResponseStatus_ =   GetParametersResponse'-  { _grsParameters = Nothing-  , _grsInvalidParameters = Nothing-  , _grsResponseStatus = pResponseStatus_-  }+    { _grsParameters = Nothing+    , _grsInvalidParameters = Nothing+    , _grsResponseStatus = pResponseStatus_+    }   -- | A list of details for a parameter. grsParameters :: Lens' GetParametersResponse [Parameter]-grsParameters = lens _grsParameters (\ s a -> s{_grsParameters = a}) . _Default . _Coerce;+grsParameters = lens _grsParameters (\ s a -> s{_grsParameters = a}) . _Default . _Coerce  -- | A list of parameters that are not formatted correctly or do not run when executed. grsInvalidParameters :: Lens' GetParametersResponse [Text]-grsInvalidParameters = lens _grsInvalidParameters (\ s a -> s{_grsInvalidParameters = a}) . _Default . _Coerce;+grsInvalidParameters = lens _grsInvalidParameters (\ s a -> s{_grsInvalidParameters = a}) . _Default . _Coerce  -- | -- | The response status code. grsResponseStatus :: Lens' GetParametersResponse Int-grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a});+grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a})  instance NFData GetParametersResponse where
gen/Network/AWS/SSM/GetParametersByPath.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetParametersByPath--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -23,6 +23,8 @@ -- -- Request results are returned on a best-effort basis. If you specify @MaxResults@ in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of @MaxResults@ . If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a @NextToken@ . You can specify the @NextToken@ in a subsequent call to get the next set of results. --+--+-- This operation returns paginated results. module Network.AWS.SSM.GetParametersByPath     (     -- * Creating a Request@@ -46,6 +48,7 @@     ) where  import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -73,49 +76,56 @@ -- -- * 'gpbpNextToken' - A token to start the list. Use this token to get the next set of results. ----- * 'gpbpRecursive' - Retrieve all parameters within a hierarchy.+-- * 'gpbpRecursive' - Retrieve all parameters within a hierarchy. /Important:/ 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 /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a, they can still call the GetParametersByPath API action recursively and view /a/b. -- -- * 'gpbpMaxResults' - 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. ----- * 'gpbpPath' - The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. Examples: /Environment/Test/DBString003 /Finance/Prod/IAD/OS/WinServ2016/license15+-- * 'gpbpPath' - The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: @/Finance/Prod/IAD/WinServ2016/license33@ getParametersByPath     :: Text -- ^ 'gpbpPath'     -> GetParametersByPath getParametersByPath pPath_ =   GetParametersByPath'-  { _gpbpWithDecryption = Nothing-  , _gpbpParameterFilters = Nothing-  , _gpbpNextToken = Nothing-  , _gpbpRecursive = Nothing-  , _gpbpMaxResults = Nothing-  , _gpbpPath = pPath_-  }+    { _gpbpWithDecryption = Nothing+    , _gpbpParameterFilters = Nothing+    , _gpbpNextToken = Nothing+    , _gpbpRecursive = Nothing+    , _gpbpMaxResults = Nothing+    , _gpbpPath = pPath_+    }   -- | Retrieve all parameters in a hierarchy with their value decrypted. gpbpWithDecryption :: Lens' GetParametersByPath (Maybe Bool)-gpbpWithDecryption = lens _gpbpWithDecryption (\ s a -> s{_gpbpWithDecryption = a});+gpbpWithDecryption = lens _gpbpWithDecryption (\ s a -> s{_gpbpWithDecryption = a})  -- | Filters to limit the request results. gpbpParameterFilters :: Lens' GetParametersByPath [ParameterStringFilter]-gpbpParameterFilters = lens _gpbpParameterFilters (\ s a -> s{_gpbpParameterFilters = a}) . _Default . _Coerce;+gpbpParameterFilters = lens _gpbpParameterFilters (\ s a -> s{_gpbpParameterFilters = a}) . _Default . _Coerce  -- | A token to start the list. Use this token to get the next set of results. gpbpNextToken :: Lens' GetParametersByPath (Maybe Text)-gpbpNextToken = lens _gpbpNextToken (\ s a -> s{_gpbpNextToken = a});+gpbpNextToken = lens _gpbpNextToken (\ s a -> s{_gpbpNextToken = a}) --- | Retrieve all parameters within a hierarchy.+-- | Retrieve all parameters within a hierarchy. /Important:/ 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 /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a, they can still call the GetParametersByPath API action recursively and view /a/b. gpbpRecursive :: Lens' GetParametersByPath (Maybe Bool)-gpbpRecursive = lens _gpbpRecursive (\ s a -> s{_gpbpRecursive = a});+gpbpRecursive = lens _gpbpRecursive (\ s a -> s{_gpbpRecursive = 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. gpbpMaxResults :: Lens' GetParametersByPath (Maybe Natural)-gpbpMaxResults = lens _gpbpMaxResults (\ s a -> s{_gpbpMaxResults = a}) . mapping _Nat;+gpbpMaxResults = lens _gpbpMaxResults (\ s a -> s{_gpbpMaxResults = a}) . mapping _Nat --- | The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. Examples: /Environment/Test/DBString003 /Finance/Prod/IAD/OS/WinServ2016/license15+-- | The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: @/Finance/Prod/IAD/WinServ2016/license33@ gpbpPath :: Lens' GetParametersByPath Text-gpbpPath = lens _gpbpPath (\ s a -> s{_gpbpPath = a});+gpbpPath = lens _gpbpPath (\ s a -> s{_gpbpPath = a}) +instance AWSPager GetParametersByPath where+        page rq rs+          | stop (rs ^. gpbprsNextToken) = Nothing+          | stop (rs ^. gpbprsParameters) = Nothing+          | otherwise =+            Just $ rq & gpbpNextToken .~ rs ^. gpbprsNextToken+ instance AWSRequest GetParametersByPath where         type Rs GetParametersByPath =              GetParametersByPathResponse@@ -180,22 +190,22 @@     -> GetParametersByPathResponse getParametersByPathResponse pResponseStatus_ =   GetParametersByPathResponse'-  { _gpbprsNextToken = Nothing-  , _gpbprsParameters = Nothing-  , _gpbprsResponseStatus = pResponseStatus_-  }+    { _gpbprsNextToken = Nothing+    , _gpbprsParameters = Nothing+    , _gpbprsResponseStatus = pResponseStatus_+    }   -- | 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)-gpbprsNextToken = lens _gpbprsNextToken (\ s a -> s{_gpbprsNextToken = a});+gpbprsNextToken = lens _gpbprsNextToken (\ s a -> s{_gpbprsNextToken = a})  -- | A list of parameters found in the specified hierarchy. gpbprsParameters :: Lens' GetParametersByPathResponse [Parameter]-gpbprsParameters = lens _gpbprsParameters (\ s a -> s{_gpbprsParameters = a}) . _Default . _Coerce;+gpbprsParameters = lens _gpbprsParameters (\ s a -> s{_gpbprsParameters = a}) . _Default . _Coerce  -- | -- | The response status code. gpbprsResponseStatus :: Lens' GetParametersByPathResponse Int-gpbprsResponseStatus = lens _gpbprsResponseStatus (\ s a -> s{_gpbprsResponseStatus = a});+gpbprsResponseStatus = lens _gpbprsResponseStatus (\ s a -> s{_gpbprsResponseStatus = a})  instance NFData GetParametersByPathResponse where
gen/Network/AWS/SSM/GetPatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetPatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -38,7 +38,9 @@     , gpbrsGlobalFilters     , gpbrsApprovedPatchesComplianceLevel     , gpbrsApprovedPatches+    , gpbrsApprovedPatchesEnableNonSecurity     , gpbrsRejectedPatches+    , gpbrsSources     , gpbrsCreatedDate     , gpbrsName     , gpbrsPatchGroups@@ -75,7 +77,7 @@  -- | The ID of the patch baseline to retrieve. gpbBaselineId :: Lens' GetPatchBaseline Text-gpbBaselineId = lens _gpbBaselineId (\ s a -> s{_gpbBaselineId = a});+gpbBaselineId = lens _gpbBaselineId (\ s a -> s{_gpbBaselineId = a})  instance AWSRequest GetPatchBaseline where         type Rs GetPatchBaseline = GetPatchBaselineResponse@@ -88,7 +90,9 @@                      <*> (x .?> "GlobalFilters")                      <*> (x .?> "ApprovedPatchesComplianceLevel")                      <*> (x .?> "ApprovedPatches" .!@ mempty)+                     <*> (x .?> "ApprovedPatchesEnableNonSecurity")                      <*> (x .?> "RejectedPatches" .!@ mempty)+                     <*> (x .?> "Sources" .!@ mempty)                      <*> (x .?> "CreatedDate")                      <*> (x .?> "Name")                      <*> (x .?> "PatchGroups" .!@ mempty)@@ -123,20 +127,22 @@  -- | /See:/ 'getPatchBaselineResponse' smart constructor. data GetPatchBaselineResponse = GetPatchBaselineResponse'-  { _gpbrsApprovalRules                  :: !(Maybe PatchRuleGroup)-  , _gpbrsOperatingSystem                :: !(Maybe OperatingSystem)-  , _gpbrsGlobalFilters                  :: !(Maybe PatchFilterGroup)-  , _gpbrsApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)-  , _gpbrsApprovedPatches                :: !(Maybe [Text])-  , _gpbrsRejectedPatches                :: !(Maybe [Text])-  , _gpbrsCreatedDate                    :: !(Maybe POSIX)-  , _gpbrsName                           :: !(Maybe Text)-  , _gpbrsPatchGroups                    :: !(Maybe [Text])-  , _gpbrsModifiedDate                   :: !(Maybe POSIX)-  , _gpbrsDescription                    :: !(Maybe Text)-  , _gpbrsBaselineId                     :: !(Maybe Text)-  , _gpbrsResponseStatus                 :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)+  { _gpbrsApprovalRules                    :: !(Maybe PatchRuleGroup)+  , _gpbrsOperatingSystem                  :: !(Maybe OperatingSystem)+  , _gpbrsGlobalFilters                    :: !(Maybe PatchFilterGroup)+  , _gpbrsApprovedPatchesComplianceLevel   :: !(Maybe PatchComplianceLevel)+  , _gpbrsApprovedPatches                  :: !(Maybe [Text])+  , _gpbrsApprovedPatchesEnableNonSecurity :: !(Maybe Bool)+  , _gpbrsRejectedPatches                  :: !(Maybe [Text])+  , _gpbrsSources                          :: !(Maybe [PatchSource])+  , _gpbrsCreatedDate                      :: !(Maybe POSIX)+  , _gpbrsName                             :: !(Maybe Text)+  , _gpbrsPatchGroups                      :: !(Maybe [Text])+  , _gpbrsModifiedDate                     :: !(Maybe POSIX)+  , _gpbrsDescription                      :: !(Maybe Text)+  , _gpbrsBaselineId                       :: !(Maybe Text)+  , _gpbrsResponseStatus                   :: !Int+  } deriving (Eq, Show, Data, Typeable, Generic)   -- | Creates a value of 'GetPatchBaselineResponse' with the minimum fields required to make a request.@@ -153,8 +159,12 @@ -- -- * 'gpbrsApprovedPatches' - A list of explicitly approved patches for the baseline. --+-- * 'gpbrsApprovedPatchesEnableNonSecurity' - Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.+-- -- * 'gpbrsRejectedPatches' - A list of explicitly rejected patches for the baseline. --+-- * 'gpbrsSources' - Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.+-- -- * 'gpbrsCreatedDate' - The date the patch baseline was created. -- -- * 'gpbrsName' - The name of the patch baseline.@@ -173,72 +183,82 @@     -> GetPatchBaselineResponse getPatchBaselineResponse pResponseStatus_ =   GetPatchBaselineResponse'-  { _gpbrsApprovalRules = Nothing-  , _gpbrsOperatingSystem = Nothing-  , _gpbrsGlobalFilters = Nothing-  , _gpbrsApprovedPatchesComplianceLevel = Nothing-  , _gpbrsApprovedPatches = Nothing-  , _gpbrsRejectedPatches = Nothing-  , _gpbrsCreatedDate = Nothing-  , _gpbrsName = Nothing-  , _gpbrsPatchGroups = Nothing-  , _gpbrsModifiedDate = Nothing-  , _gpbrsDescription = Nothing-  , _gpbrsBaselineId = Nothing-  , _gpbrsResponseStatus = pResponseStatus_-  }+    { _gpbrsApprovalRules = Nothing+    , _gpbrsOperatingSystem = Nothing+    , _gpbrsGlobalFilters = Nothing+    , _gpbrsApprovedPatchesComplianceLevel = Nothing+    , _gpbrsApprovedPatches = Nothing+    , _gpbrsApprovedPatchesEnableNonSecurity = Nothing+    , _gpbrsRejectedPatches = Nothing+    , _gpbrsSources = Nothing+    , _gpbrsCreatedDate = Nothing+    , _gpbrsName = Nothing+    , _gpbrsPatchGroups = Nothing+    , _gpbrsModifiedDate = Nothing+    , _gpbrsDescription = Nothing+    , _gpbrsBaselineId = Nothing+    , _gpbrsResponseStatus = pResponseStatus_+    }   -- | A set of rules used to include patches in the baseline. gpbrsApprovalRules :: Lens' GetPatchBaselineResponse (Maybe PatchRuleGroup)-gpbrsApprovalRules = lens _gpbrsApprovalRules (\ s a -> s{_gpbrsApprovalRules = a});+gpbrsApprovalRules = lens _gpbrsApprovalRules (\ s a -> s{_gpbrsApprovalRules = a})  -- | Returns the operating system specified for the patch baseline. gpbrsOperatingSystem :: Lens' GetPatchBaselineResponse (Maybe OperatingSystem)-gpbrsOperatingSystem = lens _gpbrsOperatingSystem (\ s a -> s{_gpbrsOperatingSystem = a});+gpbrsOperatingSystem = lens _gpbrsOperatingSystem (\ s a -> s{_gpbrsOperatingSystem = a})  -- | A set of global filters used to exclude patches from the baseline. gpbrsGlobalFilters :: Lens' GetPatchBaselineResponse (Maybe PatchFilterGroup)-gpbrsGlobalFilters = lens _gpbrsGlobalFilters (\ s a -> s{_gpbrsGlobalFilters = a});+gpbrsGlobalFilters = lens _gpbrsGlobalFilters (\ s a -> s{_gpbrsGlobalFilters = a})  -- | Returns the specified compliance severity level for approved patches in the patch baseline. gpbrsApprovedPatchesComplianceLevel :: Lens' GetPatchBaselineResponse (Maybe PatchComplianceLevel)-gpbrsApprovedPatchesComplianceLevel = lens _gpbrsApprovedPatchesComplianceLevel (\ s a -> s{_gpbrsApprovedPatchesComplianceLevel = a});+gpbrsApprovedPatchesComplianceLevel = lens _gpbrsApprovedPatchesComplianceLevel (\ s a -> s{_gpbrsApprovedPatchesComplianceLevel = a})  -- | A list of explicitly approved patches for the baseline. gpbrsApprovedPatches :: Lens' GetPatchBaselineResponse [Text]-gpbrsApprovedPatches = lens _gpbrsApprovedPatches (\ s a -> s{_gpbrsApprovedPatches = a}) . _Default . _Coerce;+gpbrsApprovedPatches = lens _gpbrsApprovedPatches (\ s a -> s{_gpbrsApprovedPatches = a}) . _Default . _Coerce +-- | Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.+gpbrsApprovedPatchesEnableNonSecurity :: Lens' GetPatchBaselineResponse (Maybe Bool)+gpbrsApprovedPatchesEnableNonSecurity = lens _gpbrsApprovedPatchesEnableNonSecurity (\ s a -> s{_gpbrsApprovedPatchesEnableNonSecurity = a})+ -- | A list of explicitly rejected patches for the baseline. gpbrsRejectedPatches :: Lens' GetPatchBaselineResponse [Text]-gpbrsRejectedPatches = lens _gpbrsRejectedPatches (\ s a -> s{_gpbrsRejectedPatches = a}) . _Default . _Coerce;+gpbrsRejectedPatches = lens _gpbrsRejectedPatches (\ s a -> s{_gpbrsRejectedPatches = a}) . _Default . _Coerce +-- | 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]+gpbrsSources = lens _gpbrsSources (\ s a -> s{_gpbrsSources = a}) . _Default . _Coerce+ -- | The date the patch baseline was created. gpbrsCreatedDate :: Lens' GetPatchBaselineResponse (Maybe UTCTime)-gpbrsCreatedDate = lens _gpbrsCreatedDate (\ s a -> s{_gpbrsCreatedDate = a}) . mapping _Time;+gpbrsCreatedDate = lens _gpbrsCreatedDate (\ s a -> s{_gpbrsCreatedDate = a}) . mapping _Time  -- | The name of the patch baseline. gpbrsName :: Lens' GetPatchBaselineResponse (Maybe Text)-gpbrsName = lens _gpbrsName (\ s a -> s{_gpbrsName = a});+gpbrsName = lens _gpbrsName (\ s a -> s{_gpbrsName = a})  -- | Patch groups included in the patch baseline. gpbrsPatchGroups :: Lens' GetPatchBaselineResponse [Text]-gpbrsPatchGroups = lens _gpbrsPatchGroups (\ s a -> s{_gpbrsPatchGroups = a}) . _Default . _Coerce;+gpbrsPatchGroups = lens _gpbrsPatchGroups (\ s a -> s{_gpbrsPatchGroups = a}) . _Default . _Coerce  -- | The date the patch baseline was last modified. gpbrsModifiedDate :: Lens' GetPatchBaselineResponse (Maybe UTCTime)-gpbrsModifiedDate = lens _gpbrsModifiedDate (\ s a -> s{_gpbrsModifiedDate = a}) . mapping _Time;+gpbrsModifiedDate = lens _gpbrsModifiedDate (\ s a -> s{_gpbrsModifiedDate = a}) . mapping _Time  -- | A description of the patch baseline. gpbrsDescription :: Lens' GetPatchBaselineResponse (Maybe Text)-gpbrsDescription = lens _gpbrsDescription (\ s a -> s{_gpbrsDescription = a});+gpbrsDescription = lens _gpbrsDescription (\ s a -> s{_gpbrsDescription = a})  -- | The ID of the retrieved patch baseline. gpbrsBaselineId :: Lens' GetPatchBaselineResponse (Maybe Text)-gpbrsBaselineId = lens _gpbrsBaselineId (\ s a -> s{_gpbrsBaselineId = a});+gpbrsBaselineId = lens _gpbrsBaselineId (\ s a -> s{_gpbrsBaselineId = a})  -- | -- | The response status code. gpbrsResponseStatus :: Lens' GetPatchBaselineResponse Int-gpbrsResponseStatus = lens _gpbrsResponseStatus (\ s a -> s{_gpbrsResponseStatus = a});+gpbrsResponseStatus = lens _gpbrsResponseStatus (\ s a -> s{_gpbrsResponseStatus = a})  instance NFData GetPatchBaselineResponse where
gen/Network/AWS/SSM/GetPatchBaselineForPatchGroup.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.GetPatchBaselineForPatchGroup--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,16 +66,16 @@     -> GetPatchBaselineForPatchGroup getPatchBaselineForPatchGroup pPatchGroup_ =   GetPatchBaselineForPatchGroup'-  {_gpbfpgOperatingSystem = Nothing, _gpbfpgPatchGroup = pPatchGroup_}+    {_gpbfpgOperatingSystem = Nothing, _gpbfpgPatchGroup = pPatchGroup_}   -- | Returns he operating system rule specified for patch groups using the patch baseline. gpbfpgOperatingSystem :: Lens' GetPatchBaselineForPatchGroup (Maybe OperatingSystem)-gpbfpgOperatingSystem = lens _gpbfpgOperatingSystem (\ s a -> s{_gpbfpgOperatingSystem = a});+gpbfpgOperatingSystem = lens _gpbfpgOperatingSystem (\ s a -> s{_gpbfpgOperatingSystem = a})  -- | The name of the patch group whose patch baseline should be retrieved. gpbfpgPatchGroup :: Lens' GetPatchBaselineForPatchGroup Text-gpbfpgPatchGroup = lens _gpbfpgPatchGroup (\ s a -> s{_gpbfpgPatchGroup = a});+gpbfpgPatchGroup = lens _gpbfpgPatchGroup (\ s a -> s{_gpbfpgPatchGroup = a})  instance AWSRequest GetPatchBaselineForPatchGroup          where@@ -143,28 +143,28 @@     -> GetPatchBaselineForPatchGroupResponse getPatchBaselineForPatchGroupResponse pResponseStatus_ =   GetPatchBaselineForPatchGroupResponse'-  { _gpbfpgrsOperatingSystem = Nothing-  , _gpbfpgrsBaselineId = Nothing-  , _gpbfpgrsPatchGroup = Nothing-  , _gpbfpgrsResponseStatus = pResponseStatus_-  }+    { _gpbfpgrsOperatingSystem = Nothing+    , _gpbfpgrsBaselineId = Nothing+    , _gpbfpgrsPatchGroup = Nothing+    , _gpbfpgrsResponseStatus = pResponseStatus_+    }   -- | The operating system rule specified for patch groups using the patch baseline. gpbfpgrsOperatingSystem :: Lens' GetPatchBaselineForPatchGroupResponse (Maybe OperatingSystem)-gpbfpgrsOperatingSystem = lens _gpbfpgrsOperatingSystem (\ s a -> s{_gpbfpgrsOperatingSystem = a});+gpbfpgrsOperatingSystem = lens _gpbfpgrsOperatingSystem (\ s a -> s{_gpbfpgrsOperatingSystem = a})  -- | The ID of the patch baseline that should be used for the patch group. gpbfpgrsBaselineId :: Lens' GetPatchBaselineForPatchGroupResponse (Maybe Text)-gpbfpgrsBaselineId = lens _gpbfpgrsBaselineId (\ s a -> s{_gpbfpgrsBaselineId = a});+gpbfpgrsBaselineId = lens _gpbfpgrsBaselineId (\ s a -> s{_gpbfpgrsBaselineId = a})  -- | The name of the patch group. gpbfpgrsPatchGroup :: Lens' GetPatchBaselineForPatchGroupResponse (Maybe Text)-gpbfpgrsPatchGroup = lens _gpbfpgrsPatchGroup (\ s a -> s{_gpbfpgrsPatchGroup = a});+gpbfpgrsPatchGroup = lens _gpbfpgrsPatchGroup (\ s a -> s{_gpbfpgrsPatchGroup = a})  -- | -- | The response status code. gpbfpgrsResponseStatus :: Lens' GetPatchBaselineForPatchGroupResponse Int-gpbfpgrsResponseStatus = lens _gpbfpgrsResponseStatus (\ s a -> s{_gpbfpgrsResponseStatus = a});+gpbfpgrsResponseStatus = lens _gpbfpgrsResponseStatus (\ s a -> s{_gpbfpgrsResponseStatus = a})  instance NFData GetPatchBaselineForPatchGroupResponse          where
gen/Network/AWS/SSM/ListAssociationVersions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListAssociationVersions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> ListAssociationVersions listAssociationVersions pAssociationId_ =   ListAssociationVersions'-  { _lavNextToken = Nothing-  , _lavMaxResults = Nothing-  , _lavAssociationId = pAssociationId_-  }+    { _lavNextToken = Nothing+    , _lavMaxResults = Nothing+    , _lavAssociationId = pAssociationId_+    }   -- | A token to start the list. Use this token to get the next set of results. lavNextToken :: Lens' ListAssociationVersions (Maybe Text)-lavNextToken = lens _lavNextToken (\ s a -> s{_lavNextToken = a});+lavNextToken = lens _lavNextToken (\ s a -> s{_lavNextToken = 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. lavMaxResults :: Lens' ListAssociationVersions (Maybe Natural)-lavMaxResults = lens _lavMaxResults (\ s a -> s{_lavMaxResults = a}) . mapping _Nat;+lavMaxResults = lens _lavMaxResults (\ s a -> s{_lavMaxResults = a}) . mapping _Nat  -- | The association ID for which you want to view all versions. lavAssociationId :: Lens' ListAssociationVersions Text-lavAssociationId = lens _lavAssociationId (\ s a -> s{_lavAssociationId = a});+lavAssociationId = lens _lavAssociationId (\ s a -> s{_lavAssociationId = a})  instance AWSRequest ListAssociationVersions where         type Rs ListAssociationVersions =@@ -147,22 +147,22 @@     -> ListAssociationVersionsResponse listAssociationVersionsResponse pResponseStatus_ =   ListAssociationVersionsResponse'-  { _lavrsNextToken = Nothing-  , _lavrsAssociationVersions = Nothing-  , _lavrsResponseStatus = pResponseStatus_-  }+    { _lavrsNextToken = Nothing+    , _lavrsAssociationVersions = Nothing+    , _lavrsResponseStatus = pResponseStatus_+    }   -- | 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)-lavrsNextToken = lens _lavrsNextToken (\ s a -> s{_lavrsNextToken = a});+lavrsNextToken = lens _lavrsNextToken (\ s a -> s{_lavrsNextToken = a})  -- | Information about all versions of the association for the specified association ID. lavrsAssociationVersions :: Lens' ListAssociationVersionsResponse (Maybe (NonEmpty AssociationVersionInfo))-lavrsAssociationVersions = lens _lavrsAssociationVersions (\ s a -> s{_lavrsAssociationVersions = a}) . mapping _List1;+lavrsAssociationVersions = lens _lavrsAssociationVersions (\ s a -> s{_lavrsAssociationVersions = a}) . mapping _List1  -- | -- | The response status code. lavrsResponseStatus :: Lens' ListAssociationVersionsResponse Int-lavrsResponseStatus = lens _lavrsResponseStatus (\ s a -> s{_lavrsResponseStatus = a});+lavrsResponseStatus = lens _lavrsResponseStatus (\ s a -> s{_lavrsResponseStatus = a})  instance NFData ListAssociationVersionsResponse where
gen/Network/AWS/SSM/ListAssociations.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListAssociations--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,23 +71,23 @@     :: ListAssociations listAssociations =   ListAssociations'-  { _laAssociationFilterList = Nothing-  , _laNextToken = Nothing-  , _laMaxResults = Nothing-  }+    { _laAssociationFilterList = Nothing+    , _laNextToken = Nothing+    , _laMaxResults = Nothing+    }   -- | One or more filters. Use a filter to return a more specific list of results. laAssociationFilterList :: Lens' ListAssociations (Maybe (NonEmpty AssociationFilter))-laAssociationFilterList = lens _laAssociationFilterList (\ s a -> s{_laAssociationFilterList = a}) . mapping _List1;+laAssociationFilterList = lens _laAssociationFilterList (\ s a -> s{_laAssociationFilterList = a}) . mapping _List1  -- | The token for the next set of items to return. (You received this token from a previous call.) laNextToken :: Lens' ListAssociations (Maybe Text)-laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});+laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = 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. laMaxResults :: Lens' ListAssociations (Maybe Natural)-laMaxResults = lens _laMaxResults (\ s a -> s{_laMaxResults = a}) . mapping _Nat;+laMaxResults = lens _laMaxResults (\ s a -> s{_laMaxResults = a}) . mapping _Nat  instance AWSPager ListAssociations where         page rq rs@@ -157,22 +157,22 @@     -> ListAssociationsResponse listAssociationsResponse pResponseStatus_ =   ListAssociationsResponse'-  { _larsNextToken = Nothing-  , _larsAssociations = Nothing-  , _larsResponseStatus = pResponseStatus_-  }+    { _larsNextToken = Nothing+    , _larsAssociations = Nothing+    , _larsResponseStatus = pResponseStatus_+    }   -- | 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)-larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});+larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a})  -- | The associations. larsAssociations :: Lens' ListAssociationsResponse [Association]-larsAssociations = lens _larsAssociations (\ s a -> s{_larsAssociations = a}) . _Default . _Coerce;+larsAssociations = lens _larsAssociations (\ s a -> s{_larsAssociations = a}) . _Default . _Coerce  -- | -- | The response status code. larsResponseStatus :: Lens' ListAssociationsResponse Int-larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});+larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a})  instance NFData ListAssociationsResponse where
gen/Network/AWS/SSM/ListCommandInvocations.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListCommandInvocations--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -83,38 +83,38 @@     :: ListCommandInvocations listCommandInvocations =   ListCommandInvocations'-  { _lciInstanceId = Nothing-  , _lciFilters = Nothing-  , _lciNextToken = Nothing-  , _lciCommandId = Nothing-  , _lciDetails = Nothing-  , _lciMaxResults = Nothing-  }+    { _lciInstanceId = Nothing+    , _lciFilters = Nothing+    , _lciNextToken = Nothing+    , _lciCommandId = Nothing+    , _lciDetails = Nothing+    , _lciMaxResults = Nothing+    }   -- | (Optional) The command execution details for a specific instance ID. lciInstanceId :: Lens' ListCommandInvocations (Maybe Text)-lciInstanceId = lens _lciInstanceId (\ s a -> s{_lciInstanceId = a});+lciInstanceId = lens _lciInstanceId (\ s a -> s{_lciInstanceId = a})  -- | (Optional) One or more filters. Use a filter to return a more specific list of results. lciFilters :: Lens' ListCommandInvocations (Maybe (NonEmpty CommandFilter))-lciFilters = lens _lciFilters (\ s a -> s{_lciFilters = a}) . mapping _List1;+lciFilters = lens _lciFilters (\ s a -> s{_lciFilters = a}) . mapping _List1  -- | (Optional) The token for the next set of items to return. (You received this token from a previous call.) lciNextToken :: Lens' ListCommandInvocations (Maybe Text)-lciNextToken = lens _lciNextToken (\ s a -> s{_lciNextToken = a});+lciNextToken = lens _lciNextToken (\ s a -> s{_lciNextToken = a})  -- | (Optional) The invocations for a specific command ID. lciCommandId :: Lens' ListCommandInvocations (Maybe Text)-lciCommandId = lens _lciCommandId (\ s a -> s{_lciCommandId = a});+lciCommandId = lens _lciCommandId (\ s a -> s{_lciCommandId = a})  -- | (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)-lciDetails = lens _lciDetails (\ s a -> s{_lciDetails = a});+lciDetails = lens _lciDetails (\ s a -> s{_lciDetails = 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. lciMaxResults :: Lens' ListCommandInvocations (Maybe Natural)-lciMaxResults = lens _lciMaxResults (\ s a -> s{_lciMaxResults = a}) . mapping _Nat;+lciMaxResults = lens _lciMaxResults (\ s a -> s{_lciMaxResults = a}) . mapping _Nat  instance AWSPager ListCommandInvocations where         page rq rs@@ -187,22 +187,22 @@     -> ListCommandInvocationsResponse listCommandInvocationsResponse pResponseStatus_ =   ListCommandInvocationsResponse'-  { _lrsNextToken = Nothing-  , _lrsCommandInvocations = Nothing-  , _lrsResponseStatus = pResponseStatus_-  }+    { _lrsNextToken = Nothing+    , _lrsCommandInvocations = Nothing+    , _lrsResponseStatus = pResponseStatus_+    }   -- | (Optional) The token for the next set of items to return. (You received this token from a previous call.) lrsNextToken :: Lens' ListCommandInvocationsResponse (Maybe Text)-lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a});+lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a})  -- | (Optional) A list of all invocations. lrsCommandInvocations :: Lens' ListCommandInvocationsResponse [CommandInvocation]-lrsCommandInvocations = lens _lrsCommandInvocations (\ s a -> s{_lrsCommandInvocations = a}) . _Default . _Coerce;+lrsCommandInvocations = lens _lrsCommandInvocations (\ s a -> s{_lrsCommandInvocations = a}) . _Default . _Coerce  -- | -- | The response status code. lrsResponseStatus :: Lens' ListCommandInvocationsResponse Int-lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a});+lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a})  instance NFData ListCommandInvocationsResponse where
gen/Network/AWS/SSM/ListCommands.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListCommands--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -79,33 +79,33 @@     :: ListCommands listCommands =   ListCommands'-  { _lcInstanceId = Nothing-  , _lcFilters = Nothing-  , _lcNextToken = Nothing-  , _lcCommandId = Nothing-  , _lcMaxResults = Nothing-  }+    { _lcInstanceId = Nothing+    , _lcFilters = Nothing+    , _lcNextToken = Nothing+    , _lcCommandId = Nothing+    , _lcMaxResults = Nothing+    }   -- | (Optional) Lists commands issued against this instance ID. lcInstanceId :: Lens' ListCommands (Maybe Text)-lcInstanceId = lens _lcInstanceId (\ s a -> s{_lcInstanceId = a});+lcInstanceId = lens _lcInstanceId (\ s a -> s{_lcInstanceId = a})  -- | (Optional) One or more filters. Use a filter to return a more specific list of results. lcFilters :: Lens' ListCommands (Maybe (NonEmpty CommandFilter))-lcFilters = lens _lcFilters (\ s a -> s{_lcFilters = a}) . mapping _List1;+lcFilters = lens _lcFilters (\ s a -> s{_lcFilters = a}) . mapping _List1  -- | (Optional) The token for the next set of items to return. (You received this token from a previous call.) lcNextToken :: Lens' ListCommands (Maybe Text)-lcNextToken = lens _lcNextToken (\ s a -> s{_lcNextToken = a});+lcNextToken = lens _lcNextToken (\ s a -> s{_lcNextToken = a})  -- | (Optional) If provided, lists only the specified command. lcCommandId :: Lens' ListCommands (Maybe Text)-lcCommandId = lens _lcCommandId (\ s a -> s{_lcCommandId = a});+lcCommandId = lens _lcCommandId (\ s a -> s{_lcCommandId = 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. lcMaxResults :: Lens' ListCommands (Maybe Natural)-lcMaxResults = lens _lcMaxResults (\ s a -> s{_lcMaxResults = a}) . mapping _Nat;+lcMaxResults = lens _lcMaxResults (\ s a -> s{_lcMaxResults = a}) . mapping _Nat  instance AWSPager ListCommands where         page rq rs@@ -175,22 +175,22 @@     -> ListCommandsResponse listCommandsResponse pResponseStatus_ =   ListCommandsResponse'-  { _lcrsCommands = Nothing-  , _lcrsNextToken = Nothing-  , _lcrsResponseStatus = pResponseStatus_-  }+    { _lcrsCommands = Nothing+    , _lcrsNextToken = Nothing+    , _lcrsResponseStatus = pResponseStatus_+    }   -- | (Optional) The list of commands requested by the user. lcrsCommands :: Lens' ListCommandsResponse [Command]-lcrsCommands = lens _lcrsCommands (\ s a -> s{_lcrsCommands = a}) . _Default . _Coerce;+lcrsCommands = lens _lcrsCommands (\ s a -> s{_lcrsCommands = a}) . _Default . _Coerce  -- | (Optional) The token for the next set of items to return. (You received this token from a previous call.) lcrsNextToken :: Lens' ListCommandsResponse (Maybe Text)-lcrsNextToken = lens _lcrsNextToken (\ s a -> s{_lcrsNextToken = a});+lcrsNextToken = lens _lcrsNextToken (\ s a -> s{_lcrsNextToken = a})  -- | -- | The response status code. lcrsResponseStatus :: Lens' ListCommandsResponse Int-lcrsResponseStatus = lens _lcrsResponseStatus (\ s a -> s{_lcrsResponseStatus = a});+lcrsResponseStatus = lens _lcrsResponseStatus (\ s a -> s{_lcrsResponseStatus = a})  instance NFData ListCommandsResponse where
gen/Network/AWS/SSM/ListComplianceItems.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListComplianceItems--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -76,33 +76,33 @@     :: ListComplianceItems listComplianceItems =   ListComplianceItems'-  { _lResourceIds = Nothing-  , _lFilters = Nothing-  , _lNextToken = Nothing-  , _lMaxResults = Nothing-  , _lResourceTypes = Nothing-  }+    { _lResourceIds = Nothing+    , _lFilters = Nothing+    , _lNextToken = Nothing+    , _lMaxResults = Nothing+    , _lResourceTypes = Nothing+    }   -- | 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))-lResourceIds = lens _lResourceIds (\ s a -> s{_lResourceIds = a}) . mapping _List1;+lResourceIds = lens _lResourceIds (\ s a -> s{_lResourceIds = a}) . mapping _List1  -- | One or more compliance filters. Use a filter to return a more specific list of results. lFilters :: Lens' ListComplianceItems [ComplianceStringFilter]-lFilters = lens _lFilters (\ s a -> s{_lFilters = a}) . _Default . _Coerce;+lFilters = lens _lFilters (\ s a -> s{_lFilters = a}) . _Default . _Coerce  -- | A token to start the list. Use this token to get the next set of results. lNextToken :: Lens' ListComplianceItems (Maybe Text)-lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a});+lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = 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. lMaxResults :: Lens' ListComplianceItems (Maybe Natural)-lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a}) . mapping _Nat;+lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a}) . mapping _Nat  -- | The type of resource from which to get compliance information. Currently, the only supported resource type is @ManagedInstance@ . lResourceTypes :: Lens' ListComplianceItems (Maybe (NonEmpty Text))-lResourceTypes = lens _lResourceTypes (\ s a -> s{_lResourceTypes = a}) . mapping _List1;+lResourceTypes = lens _lResourceTypes (\ s a -> s{_lResourceTypes = a}) . mapping _List1  instance AWSRequest ListComplianceItems where         type Rs ListComplianceItems =@@ -167,22 +167,22 @@     -> ListComplianceItemsResponse listComplianceItemsResponse pResponseStatus_ =   ListComplianceItemsResponse'-  { _lcirsComplianceItems = Nothing-  , _lcirsNextToken = Nothing-  , _lcirsResponseStatus = pResponseStatus_-  }+    { _lcirsComplianceItems = Nothing+    , _lcirsNextToken = Nothing+    , _lcirsResponseStatus = pResponseStatus_+    }   -- | A list of compliance information for the specified resource ID. lcirsComplianceItems :: Lens' ListComplianceItemsResponse [ComplianceItem]-lcirsComplianceItems = lens _lcirsComplianceItems (\ s a -> s{_lcirsComplianceItems = a}) . _Default . _Coerce;+lcirsComplianceItems = lens _lcirsComplianceItems (\ s a -> s{_lcirsComplianceItems = a}) . _Default . _Coerce  -- | 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)-lcirsNextToken = lens _lcirsNextToken (\ s a -> s{_lcirsNextToken = a});+lcirsNextToken = lens _lcirsNextToken (\ s a -> s{_lcirsNextToken = a})  -- | -- | The response status code. lcirsResponseStatus :: Lens' ListComplianceItemsResponse Int-lcirsResponseStatus = lens _lcirsResponseStatus (\ s a -> s{_lcirsResponseStatus = a});+lcirsResponseStatus = lens _lcirsResponseStatus (\ s a -> s{_lcirsResponseStatus = a})  instance NFData ListComplianceItemsResponse where
gen/Network/AWS/SSM/ListComplianceSummaries.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListComplianceSummaries--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,20 @@     :: ListComplianceSummaries listComplianceSummaries =   ListComplianceSummaries'-  {_lcsFilters = Nothing, _lcsNextToken = Nothing, _lcsMaxResults = Nothing}+    {_lcsFilters = Nothing, _lcsNextToken = Nothing, _lcsMaxResults = Nothing}   -- | One or more compliance or inventory filters. Use a filter to return a more specific list of results. lcsFilters :: Lens' ListComplianceSummaries [ComplianceStringFilter]-lcsFilters = lens _lcsFilters (\ s a -> s{_lcsFilters = a}) . _Default . _Coerce;+lcsFilters = lens _lcsFilters (\ s a -> s{_lcsFilters = a}) . _Default . _Coerce  -- | A token to start the list. Use this token to get the next set of results. lcsNextToken :: Lens' ListComplianceSummaries (Maybe Text)-lcsNextToken = lens _lcsNextToken (\ s a -> s{_lcsNextToken = a});+lcsNextToken = lens _lcsNextToken (\ s a -> s{_lcsNextToken = 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. lcsMaxResults :: Lens' ListComplianceSummaries (Maybe Natural)-lcsMaxResults = lens _lcsMaxResults (\ s a -> s{_lcsMaxResults = a}) . mapping _Nat;+lcsMaxResults = lens _lcsMaxResults (\ s a -> s{_lcsMaxResults = a}) . mapping _Nat  instance AWSRequest ListComplianceSummaries where         type Rs ListComplianceSummaries =@@ -144,22 +144,22 @@     -> ListComplianceSummariesResponse listComplianceSummariesResponse pResponseStatus_ =   ListComplianceSummariesResponse'-  { _lcsrsNextToken = Nothing-  , _lcsrsComplianceSummaryItems = Nothing-  , _lcsrsResponseStatus = pResponseStatus_-  }+    { _lcsrsNextToken = Nothing+    , _lcsrsComplianceSummaryItems = Nothing+    , _lcsrsResponseStatus = pResponseStatus_+    }   -- | 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)-lcsrsNextToken = lens _lcsrsNextToken (\ s a -> s{_lcsrsNextToken = a});+lcsrsNextToken = lens _lcsrsNextToken (\ s a -> s{_lcsrsNextToken = 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. lcsrsComplianceSummaryItems :: Lens' ListComplianceSummariesResponse [ComplianceSummaryItem]-lcsrsComplianceSummaryItems = lens _lcsrsComplianceSummaryItems (\ s a -> s{_lcsrsComplianceSummaryItems = a}) . _Default . _Coerce;+lcsrsComplianceSummaryItems = lens _lcsrsComplianceSummaryItems (\ s a -> s{_lcsrsComplianceSummaryItems = a}) . _Default . _Coerce  -- | -- | The response status code. lcsrsResponseStatus :: Lens' ListComplianceSummariesResponse Int-lcsrsResponseStatus = lens _lcsrsResponseStatus (\ s a -> s{_lcsrsResponseStatus = a});+lcsrsResponseStatus = lens _lcsrsResponseStatus (\ s a -> s{_lcsrsResponseStatus = a})  instance NFData ListComplianceSummariesResponse where
gen/Network/AWS/SSM/ListDocumentVersions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListDocumentVersions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,20 +69,20 @@     -> ListDocumentVersions listDocumentVersions pName_ =   ListDocumentVersions'-  {_ldvNextToken = Nothing, _ldvMaxResults = Nothing, _ldvName = pName_}+    {_ldvNextToken = Nothing, _ldvMaxResults = Nothing, _ldvName = pName_}   -- | The token for the next set of items to return. (You received this token from a previous call.) ldvNextToken :: Lens' ListDocumentVersions (Maybe Text)-ldvNextToken = lens _ldvNextToken (\ s a -> s{_ldvNextToken = a});+ldvNextToken = lens _ldvNextToken (\ s a -> s{_ldvNextToken = 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. ldvMaxResults :: Lens' ListDocumentVersions (Maybe Natural)-ldvMaxResults = lens _ldvMaxResults (\ s a -> s{_ldvMaxResults = a}) . mapping _Nat;+ldvMaxResults = lens _ldvMaxResults (\ s a -> s{_ldvMaxResults = a}) . mapping _Nat  -- | The name of the document about which you want version information. ldvName :: Lens' ListDocumentVersions Text-ldvName = lens _ldvName (\ s a -> s{_ldvName = a});+ldvName = lens _ldvName (\ s a -> s{_ldvName = a})  instance AWSRequest ListDocumentVersions where         type Rs ListDocumentVersions =@@ -144,22 +144,22 @@     -> ListDocumentVersionsResponse listDocumentVersionsResponse pResponseStatus_ =   ListDocumentVersionsResponse'-  { _ldvrsDocumentVersions = Nothing-  , _ldvrsNextToken = Nothing-  , _ldvrsResponseStatus = pResponseStatus_-  }+    { _ldvrsDocumentVersions = Nothing+    , _ldvrsNextToken = Nothing+    , _ldvrsResponseStatus = pResponseStatus_+    }   -- | The document versions. ldvrsDocumentVersions :: Lens' ListDocumentVersionsResponse (Maybe (NonEmpty DocumentVersionInfo))-ldvrsDocumentVersions = lens _ldvrsDocumentVersions (\ s a -> s{_ldvrsDocumentVersions = a}) . mapping _List1;+ldvrsDocumentVersions = lens _ldvrsDocumentVersions (\ s a -> s{_ldvrsDocumentVersions = a}) . mapping _List1  -- | 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)-ldvrsNextToken = lens _ldvrsNextToken (\ s a -> s{_ldvrsNextToken = a});+ldvrsNextToken = lens _ldvrsNextToken (\ s a -> s{_ldvrsNextToken = a})  -- | -- | The response status code. ldvrsResponseStatus :: Lens' ListDocumentVersionsResponse Int-ldvrsResponseStatus = lens _ldvrsResponseStatus (\ s a -> s{_ldvrsResponseStatus = a});+ldvrsResponseStatus = lens _ldvrsResponseStatus (\ s a -> s{_ldvrsResponseStatus = a})  instance NFData ListDocumentVersionsResponse where
gen/Network/AWS/SSM/ListDocuments.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListDocuments--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -75,28 +75,28 @@     :: ListDocuments listDocuments =   ListDocuments'-  { _ldDocumentFilterList = Nothing-  , _ldFilters = Nothing-  , _ldNextToken = Nothing-  , _ldMaxResults = Nothing-  }+    { _ldDocumentFilterList = Nothing+    , _ldFilters = Nothing+    , _ldNextToken = Nothing+    , _ldMaxResults = Nothing+    }   -- | One or more filters. Use a filter to return a more specific list of results. ldDocumentFilterList :: Lens' ListDocuments (Maybe (NonEmpty DocumentFilter))-ldDocumentFilterList = lens _ldDocumentFilterList (\ s a -> s{_ldDocumentFilterList = a}) . mapping _List1;+ldDocumentFilterList = lens _ldDocumentFilterList (\ s a -> s{_ldDocumentFilterList = a}) . mapping _List1  -- | One or more filters. Use a filter to return a more specific list of results. ldFilters :: Lens' ListDocuments [DocumentKeyValuesFilter]-ldFilters = lens _ldFilters (\ s a -> s{_ldFilters = a}) . _Default . _Coerce;+ldFilters = lens _ldFilters (\ s a -> s{_ldFilters = a}) . _Default . _Coerce  -- | The token for the next set of items to return. (You received this token from a previous call.) ldNextToken :: Lens' ListDocuments (Maybe Text)-ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = a});+ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = 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. ldMaxResults :: Lens' ListDocuments (Maybe Natural)-ldMaxResults = lens _ldMaxResults (\ s a -> s{_ldMaxResults = a}) . mapping _Nat;+ldMaxResults = lens _ldMaxResults (\ s a -> s{_ldMaxResults = a}) . mapping _Nat  instance AWSPager ListDocuments where         page rq rs@@ -166,22 +166,22 @@     -> ListDocumentsResponse listDocumentsResponse pResponseStatus_ =   ListDocumentsResponse'-  { _ldrsDocumentIdentifiers = Nothing-  , _ldrsNextToken = Nothing-  , _ldrsResponseStatus = pResponseStatus_-  }+    { _ldrsDocumentIdentifiers = Nothing+    , _ldrsNextToken = Nothing+    , _ldrsResponseStatus = pResponseStatus_+    }   -- | The names of the Systems Manager documents. ldrsDocumentIdentifiers :: Lens' ListDocumentsResponse [DocumentIdentifier]-ldrsDocumentIdentifiers = lens _ldrsDocumentIdentifiers (\ s a -> s{_ldrsDocumentIdentifiers = a}) . _Default . _Coerce;+ldrsDocumentIdentifiers = lens _ldrsDocumentIdentifiers (\ s a -> s{_ldrsDocumentIdentifiers = a}) . _Default . _Coerce  -- | 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)-ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a});+ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a})  -- | -- | The response status code. ldrsResponseStatus :: Lens' ListDocumentsResponse Int-ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a});+ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a})  instance NFData ListDocumentsResponse where
gen/Network/AWS/SSM/ListInventoryEntries.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListInventoryEntries--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -82,33 +82,33 @@     -> ListInventoryEntries listInventoryEntries pInstanceId_ pTypeName_ =   ListInventoryEntries'-  { _lieFilters = Nothing-  , _lieNextToken = Nothing-  , _lieMaxResults = Nothing-  , _lieInstanceId = pInstanceId_-  , _lieTypeName = pTypeName_-  }+    { _lieFilters = Nothing+    , _lieNextToken = Nothing+    , _lieMaxResults = Nothing+    , _lieInstanceId = pInstanceId_+    , _lieTypeName = pTypeName_+    }   -- | One or more filters. Use a filter to return a more specific list of results. lieFilters :: Lens' ListInventoryEntries (Maybe (NonEmpty InventoryFilter))-lieFilters = lens _lieFilters (\ s a -> s{_lieFilters = a}) . mapping _List1;+lieFilters = lens _lieFilters (\ s a -> s{_lieFilters = a}) . mapping _List1  -- | The token for the next set of items to return. (You received this token from a previous call.) lieNextToken :: Lens' ListInventoryEntries (Maybe Text)-lieNextToken = lens _lieNextToken (\ s a -> s{_lieNextToken = a});+lieNextToken = lens _lieNextToken (\ s a -> s{_lieNextToken = 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. lieMaxResults :: Lens' ListInventoryEntries (Maybe Natural)-lieMaxResults = lens _lieMaxResults (\ s a -> s{_lieMaxResults = a}) . mapping _Nat;+lieMaxResults = lens _lieMaxResults (\ s a -> s{_lieMaxResults = a}) . mapping _Nat  -- | The instance ID for which you want inventory information. lieInstanceId :: Lens' ListInventoryEntries Text-lieInstanceId = lens _lieInstanceId (\ s a -> s{_lieInstanceId = a});+lieInstanceId = lens _lieInstanceId (\ s a -> s{_lieInstanceId = a})  -- | The type of inventory item for which you want information. lieTypeName :: Lens' ListInventoryEntries Text-lieTypeName = lens _lieTypeName (\ s a -> s{_lieTypeName = a});+lieTypeName = lens _lieTypeName (\ s a -> s{_lieTypeName = a})  instance AWSRequest ListInventoryEntries where         type Rs ListInventoryEntries =@@ -188,42 +188,42 @@     -> ListInventoryEntriesResponse listInventoryEntriesResponse pResponseStatus_ =   ListInventoryEntriesResponse'-  { _liersInstanceId = Nothing-  , _liersTypeName = Nothing-  , _liersEntries = Nothing-  , _liersSchemaVersion = Nothing-  , _liersCaptureTime = Nothing-  , _liersNextToken = Nothing-  , _liersResponseStatus = pResponseStatus_-  }+    { _liersInstanceId = Nothing+    , _liersTypeName = Nothing+    , _liersEntries = Nothing+    , _liersSchemaVersion = Nothing+    , _liersCaptureTime = Nothing+    , _liersNextToken = Nothing+    , _liersResponseStatus = pResponseStatus_+    }   -- | The instance ID targeted by the request to query inventory information. liersInstanceId :: Lens' ListInventoryEntriesResponse (Maybe Text)-liersInstanceId = lens _liersInstanceId (\ s a -> s{_liersInstanceId = a});+liersInstanceId = lens _liersInstanceId (\ s a -> s{_liersInstanceId = a})  -- | The type of inventory item returned by the request. liersTypeName :: Lens' ListInventoryEntriesResponse (Maybe Text)-liersTypeName = lens _liersTypeName (\ s a -> s{_liersTypeName = a});+liersTypeName = lens _liersTypeName (\ s a -> s{_liersTypeName = a})  -- | A list of inventory items on the instance(s). liersEntries :: Lens' ListInventoryEntriesResponse [HashMap Text Text]-liersEntries = lens _liersEntries (\ s a -> s{_liersEntries = a}) . _Default . _Coerce;+liersEntries = lens _liersEntries (\ s a -> s{_liersEntries = a}) . _Default . _Coerce  -- | The inventory schema version used by the instance(s). liersSchemaVersion :: Lens' ListInventoryEntriesResponse (Maybe Text)-liersSchemaVersion = lens _liersSchemaVersion (\ s a -> s{_liersSchemaVersion = a});+liersSchemaVersion = lens _liersSchemaVersion (\ s a -> s{_liersSchemaVersion = a})  -- | The time that inventory information was collected for the instance(s). liersCaptureTime :: Lens' ListInventoryEntriesResponse (Maybe Text)-liersCaptureTime = lens _liersCaptureTime (\ s a -> s{_liersCaptureTime = a});+liersCaptureTime = lens _liersCaptureTime (\ s a -> s{_liersCaptureTime = a})  -- | 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)-liersNextToken = lens _liersNextToken (\ s a -> s{_liersNextToken = a});+liersNextToken = lens _liersNextToken (\ s a -> s{_liersNextToken = a})  -- | -- | The response status code. liersResponseStatus :: Lens' ListInventoryEntriesResponse Int-liersResponseStatus = lens _liersResponseStatus (\ s a -> s{_liersResponseStatus = a});+liersResponseStatus = lens _liersResponseStatus (\ s a -> s{_liersResponseStatus = a})  instance NFData ListInventoryEntriesResponse where
gen/Network/AWS/SSM/ListResourceComplianceSummaries.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListResourceComplianceSummaries--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,20 +68,23 @@     :: ListResourceComplianceSummaries listResourceComplianceSummaries =   ListResourceComplianceSummaries'-  {_lrcsFilters = Nothing, _lrcsNextToken = Nothing, _lrcsMaxResults = Nothing}+    { _lrcsFilters = Nothing+    , _lrcsNextToken = Nothing+    , _lrcsMaxResults = Nothing+    }   -- | One or more filters. Use a filter to return a more specific list of results. lrcsFilters :: Lens' ListResourceComplianceSummaries [ComplianceStringFilter]-lrcsFilters = lens _lrcsFilters (\ s a -> s{_lrcsFilters = a}) . _Default . _Coerce;+lrcsFilters = lens _lrcsFilters (\ s a -> s{_lrcsFilters = a}) . _Default . _Coerce  -- | A token to start the list. Use this token to get the next set of results. lrcsNextToken :: Lens' ListResourceComplianceSummaries (Maybe Text)-lrcsNextToken = lens _lrcsNextToken (\ s a -> s{_lrcsNextToken = a});+lrcsNextToken = lens _lrcsNextToken (\ s a -> s{_lrcsNextToken = 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. lrcsMaxResults :: Lens' ListResourceComplianceSummaries (Maybe Natural)-lrcsMaxResults = lens _lrcsMaxResults (\ s a -> s{_lrcsMaxResults = a}) . mapping _Nat;+lrcsMaxResults = lens _lrcsMaxResults (\ s a -> s{_lrcsMaxResults = a}) . mapping _Nat  instance AWSRequest ListResourceComplianceSummaries          where@@ -149,23 +152,23 @@     -> ListResourceComplianceSummariesResponse listResourceComplianceSummariesResponse pResponseStatus_ =   ListResourceComplianceSummariesResponse'-  { _lrcsrsResourceComplianceSummaryItems = Nothing-  , _lrcsrsNextToken = Nothing-  , _lrcsrsResponseStatus = pResponseStatus_-  }+    { _lrcsrsResourceComplianceSummaryItems = Nothing+    , _lrcsrsNextToken = Nothing+    , _lrcsrsResponseStatus = pResponseStatus_+    }   -- | 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]-lrcsrsResourceComplianceSummaryItems = lens _lrcsrsResourceComplianceSummaryItems (\ s a -> s{_lrcsrsResourceComplianceSummaryItems = a}) . _Default . _Coerce;+lrcsrsResourceComplianceSummaryItems = lens _lrcsrsResourceComplianceSummaryItems (\ s a -> s{_lrcsrsResourceComplianceSummaryItems = a}) . _Default . _Coerce  -- | 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)-lrcsrsNextToken = lens _lrcsrsNextToken (\ s a -> s{_lrcsrsNextToken = a});+lrcsrsNextToken = lens _lrcsrsNextToken (\ s a -> s{_lrcsrsNextToken = a})  -- | -- | The response status code. lrcsrsResponseStatus :: Lens' ListResourceComplianceSummariesResponse Int-lrcsrsResponseStatus = lens _lrcsrsResponseStatus (\ s a -> s{_lrcsrsResponseStatus = a});+lrcsrsResponseStatus = lens _lrcsrsResponseStatus (\ s a -> s{_lrcsrsResponseStatus = a})  instance NFData            ListResourceComplianceSummariesResponse
gen/Network/AWS/SSM/ListResourceDataSync.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListResourceDataSync--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,11 +70,11 @@  -- | A token to start the list. Use this token to get the next set of results. lrdsNextToken :: Lens' ListResourceDataSync (Maybe Text)-lrdsNextToken = lens _lrdsNextToken (\ s a -> s{_lrdsNextToken = a});+lrdsNextToken = lens _lrdsNextToken (\ s a -> s{_lrdsNextToken = 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. lrdsMaxResults :: Lens' ListResourceDataSync (Maybe Natural)-lrdsMaxResults = lens _lrdsMaxResults (\ s a -> s{_lrdsMaxResults = a}) . mapping _Nat;+lrdsMaxResults = lens _lrdsMaxResults (\ s a -> s{_lrdsMaxResults = a}) . mapping _Nat  instance AWSRequest ListResourceDataSync where         type Rs ListResourceDataSync =@@ -136,22 +136,22 @@     -> ListResourceDataSyncResponse listResourceDataSyncResponse pResponseStatus_ =   ListResourceDataSyncResponse'-  { _lrdsrsResourceDataSyncItems = Nothing-  , _lrdsrsNextToken = Nothing-  , _lrdsrsResponseStatus = pResponseStatus_-  }+    { _lrdsrsResourceDataSyncItems = Nothing+    , _lrdsrsNextToken = Nothing+    , _lrdsrsResponseStatus = pResponseStatus_+    }   -- | A list of your current Resource Data Sync configurations and their statuses. lrdsrsResourceDataSyncItems :: Lens' ListResourceDataSyncResponse [ResourceDataSyncItem]-lrdsrsResourceDataSyncItems = lens _lrdsrsResourceDataSyncItems (\ s a -> s{_lrdsrsResourceDataSyncItems = a}) . _Default . _Coerce;+lrdsrsResourceDataSyncItems = lens _lrdsrsResourceDataSyncItems (\ s a -> s{_lrdsrsResourceDataSyncItems = a}) . _Default . _Coerce  -- | 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)-lrdsrsNextToken = lens _lrdsrsNextToken (\ s a -> s{_lrdsrsNextToken = a});+lrdsrsNextToken = lens _lrdsrsNextToken (\ s a -> s{_lrdsrsNextToken = a})  -- | -- | The response status code. lrdsrsResponseStatus :: Lens' ListResourceDataSyncResponse Int-lrdsrsResponseStatus = lens _lrdsrsResponseStatus (\ s a -> s{_lrdsrsResponseStatus = a});+lrdsrsResponseStatus = lens _lrdsrsResponseStatus (\ s a -> s{_lrdsrsResponseStatus = a})  instance NFData ListResourceDataSyncResponse where
gen/Network/AWS/SSM/ListTagsForResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ListTagsForResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> ListTagsForResource listTagsForResource pResourceType_ pResourceId_ =   ListTagsForResource'-  {_ltfrResourceType = pResourceType_, _ltfrResourceId = pResourceId_}+    {_ltfrResourceType = pResourceType_, _ltfrResourceId = pResourceId_}   -- | Returns a list of tags for a specific resource type. ltfrResourceType :: Lens' ListTagsForResource ResourceTypeForTagging-ltfrResourceType = lens _ltfrResourceType (\ s a -> s{_ltfrResourceType = a});+ltfrResourceType = lens _ltfrResourceType (\ s a -> s{_ltfrResourceType = a})  -- | The resource ID for which you want to see a list of tags. ltfrResourceId :: Lens' ListTagsForResource Text-ltfrResourceId = lens _ltfrResourceId (\ s a -> s{_ltfrResourceId = a});+ltfrResourceId = lens _ltfrResourceId (\ s a -> s{_ltfrResourceId = a})  instance AWSRequest ListTagsForResource where         type Rs ListTagsForResource =@@ -131,15 +131,15 @@     -> ListTagsForResourceResponse listTagsForResourceResponse pResponseStatus_ =   ListTagsForResourceResponse'-  {_ltfrrsTagList = Nothing, _ltfrrsResponseStatus = pResponseStatus_}+    {_ltfrrsTagList = Nothing, _ltfrrsResponseStatus = pResponseStatus_}   -- | A list of tags. ltfrrsTagList :: Lens' ListTagsForResourceResponse [Tag]-ltfrrsTagList = lens _ltfrrsTagList (\ s a -> s{_ltfrrsTagList = a}) . _Default . _Coerce;+ltfrrsTagList = lens _ltfrrsTagList (\ s a -> s{_ltfrrsTagList = a}) . _Default . _Coerce  -- | -- | The response status code. ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int-ltfrrsResponseStatus = lens _ltfrrsResponseStatus (\ s a -> s{_ltfrrsResponseStatus = a});+ltfrrsResponseStatus = lens _ltfrrsResponseStatus (\ s a -> s{_ltfrrsResponseStatus = a})  instance NFData ListTagsForResourceResponse where
gen/Network/AWS/SSM/ModifyDocumentPermission.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.ModifyDocumentPermission--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -72,28 +72,28 @@     -> ModifyDocumentPermission modifyDocumentPermission pName_ pPermissionType_ =   ModifyDocumentPermission'-  { _mdpAccountIdsToAdd = Nothing-  , _mdpAccountIdsToRemove = Nothing-  , _mdpName = pName_-  , _mdpPermissionType = pPermissionType_-  }+    { _mdpAccountIdsToAdd = Nothing+    , _mdpAccountIdsToRemove = Nothing+    , _mdpName = pName_+    , _mdpPermissionType = pPermissionType_+    }   -- | The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or /All/ . mdpAccountIdsToAdd :: Lens' ModifyDocumentPermission [Text]-mdpAccountIdsToAdd = lens _mdpAccountIdsToAdd (\ s a -> s{_mdpAccountIdsToAdd = a}) . _Default . _Coerce;+mdpAccountIdsToAdd = lens _mdpAccountIdsToAdd (\ s a -> s{_mdpAccountIdsToAdd = a}) . _Default . _Coerce  -- | 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 /All/ . This action has a higher priority than /AccountIdsToAdd/ . 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]-mdpAccountIdsToRemove = lens _mdpAccountIdsToRemove (\ s a -> s{_mdpAccountIdsToRemove = a}) . _Default . _Coerce;+mdpAccountIdsToRemove = lens _mdpAccountIdsToRemove (\ s a -> s{_mdpAccountIdsToRemove = a}) . _Default . _Coerce  -- | The name of the document that you want to share. mdpName :: Lens' ModifyDocumentPermission Text-mdpName = lens _mdpName (\ s a -> s{_mdpName = a});+mdpName = lens _mdpName (\ s a -> s{_mdpName = a})  -- | The permission type for the document. The permission type can be /Share/ . mdpPermissionType :: Lens' ModifyDocumentPermission DocumentPermissionType-mdpPermissionType = lens _mdpPermissionType (\ s a -> s{_mdpPermissionType = a});+mdpPermissionType = lens _mdpPermissionType (\ s a -> s{_mdpPermissionType = a})  instance AWSRequest ModifyDocumentPermission where         type Rs ModifyDocumentPermission =@@ -153,7 +153,7 @@  -- | -- | The response status code. mdprsResponseStatus :: Lens' ModifyDocumentPermissionResponse Int-mdprsResponseStatus = lens _mdprsResponseStatus (\ s a -> s{_mdprsResponseStatus = a});+mdprsResponseStatus = lens _mdprsResponseStatus (\ s a -> s{_mdprsResponseStatus = a})  instance NFData ModifyDocumentPermissionResponse          where
gen/Network/AWS/SSM/PutComplianceItems.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.PutComplianceItems--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,40 @@ -- Registers a compliance type and other compliance details on a designated resource. This action lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request. -- --+-- ComplianceType can be one of the following:+--+--     * ExecutionId: The execution ID when the patch, association, or custom compliance item was applied.+--+--     * ExecutionType: Specify patch, association, or Custom:@string@ .+--+--     * ExecutionTime. The time the patch, association, or custom compliance item was applied to the instance.+--+--     * Id: The patch, association, or custom compliance ID.+--+--     * Title: A title.+--+--     * Status: The status of the compliance item. For example, @approved@ for patches, or @Failed@ for associations.+--+--     * Severity: A patch severity. For example, @critical@ .+--+--     * DocumentName: A SSM document name. For example, AWS-RunPatchBaseline.+--+--     * DocumentVersion: An SSM document version number. For example, 4.+--+--     * Classification: A patch classification. For example, @security updates@ .+--+--     * PatchBaselineId: A patch baseline ID.+--+--     * PatchSeverity: A patch severity. For example, @Critical@ .+--+--     * PatchState: A patch state. For example, @InstancesWithFailedPatches@ .+--+--     * PatchGroup: The name of a patch group.+--+--     * 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'+--+--+-- module Network.AWS.SSM.PutComplianceItems     (     -- * Creating a Request@@ -82,38 +116,38 @@     -> PutComplianceItems putComplianceItems pResourceId_ pResourceType_ pComplianceType_ pExecutionSummary_ =   PutComplianceItems'-  { _pciItemContentHash = Nothing-  , _pciResourceId = pResourceId_-  , _pciResourceType = pResourceType_-  , _pciComplianceType = pComplianceType_-  , _pciExecutionSummary = pExecutionSummary_-  , _pciItems = mempty-  }+    { _pciItemContentHash = Nothing+    , _pciResourceId = pResourceId_+    , _pciResourceType = pResourceType_+    , _pciComplianceType = pComplianceType_+    , _pciExecutionSummary = pExecutionSummary_+    , _pciItems = mempty+    }   -- | 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)-pciItemContentHash = lens _pciItemContentHash (\ s a -> s{_pciItemContentHash = a});+pciItemContentHash = lens _pciItemContentHash (\ s a -> s{_pciItemContentHash = a})  -- | Specify an ID for this resource. For a managed instance, this is the instance ID. pciResourceId :: Lens' PutComplianceItems Text-pciResourceId = lens _pciResourceId (\ s a -> s{_pciResourceId = a});+pciResourceId = lens _pciResourceId (\ s a -> s{_pciResourceId = a})  -- | Specify the type of resource. @ManagedInstance@ is currently the only supported resource type. pciResourceType :: Lens' PutComplianceItems Text-pciResourceType = lens _pciResourceType (\ s a -> s{_pciResourceType = a});+pciResourceType = lens _pciResourceType (\ s a -> s{_pciResourceType = a})  -- | Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:@string@ . pciComplianceType :: Lens' PutComplianceItems Text-pciComplianceType = lens _pciComplianceType (\ s a -> s{_pciComplianceType = a});+pciComplianceType = lens _pciComplianceType (\ s a -> s{_pciComplianceType = a})  -- | A summary of the call execution that includes an execution ID, the type of execution (for example, @Command@ ), 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-pciExecutionSummary = lens _pciExecutionSummary (\ s a -> s{_pciExecutionSummary = a});+pciExecutionSummary = lens _pciExecutionSummary (\ s a -> s{_pciExecutionSummary = a})  -- | Information about the compliance as defined by the resource type. For example, for a patch compliance type, @Items@ includes information about the PatchSeverity, Classification, etc. pciItems :: Lens' PutComplianceItems [ComplianceItemEntry]-pciItems = lens _pciItems (\ s a -> s{_pciItems = a}) . _Coerce;+pciItems = lens _pciItems (\ s a -> s{_pciItems = a}) . _Coerce  instance AWSRequest PutComplianceItems where         type Rs PutComplianceItems =@@ -174,6 +208,6 @@  -- | -- | The response status code. pcirsResponseStatus :: Lens' PutComplianceItemsResponse Int-pcirsResponseStatus = lens _pcirsResponseStatus (\ s a -> s{_pcirsResponseStatus = a});+pcirsResponseStatus = lens _pcirsResponseStatus (\ s a -> s{_pcirsResponseStatus = a})  instance NFData PutComplianceItemsResponse where
gen/Network/AWS/SSM/PutInventory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.PutInventory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -34,6 +34,7 @@     , putInventoryResponse     , PutInventoryResponse     -- * Response Lenses+    , pirsMessage     , pirsResponseStatus     ) where @@ -68,19 +69,20 @@  -- | One or more instance IDs where you want to add or update inventory items. piInstanceId :: Lens' PutInventory Text-piInstanceId = lens _piInstanceId (\ s a -> s{_piInstanceId = a});+piInstanceId = lens _piInstanceId (\ s a -> s{_piInstanceId = a})  -- | The inventory items that you want to add or update on instances. piItems :: Lens' PutInventory (NonEmpty InventoryItem)-piItems = lens _piItems (\ s a -> s{_piItems = a}) . _List1;+piItems = lens _piItems (\ s a -> s{_piItems = a}) . _List1  instance AWSRequest PutInventory where         type Rs PutInventory = PutInventoryResponse         request = postJSON ssm         response-          = receiveEmpty+          = receiveJSON               (\ s h x ->-                 PutInventoryResponse' <$> (pure (fromEnum s)))+                 PutInventoryResponse' <$>+                   (x .?> "Message") <*> (pure (fromEnum s)))  instance Hashable PutInventory where @@ -109,8 +111,9 @@         toQuery = const mempty  -- | /See:/ 'putInventoryResponse' smart constructor.-newtype PutInventoryResponse = PutInventoryResponse'-  { _pirsResponseStatus :: Int+data PutInventoryResponse = PutInventoryResponse'+  { _pirsMessage        :: !(Maybe Text)+  , _pirsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -118,16 +121,23 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'pirsMessage' - Information about the request.+-- -- * 'pirsResponseStatus' - -- | The response status code. putInventoryResponse     :: Int -- ^ 'pirsResponseStatus'     -> PutInventoryResponse putInventoryResponse pResponseStatus_ =-  PutInventoryResponse' {_pirsResponseStatus = pResponseStatus_}+  PutInventoryResponse'+    {_pirsMessage = Nothing, _pirsResponseStatus = pResponseStatus_}  +-- | Information about the request.+pirsMessage :: Lens' PutInventoryResponse (Maybe Text)+pirsMessage = lens _pirsMessage (\ s a -> s{_pirsMessage = a})+ -- | -- | The response status code. pirsResponseStatus :: Lens' PutInventoryResponse Int-pirsResponseStatus = lens _pirsResponseStatus (\ s a -> s{_pirsResponseStatus = a});+pirsResponseStatus = lens _pirsResponseStatus (\ s a -> s{_pirsResponseStatus = a})  instance NFData PutInventoryResponse where
gen/Network/AWS/SSM/PutParameter.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.SSM.PutParameter--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Add one or more parameters to the system.+-- Add a parameter to the system. -- -- module Network.AWS.SSM.PutParameter@@ -72,9 +72,9 @@ -- -- * 'ppOverwrite' - Overwrite an existing parameter. If not specified, will default to "false". ----- * 'ppDescription' - Information about the parameter that you want to add to the system+-- * 'ppDescription' - Information about the parameter that you want to add to the system. /Important:/ Do not enter personally identifiable information in this field. ----- * 'ppName' - The name of the parameter that you want to add to the system.+-- * 'ppName' - 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: @/Dev/DBServer/MySQL/db-string13@  For information about parameter name requirements and restrictions, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-paramstore-su-create-about About Creating Systems Manager Parameters> in the /AWS Systems Manager User Guide/ . -- -- * 'ppValue' - The parameter value that you want to add to the system. --@@ -86,43 +86,43 @@     -> PutParameter putParameter pName_ pValue_ pType_ =   PutParameter'-  { _ppKeyId = Nothing-  , _ppAllowedPattern = Nothing-  , _ppOverwrite = Nothing-  , _ppDescription = Nothing-  , _ppName = pName_-  , _ppValue = pValue_-  , _ppType = pType_-  }+    { _ppKeyId = Nothing+    , _ppAllowedPattern = Nothing+    , _ppOverwrite = Nothing+    , _ppDescription = Nothing+    , _ppName = pName_+    , _ppValue = pValue_+    , _ppType = pType_+    }   -- | 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)-ppKeyId = lens _ppKeyId (\ s a -> s{_ppKeyId = a});+ppKeyId = lens _ppKeyId (\ s a -> s{_ppKeyId = 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+$ ppAllowedPattern :: Lens' PutParameter (Maybe Text)-ppAllowedPattern = lens _ppAllowedPattern (\ s a -> s{_ppAllowedPattern = a});+ppAllowedPattern = lens _ppAllowedPattern (\ s a -> s{_ppAllowedPattern = a})  -- | Overwrite an existing parameter. If not specified, will default to "false". ppOverwrite :: Lens' PutParameter (Maybe Bool)-ppOverwrite = lens _ppOverwrite (\ s a -> s{_ppOverwrite = a});+ppOverwrite = lens _ppOverwrite (\ s a -> s{_ppOverwrite = a}) --- | Information about the parameter that you want to add to the system+-- | Information about the parameter that you want to add to the system. /Important:/ Do not enter personally identifiable information in this field. ppDescription :: Lens' PutParameter (Maybe Text)-ppDescription = lens _ppDescription (\ s a -> s{_ppDescription = a});+ppDescription = lens _ppDescription (\ s a -> s{_ppDescription = a}) --- | The name of the parameter that you want to add to the system.+-- | 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: @/Dev/DBServer/MySQL/db-string13@  For information about parameter name requirements and restrictions, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-paramstore-su-create-about About Creating Systems Manager Parameters> in the /AWS Systems Manager User Guide/ . ppName :: Lens' PutParameter Text-ppName = lens _ppName (\ s a -> s{_ppName = a});+ppName = lens _ppName (\ s a -> s{_ppName = a})  -- | The parameter value that you want to add to the system. ppValue :: Lens' PutParameter Text-ppValue = lens _ppValue (\ s a -> s{_ppValue = a});+ppValue = lens _ppValue (\ s a -> s{_ppValue = a})  -- | The type of parameter that you want to add to the system. ppType :: Lens' PutParameter ParameterType-ppType = lens _ppType (\ s a -> s{_ppType = a});+ppType = lens _ppType (\ s a -> s{_ppType = a})  instance AWSRequest PutParameter where         type Rs PutParameter = PutParameterResponse@@ -182,15 +182,15 @@     -> PutParameterResponse putParameterResponse pResponseStatus_ =   PutParameterResponse'-  {_pprsVersion = Nothing, _pprsResponseStatus = pResponseStatus_}+    {_pprsVersion = Nothing, _pprsResponseStatus = pResponseStatus_}   -- | 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)-pprsVersion = lens _pprsVersion (\ s a -> s{_pprsVersion = a});+pprsVersion = lens _pprsVersion (\ s a -> s{_pprsVersion = a})  -- | -- | The response status code. pprsResponseStatus :: Lens' PutParameterResponse Int-pprsResponseStatus = lens _pprsResponseStatus (\ s a -> s{_pprsResponseStatus = a});+pprsResponseStatus = lens _pprsResponseStatus (\ s a -> s{_pprsResponseStatus = a})  instance NFData PutParameterResponse where
gen/Network/AWS/SSM/RegisterDefaultPatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.RegisterDefaultPatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ID of the patch baseline that should be the default patch baseline. rdpbBaselineId :: Lens' RegisterDefaultPatchBaseline Text-rdpbBaselineId = lens _rdpbBaselineId (\ s a -> s{_rdpbBaselineId = a});+rdpbBaselineId = lens _rdpbBaselineId (\ s a -> s{_rdpbBaselineId = a})  instance AWSRequest RegisterDefaultPatchBaseline          where@@ -121,16 +121,16 @@     -> RegisterDefaultPatchBaselineResponse registerDefaultPatchBaselineResponse pResponseStatus_ =   RegisterDefaultPatchBaselineResponse'-  {_rdpbrsBaselineId = Nothing, _rdpbrsResponseStatus = pResponseStatus_}+    {_rdpbrsBaselineId = Nothing, _rdpbrsResponseStatus = pResponseStatus_}   -- | The ID of the default patch baseline. rdpbrsBaselineId :: Lens' RegisterDefaultPatchBaselineResponse (Maybe Text)-rdpbrsBaselineId = lens _rdpbrsBaselineId (\ s a -> s{_rdpbrsBaselineId = a});+rdpbrsBaselineId = lens _rdpbrsBaselineId (\ s a -> s{_rdpbrsBaselineId = a})  -- | -- | The response status code. rdpbrsResponseStatus :: Lens' RegisterDefaultPatchBaselineResponse Int-rdpbrsResponseStatus = lens _rdpbrsResponseStatus (\ s a -> s{_rdpbrsResponseStatus = a});+rdpbrsResponseStatus = lens _rdpbrsResponseStatus (\ s a -> s{_rdpbrsResponseStatus = a})  instance NFData RegisterDefaultPatchBaselineResponse          where
gen/Network/AWS/SSM/RegisterPatchBaselineForPatchGroup.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.RegisterPatchBaselineForPatchGroup--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,16 +66,16 @@     -> RegisterPatchBaselineForPatchGroup registerPatchBaselineForPatchGroup pBaselineId_ pPatchGroup_ =   RegisterPatchBaselineForPatchGroup'-  {_rpbfpgBaselineId = pBaselineId_, _rpbfpgPatchGroup = pPatchGroup_}+    {_rpbfpgBaselineId = pBaselineId_, _rpbfpgPatchGroup = pPatchGroup_}   -- | The ID of the patch baseline to register the patch group with. rpbfpgBaselineId :: Lens' RegisterPatchBaselineForPatchGroup Text-rpbfpgBaselineId = lens _rpbfpgBaselineId (\ s a -> s{_rpbfpgBaselineId = a});+rpbfpgBaselineId = lens _rpbfpgBaselineId (\ s a -> s{_rpbfpgBaselineId = a})  -- | The name of the patch group that should be registered with the patch baseline. rpbfpgPatchGroup :: Lens' RegisterPatchBaselineForPatchGroup Text-rpbfpgPatchGroup = lens _rpbfpgPatchGroup (\ s a -> s{_rpbfpgPatchGroup = a});+rpbfpgPatchGroup = lens _rpbfpgPatchGroup (\ s a -> s{_rpbfpgPatchGroup = a})  instance AWSRequest            RegisterPatchBaselineForPatchGroup@@ -145,23 +145,23 @@     -> RegisterPatchBaselineForPatchGroupResponse registerPatchBaselineForPatchGroupResponse pResponseStatus_ =   RegisterPatchBaselineForPatchGroupResponse'-  { _rpbfpgrsBaselineId = Nothing-  , _rpbfpgrsPatchGroup = Nothing-  , _rpbfpgrsResponseStatus = pResponseStatus_-  }+    { _rpbfpgrsBaselineId = Nothing+    , _rpbfpgrsPatchGroup = Nothing+    , _rpbfpgrsResponseStatus = pResponseStatus_+    }   -- | The ID of the patch baseline the patch group was registered with. rpbfpgrsBaselineId :: Lens' RegisterPatchBaselineForPatchGroupResponse (Maybe Text)-rpbfpgrsBaselineId = lens _rpbfpgrsBaselineId (\ s a -> s{_rpbfpgrsBaselineId = a});+rpbfpgrsBaselineId = lens _rpbfpgrsBaselineId (\ s a -> s{_rpbfpgrsBaselineId = a})  -- | The name of the patch group registered with the patch baseline. rpbfpgrsPatchGroup :: Lens' RegisterPatchBaselineForPatchGroupResponse (Maybe Text)-rpbfpgrsPatchGroup = lens _rpbfpgrsPatchGroup (\ s a -> s{_rpbfpgrsPatchGroup = a});+rpbfpgrsPatchGroup = lens _rpbfpgrsPatchGroup (\ s a -> s{_rpbfpgrsPatchGroup = a})  -- | -- | The response status code. rpbfpgrsResponseStatus :: Lens' RegisterPatchBaselineForPatchGroupResponse Int-rpbfpgrsResponseStatus = lens _rpbfpgrsResponseStatus (\ s a -> s{_rpbfpgrsResponseStatus = a});+rpbfpgrsResponseStatus = lens _rpbfpgrsResponseStatus (\ s a -> s{_rpbfpgrsResponseStatus = a})  instance NFData            RegisterPatchBaselineForPatchGroupResponse
gen/Network/AWS/SSM/RegisterTargetWithMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.RegisterTargetWithMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -78,50 +78,50 @@ -- -- * 'rResourceType' - The type of target being registered with the Maintenance Window. ----- * 'rTargets' - The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+-- * 'rTargets' - The targets (either instances or tags).  Specify instances using the following format: @Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>@  Specify tags using either of the following formats: @Key=tag:<tag-key>,Values=<tag-value-1>,<tag-value-2>@  @Key=tag-key,Values=<tag-key-1>,<tag-key-2>@ registerTargetWithMaintenanceWindow     :: Text -- ^ 'rWindowId'     -> MaintenanceWindowResourceType -- ^ 'rResourceType'     -> RegisterTargetWithMaintenanceWindow registerTargetWithMaintenanceWindow pWindowId_ pResourceType_ =   RegisterTargetWithMaintenanceWindow'-  { _rClientToken = Nothing-  , _rOwnerInformation = Nothing-  , _rName = Nothing-  , _rDescription = Nothing-  , _rWindowId = pWindowId_-  , _rResourceType = pResourceType_-  , _rTargets = mempty-  }+    { _rClientToken = Nothing+    , _rOwnerInformation = Nothing+    , _rName = Nothing+    , _rDescription = Nothing+    , _rWindowId = pWindowId_+    , _rResourceType = pResourceType_+    , _rTargets = mempty+    }   -- | User-provided idempotency token. rClientToken :: Lens' RegisterTargetWithMaintenanceWindow (Maybe Text)-rClientToken = lens _rClientToken (\ s a -> s{_rClientToken = a});+rClientToken = lens _rClientToken (\ s a -> s{_rClientToken = a})  -- | 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)-rOwnerInformation = lens _rOwnerInformation (\ s a -> s{_rOwnerInformation = a}) . mapping _Sensitive;+rOwnerInformation = lens _rOwnerInformation (\ s a -> s{_rOwnerInformation = a}) . mapping _Sensitive  -- | An optional name for the target. rName :: Lens' RegisterTargetWithMaintenanceWindow (Maybe Text)-rName = lens _rName (\ s a -> s{_rName = a});+rName = lens _rName (\ s a -> s{_rName = a})  -- | An optional description for the target. rDescription :: Lens' RegisterTargetWithMaintenanceWindow (Maybe Text)-rDescription = lens _rDescription (\ s a -> s{_rDescription = a}) . mapping _Sensitive;+rDescription = lens _rDescription (\ s a -> s{_rDescription = a}) . mapping _Sensitive  -- | The ID of the Maintenance Window the target should be registered with. rWindowId :: Lens' RegisterTargetWithMaintenanceWindow Text-rWindowId = lens _rWindowId (\ s a -> s{_rWindowId = a});+rWindowId = lens _rWindowId (\ s a -> s{_rWindowId = a})  -- | The type of target being registered with the Maintenance Window. rResourceType :: Lens' RegisterTargetWithMaintenanceWindow MaintenanceWindowResourceType-rResourceType = lens _rResourceType (\ s a -> s{_rResourceType = a});+rResourceType = lens _rResourceType (\ s a -> s{_rResourceType = a}) --- | The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+-- | The targets (either instances or tags).  Specify instances using the following format: @Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>@  Specify tags using either of the following formats: @Key=tag:<tag-key>,Values=<tag-value-1>,<tag-value-2>@  @Key=tag-key,Values=<tag-key-1>,<tag-key-2>@ rTargets :: Lens' RegisterTargetWithMaintenanceWindow [Target]-rTargets = lens _rTargets (\ s a -> s{_rTargets = a}) . _Coerce;+rTargets = lens _rTargets (\ s a -> s{_rTargets = a}) . _Coerce  instance AWSRequest            RegisterTargetWithMaintenanceWindow@@ -193,16 +193,16 @@     -> RegisterTargetWithMaintenanceWindowResponse registerTargetWithMaintenanceWindowResponse pResponseStatus_ =   RegisterTargetWithMaintenanceWindowResponse'-  {_rrsWindowTargetId = Nothing, _rrsResponseStatus = pResponseStatus_}+    {_rrsWindowTargetId = Nothing, _rrsResponseStatus = pResponseStatus_}   -- | The ID of the target definition in this Maintenance Window. rrsWindowTargetId :: Lens' RegisterTargetWithMaintenanceWindowResponse (Maybe Text)-rrsWindowTargetId = lens _rrsWindowTargetId (\ s a -> s{_rrsWindowTargetId = a});+rrsWindowTargetId = lens _rrsWindowTargetId (\ s a -> s{_rrsWindowTargetId = a})  -- | -- | The response status code. rrsResponseStatus :: Lens' RegisterTargetWithMaintenanceWindowResponse Int-rrsResponseStatus = lens _rrsResponseStatus (\ s a -> s{_rrsResponseStatus = a});+rrsResponseStatus = lens _rrsResponseStatus (\ s a -> s{_rrsResponseStatus = a})  instance NFData            RegisterTargetWithMaintenanceWindowResponse
gen/Network/AWS/SSM/RegisterTaskWithMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.RegisterTaskWithMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -94,9 +94,9 @@ -- -- * 'rtwmwDescription' - An optional description for the task. ----- * 'rtwmwWindowId' - The id of the Maintenance Window the task should be added to.+-- * 'rtwmwWindowId' - The ID of the Maintenance Window the task should be added to. ----- * 'rtwmwTargets' - The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+-- * 'rtwmwTargets' - The targets (either instances or Maintenance Window targets). Specify instances using the following format:  @Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>@  Specify Maintenance Window targets using the following format: @Key=<WindowTargetIds>,Values=<window-target-id-1>,<window-target-id-2>@ -- -- * 'rtwmwTaskARN' - The ARN of the task to execute --@@ -117,78 +117,78 @@     -> RegisterTaskWithMaintenanceWindow registerTaskWithMaintenanceWindow pWindowId_ pTaskARN_ pServiceRoleARN_ pTaskType_ pMaxConcurrency_ pMaxErrors_ =   RegisterTaskWithMaintenanceWindow'-  { _rtwmwTaskParameters = Nothing-  , _rtwmwPriority = Nothing-  , _rtwmwClientToken = Nothing-  , _rtwmwTaskInvocationParameters = Nothing-  , _rtwmwName = Nothing-  , _rtwmwLoggingInfo = Nothing-  , _rtwmwDescription = Nothing-  , _rtwmwWindowId = pWindowId_-  , _rtwmwTargets = mempty-  , _rtwmwTaskARN = pTaskARN_-  , _rtwmwServiceRoleARN = pServiceRoleARN_-  , _rtwmwTaskType = pTaskType_-  , _rtwmwMaxConcurrency = pMaxConcurrency_-  , _rtwmwMaxErrors = pMaxErrors_-  }+    { _rtwmwTaskParameters = Nothing+    , _rtwmwPriority = Nothing+    , _rtwmwClientToken = Nothing+    , _rtwmwTaskInvocationParameters = Nothing+    , _rtwmwName = Nothing+    , _rtwmwLoggingInfo = Nothing+    , _rtwmwDescription = Nothing+    , _rtwmwWindowId = pWindowId_+    , _rtwmwTargets = mempty+    , _rtwmwTaskARN = pTaskARN_+    , _rtwmwServiceRoleARN = pServiceRoleARN_+    , _rtwmwTaskType = pTaskType_+    , _rtwmwMaxConcurrency = pMaxConcurrency_+    , _rtwmwMaxErrors = pMaxErrors_+    }   -- | The parameters that should be passed to the task when it is executed. rtwmwTaskParameters :: Lens' RegisterTaskWithMaintenanceWindow (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))-rtwmwTaskParameters = lens _rtwmwTaskParameters (\ s a -> s{_rtwmwTaskParameters = a}) . mapping (_Sensitive . _Map);+rtwmwTaskParameters = lens _rtwmwTaskParameters (\ s a -> s{_rtwmwTaskParameters = a}) . mapping (_Sensitive . _Map)  -- | 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)-rtwmwPriority = lens _rtwmwPriority (\ s a -> s{_rtwmwPriority = a}) . mapping _Nat;+rtwmwPriority = lens _rtwmwPriority (\ s a -> s{_rtwmwPriority = a}) . mapping _Nat  -- | User-provided idempotency token. rtwmwClientToken :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Text)-rtwmwClientToken = lens _rtwmwClientToken (\ s a -> s{_rtwmwClientToken = a});+rtwmwClientToken = lens _rtwmwClientToken (\ s a -> s{_rtwmwClientToken = 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. rtwmwTaskInvocationParameters :: Lens' RegisterTaskWithMaintenanceWindow (Maybe MaintenanceWindowTaskInvocationParameters)-rtwmwTaskInvocationParameters = lens _rtwmwTaskInvocationParameters (\ s a -> s{_rtwmwTaskInvocationParameters = a});+rtwmwTaskInvocationParameters = lens _rtwmwTaskInvocationParameters (\ s a -> s{_rtwmwTaskInvocationParameters = a})  -- | An optional name for the task. rtwmwName :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Text)-rtwmwName = lens _rtwmwName (\ s a -> s{_rtwmwName = a});+rtwmwName = lens _rtwmwName (\ s a -> s{_rtwmwName = a})  -- | A structure containing information about an Amazon S3 bucket to write instance-level logs to. rtwmwLoggingInfo :: Lens' RegisterTaskWithMaintenanceWindow (Maybe LoggingInfo)-rtwmwLoggingInfo = lens _rtwmwLoggingInfo (\ s a -> s{_rtwmwLoggingInfo = a});+rtwmwLoggingInfo = lens _rtwmwLoggingInfo (\ s a -> s{_rtwmwLoggingInfo = a})  -- | An optional description for the task. rtwmwDescription :: Lens' RegisterTaskWithMaintenanceWindow (Maybe Text)-rtwmwDescription = lens _rtwmwDescription (\ s a -> s{_rtwmwDescription = a}) . mapping _Sensitive;+rtwmwDescription = lens _rtwmwDescription (\ s a -> s{_rtwmwDescription = a}) . mapping _Sensitive --- | The id of the Maintenance Window the task should be added to.+-- | The ID of the Maintenance Window the task should be added to. rtwmwWindowId :: Lens' RegisterTaskWithMaintenanceWindow Text-rtwmwWindowId = lens _rtwmwWindowId (\ s a -> s{_rtwmwWindowId = a});+rtwmwWindowId = lens _rtwmwWindowId (\ s a -> s{_rtwmwWindowId = a}) --- | The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+-- | The targets (either instances or Maintenance Window targets). Specify instances using the following format:  @Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>@  Specify Maintenance Window targets using the following format: @Key=<WindowTargetIds>,Values=<window-target-id-1>,<window-target-id-2>@ rtwmwTargets :: Lens' RegisterTaskWithMaintenanceWindow [Target]-rtwmwTargets = lens _rtwmwTargets (\ s a -> s{_rtwmwTargets = a}) . _Coerce;+rtwmwTargets = lens _rtwmwTargets (\ s a -> s{_rtwmwTargets = a}) . _Coerce  -- | The ARN of the task to execute rtwmwTaskARN :: Lens' RegisterTaskWithMaintenanceWindow Text-rtwmwTaskARN = lens _rtwmwTaskARN (\ s a -> s{_rtwmwTaskARN = a});+rtwmwTaskARN = lens _rtwmwTaskARN (\ s a -> s{_rtwmwTaskARN = a})  -- | The role that should be assumed when executing the task. rtwmwServiceRoleARN :: Lens' RegisterTaskWithMaintenanceWindow Text-rtwmwServiceRoleARN = lens _rtwmwServiceRoleARN (\ s a -> s{_rtwmwServiceRoleARN = a});+rtwmwServiceRoleARN = lens _rtwmwServiceRoleARN (\ s a -> s{_rtwmwServiceRoleARN = a})  -- | The type of task being registered. rtwmwTaskType :: Lens' RegisterTaskWithMaintenanceWindow MaintenanceWindowTaskType-rtwmwTaskType = lens _rtwmwTaskType (\ s a -> s{_rtwmwTaskType = a});+rtwmwTaskType = lens _rtwmwTaskType (\ s a -> s{_rtwmwTaskType = a})  -- | The maximum number of targets this task can be run for in parallel. rtwmwMaxConcurrency :: Lens' RegisterTaskWithMaintenanceWindow Text-rtwmwMaxConcurrency = lens _rtwmwMaxConcurrency (\ s a -> s{_rtwmwMaxConcurrency = a});+rtwmwMaxConcurrency = lens _rtwmwMaxConcurrency (\ s a -> s{_rtwmwMaxConcurrency = a})  -- | The maximum number of errors allowed before this task stops being scheduled. rtwmwMaxErrors :: Lens' RegisterTaskWithMaintenanceWindow Text-rtwmwMaxErrors = lens _rtwmwMaxErrors (\ s a -> s{_rtwmwMaxErrors = a});+rtwmwMaxErrors = lens _rtwmwMaxErrors (\ s a -> s{_rtwmwMaxErrors = a})  instance AWSRequest RegisterTaskWithMaintenanceWindow          where@@ -266,16 +266,16 @@     -> RegisterTaskWithMaintenanceWindowResponse registerTaskWithMaintenanceWindowResponse pResponseStatus_ =   RegisterTaskWithMaintenanceWindowResponse'-  {_rtwmwrsWindowTaskId = Nothing, _rtwmwrsResponseStatus = pResponseStatus_}+    {_rtwmwrsWindowTaskId = Nothing, _rtwmwrsResponseStatus = pResponseStatus_}   -- | The id of the task in the Maintenance Window. rtwmwrsWindowTaskId :: Lens' RegisterTaskWithMaintenanceWindowResponse (Maybe Text)-rtwmwrsWindowTaskId = lens _rtwmwrsWindowTaskId (\ s a -> s{_rtwmwrsWindowTaskId = a});+rtwmwrsWindowTaskId = lens _rtwmwrsWindowTaskId (\ s a -> s{_rtwmwrsWindowTaskId = a})  -- | -- | The response status code. rtwmwrsResponseStatus :: Lens' RegisterTaskWithMaintenanceWindowResponse Int-rtwmwrsResponseStatus = lens _rtwmwrsResponseStatus (\ s a -> s{_rtwmwrsResponseStatus = a});+rtwmwrsResponseStatus = lens _rtwmwrsResponseStatus (\ s a -> s{_rtwmwrsResponseStatus = a})  instance NFData            RegisterTaskWithMaintenanceWindowResponse
gen/Network/AWS/SSM/RemoveTagsFromResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.RemoveTagsFromResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -59,7 +59,7 @@ -- -- * 'rtfrResourceType' - The type of resource of which you want to remove a tag. ----- * 'rtfrResourceId' - The resource ID for which you want to remove tags.+-- * 'rtfrResourceId' - 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. -- -- * 'rtfrTagKeys' - Tag keys that you want to remove from the specified resource. removeTagsFromResource@@ -68,23 +68,23 @@     -> RemoveTagsFromResource removeTagsFromResource pResourceType_ pResourceId_ =   RemoveTagsFromResource'-  { _rtfrResourceType = pResourceType_-  , _rtfrResourceId = pResourceId_-  , _rtfrTagKeys = mempty-  }+    { _rtfrResourceType = pResourceType_+    , _rtfrResourceId = pResourceId_+    , _rtfrTagKeys = mempty+    }   -- | The type of resource of which you want to remove a tag. rtfrResourceType :: Lens' RemoveTagsFromResource ResourceTypeForTagging-rtfrResourceType = lens _rtfrResourceType (\ s a -> s{_rtfrResourceType = a});+rtfrResourceType = lens _rtfrResourceType (\ s a -> s{_rtfrResourceType = a}) --- | The resource ID for which you want to remove tags.+-- | 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-rtfrResourceId = lens _rtfrResourceId (\ s a -> s{_rtfrResourceId = a});+rtfrResourceId = lens _rtfrResourceId (\ s a -> s{_rtfrResourceId = a})  -- | Tag keys that you want to remove from the specified resource. rtfrTagKeys :: Lens' RemoveTagsFromResource [Text]-rtfrTagKeys = lens _rtfrTagKeys (\ s a -> s{_rtfrTagKeys = a}) . _Coerce;+rtfrTagKeys = lens _rtfrTagKeys (\ s a -> s{_rtfrTagKeys = a}) . _Coerce  instance AWSRequest RemoveTagsFromResource where         type Rs RemoveTagsFromResource =@@ -143,6 +143,6 @@  -- | -- | The response status code. rtfrrsResponseStatus :: Lens' RemoveTagsFromResourceResponse Int-rtfrrsResponseStatus = lens _rtfrrsResponseStatus (\ s a -> s{_rtfrrsResponseStatus = a});+rtfrrsResponseStatus = lens _rtfrrsResponseStatus (\ s a -> s{_rtfrrsResponseStatus = a})  instance NFData RemoveTagsFromResourceResponse where
gen/Network/AWS/SSM/SendAutomationSignal.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.SendAutomationSignal--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,23 +68,23 @@     -> SendAutomationSignal sendAutomationSignal pAutomationExecutionId_ pSignalType_ =   SendAutomationSignal'-  { _sasPayload = Nothing-  , _sasAutomationExecutionId = pAutomationExecutionId_-  , _sasSignalType = pSignalType_-  }+    { _sasPayload = Nothing+    , _sasAutomationExecutionId = pAutomationExecutionId_+    , _sasSignalType = pSignalType_+    }   -- | 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])-sasPayload = lens _sasPayload (\ s a -> s{_sasPayload = a}) . _Default . _Map;+sasPayload = lens _sasPayload (\ s a -> s{_sasPayload = a}) . _Default . _Map  -- | The unique identifier for an existing Automation execution that you want to send the signal to. sasAutomationExecutionId :: Lens' SendAutomationSignal Text-sasAutomationExecutionId = lens _sasAutomationExecutionId (\ s a -> s{_sasAutomationExecutionId = a});+sasAutomationExecutionId = lens _sasAutomationExecutionId (\ s a -> s{_sasAutomationExecutionId = a})  -- | The type of signal. Valid signal types include the following: Approve and Reject sasSignalType :: Lens' SendAutomationSignal SignalType-sasSignalType = lens _sasSignalType (\ s a -> s{_sasSignalType = a});+sasSignalType = lens _sasSignalType (\ s a -> s{_sasSignalType = a})  instance AWSRequest SendAutomationSignal where         type Rs SendAutomationSignal =@@ -145,6 +145,6 @@  -- | -- | The response status code. sasrsResponseStatus :: Lens' SendAutomationSignalResponse Int-sasrsResponseStatus = lens _sasrsResponseStatus (\ s a -> s{_sasrsResponseStatus = a});+sasrsResponseStatus = lens _sasrsResponseStatus (\ s a -> s{_sasrsResponseStatus = a})  instance NFData SendAutomationSignalResponse where
gen/Network/AWS/SSM/SendCommand.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.SendCommand--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -37,6 +37,7 @@     , scTargets     , scParameters     , scDocumentHash+    , scDocumentVersion     , scTimeoutSeconds     , scComment     , scOutputS3BucketName@@ -70,6 +71,7 @@   , _scTargets            :: !(Maybe [Target])   , _scParameters         :: !(Maybe (Map Text [Text]))   , _scDocumentHash       :: !(Maybe Text)+  , _scDocumentVersion    :: !(Maybe Text)   , _scTimeoutSeconds     :: !(Maybe Nat)   , _scComment            :: !(Maybe Text)   , _scOutputS3BucketName :: !(Maybe Text)@@ -90,7 +92,7 @@ -- -- * 'scOutputS3KeyPrefix' - The directory structure within the S3 bucket where the responses should be stored. ----- * 'scMaxErrors' - 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 50. For more information about how to use MaxErrors, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-maxerrors.html Using Error Controls> .+-- * 'scMaxErrors' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-maxerrors.html Using Error Controls> . -- -- * 'scInstanceIds' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Sending Commands to a Fleet> . --@@ -102,8 +104,10 @@ -- -- * 'scDocumentHash' - The Sha256 or Sha1 hash created by the system when the document was created. ----- * 'scTimeoutSeconds' - If this time is reached and the command has not already started executing, it will not execute.+-- * 'scDocumentVersion' - The SSM document version to use in the request. You can specify Default, Latest, or a specific version number. --+-- * 'scTimeoutSeconds' - If this time is reached and the command has not already started executing, it will not run.+-- -- * 'scComment' - User-specified information about the command, such as a brief description of what the command should do. -- -- * 'scOutputS3BucketName' - The name of the S3 bucket where command execution responses should be stored.@@ -116,83 +120,88 @@     -> SendCommand sendCommand pDocumentName_ =   SendCommand'-  { _scServiceRoleARN = Nothing-  , _scNotificationConfig = Nothing-  , _scDocumentHashType = Nothing-  , _scOutputS3KeyPrefix = Nothing-  , _scMaxErrors = Nothing-  , _scInstanceIds = Nothing-  , _scOutputS3Region = Nothing-  , _scTargets = Nothing-  , _scParameters = Nothing-  , _scDocumentHash = Nothing-  , _scTimeoutSeconds = Nothing-  , _scComment = Nothing-  , _scOutputS3BucketName = Nothing-  , _scMaxConcurrency = Nothing-  , _scDocumentName = pDocumentName_-  }+    { _scServiceRoleARN = Nothing+    , _scNotificationConfig = Nothing+    , _scDocumentHashType = Nothing+    , _scOutputS3KeyPrefix = Nothing+    , _scMaxErrors = Nothing+    , _scInstanceIds = Nothing+    , _scOutputS3Region = Nothing+    , _scTargets = Nothing+    , _scParameters = Nothing+    , _scDocumentHash = Nothing+    , _scDocumentVersion = Nothing+    , _scTimeoutSeconds = Nothing+    , _scComment = Nothing+    , _scOutputS3BucketName = Nothing+    , _scMaxConcurrency = Nothing+    , _scDocumentName = pDocumentName_+    }   -- | The IAM role that Systems Manager uses to send notifications. scServiceRoleARN :: Lens' SendCommand (Maybe Text)-scServiceRoleARN = lens _scServiceRoleARN (\ s a -> s{_scServiceRoleARN = a});+scServiceRoleARN = lens _scServiceRoleARN (\ s a -> s{_scServiceRoleARN = a})  -- | Configurations for sending notifications. scNotificationConfig :: Lens' SendCommand (Maybe NotificationConfig)-scNotificationConfig = lens _scNotificationConfig (\ s a -> s{_scNotificationConfig = a});+scNotificationConfig = lens _scNotificationConfig (\ s a -> s{_scNotificationConfig = a})  -- | Sha256 or Sha1. scDocumentHashType :: Lens' SendCommand (Maybe DocumentHashType)-scDocumentHashType = lens _scDocumentHashType (\ s a -> s{_scDocumentHashType = a});+scDocumentHashType = lens _scDocumentHashType (\ s a -> s{_scDocumentHashType = a})  -- | The directory structure within the S3 bucket where the responses should be stored. scOutputS3KeyPrefix :: Lens' SendCommand (Maybe Text)-scOutputS3KeyPrefix = lens _scOutputS3KeyPrefix (\ s a -> s{_scOutputS3KeyPrefix = a});+scOutputS3KeyPrefix = lens _scOutputS3KeyPrefix (\ s a -> s{_scOutputS3KeyPrefix = 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 50. For more information about how to use MaxErrors, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-maxerrors.html Using Error Controls> .+-- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-maxerrors.html Using Error Controls> . scMaxErrors :: Lens' SendCommand (Maybe Text)-scMaxErrors = lens _scMaxErrors (\ s a -> s{_scMaxErrors = a});+scMaxErrors = lens _scMaxErrors (\ s a -> s{_scMaxErrors = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Sending Commands to a Fleet> . scInstanceIds :: Lens' SendCommand [Text]-scInstanceIds = lens _scInstanceIds (\ s a -> s{_scInstanceIds = a}) . _Default . _Coerce;+scInstanceIds = lens _scInstanceIds (\ s a -> s{_scInstanceIds = a}) . _Default . _Coerce  -- | (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)-scOutputS3Region = lens _scOutputS3Region (\ s a -> s{_scOutputS3Region = a});+scOutputS3Region = lens _scOutputS3Region (\ s a -> s{_scOutputS3Region = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Sending Commands to a Fleet> . scTargets :: Lens' SendCommand [Target]-scTargets = lens _scTargets (\ s a -> s{_scTargets = a}) . _Default . _Coerce;+scTargets = lens _scTargets (\ s a -> s{_scTargets = a}) . _Default . _Coerce  -- | The required and optional parameters specified in the document being executed. scParameters :: Lens' SendCommand (HashMap Text [Text])-scParameters = lens _scParameters (\ s a -> s{_scParameters = a}) . _Default . _Map;+scParameters = lens _scParameters (\ s a -> s{_scParameters = a}) . _Default . _Map  -- | The Sha256 or Sha1 hash created by the system when the document was created. scDocumentHash :: Lens' SendCommand (Maybe Text)-scDocumentHash = lens _scDocumentHash (\ s a -> s{_scDocumentHash = a});+scDocumentHash = lens _scDocumentHash (\ s a -> s{_scDocumentHash = a}) --- | If this time is reached and the command has not already started executing, it will not execute.+-- | The SSM document version to use in the request. You can specify Default, Latest, or a specific version number.+scDocumentVersion :: Lens' SendCommand (Maybe Text)+scDocumentVersion = lens _scDocumentVersion (\ s a -> s{_scDocumentVersion = a})++-- | If this time is reached and the command has not already started executing, it will not run. scTimeoutSeconds :: Lens' SendCommand (Maybe Natural)-scTimeoutSeconds = lens _scTimeoutSeconds (\ s a -> s{_scTimeoutSeconds = a}) . mapping _Nat;+scTimeoutSeconds = lens _scTimeoutSeconds (\ s a -> s{_scTimeoutSeconds = a}) . mapping _Nat  -- | User-specified information about the command, such as a brief description of what the command should do. scComment :: Lens' SendCommand (Maybe Text)-scComment = lens _scComment (\ s a -> s{_scComment = a});+scComment = lens _scComment (\ s a -> s{_scComment = a})  -- | The name of the S3 bucket where command execution responses should be stored. scOutputS3BucketName :: Lens' SendCommand (Maybe Text)-scOutputS3BucketName = lens _scOutputS3BucketName (\ s a -> s{_scOutputS3BucketName = a});+scOutputS3BucketName = lens _scOutputS3BucketName (\ s a -> s{_scOutputS3BucketName = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-velocity.html Using Concurrency Controls> . scMaxConcurrency :: Lens' SendCommand (Maybe Text)-scMaxConcurrency = lens _scMaxConcurrency (\ s a -> s{_scMaxConcurrency = a});+scMaxConcurrency = lens _scMaxConcurrency (\ s a -> s{_scMaxConcurrency = a})  -- | Required. The name of the Systems Manager document to execute. This can be a public document or a custom document. scDocumentName :: Lens' SendCommand Text-scDocumentName = lens _scDocumentName (\ s a -> s{_scDocumentName = a});+scDocumentName = lens _scDocumentName (\ s a -> s{_scDocumentName = a})  instance AWSRequest SendCommand where         type Rs SendCommand = SendCommandResponse@@ -230,6 +239,7 @@                   ("Targets" .=) <$> _scTargets,                   ("Parameters" .=) <$> _scParameters,                   ("DocumentHash" .=) <$> _scDocumentHash,+                  ("DocumentVersion" .=) <$> _scDocumentVersion,                   ("TimeoutSeconds" .=) <$> _scTimeoutSeconds,                   ("Comment" .=) <$> _scComment,                   ("OutputS3BucketName" .=) <$> _scOutputS3BucketName,@@ -261,15 +271,15 @@     -> SendCommandResponse sendCommandResponse pResponseStatus_ =   SendCommandResponse'-  {_scrsCommand = Nothing, _scrsResponseStatus = pResponseStatus_}+    {_scrsCommand = Nothing, _scrsResponseStatus = pResponseStatus_}   -- | 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)-scrsCommand = lens _scrsCommand (\ s a -> s{_scrsCommand = a});+scrsCommand = lens _scrsCommand (\ s a -> s{_scrsCommand = a})  -- | -- | The response status code. scrsResponseStatus :: Lens' SendCommandResponse Int-scrsResponseStatus = lens _scrsResponseStatus (\ s a -> s{_scrsResponseStatus = a});+scrsResponseStatus = lens _scrsResponseStatus (\ s a -> s{_scrsResponseStatus = a})  instance NFData SendCommandResponse where
gen/Network/AWS/SSM/StartAutomationExecution.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.StartAutomationExecution--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,9 +27,14 @@       startAutomationExecution     , StartAutomationExecution     -- * Request Lenses+    , saeTargetParameterName     , saeClientToken+    , saeMode+    , saeMaxErrors+    , saeTargets     , saeParameters     , saeDocumentVersion+    , saeMaxConcurrency     , saeDocumentName      -- * Destructuring the Response@@ -49,10 +54,15 @@  -- | /See:/ 'startAutomationExecution' smart constructor. data StartAutomationExecution = StartAutomationExecution'-  { _saeClientToken     :: !(Maybe Text)-  , _saeParameters      :: !(Maybe (Map Text [Text]))-  , _saeDocumentVersion :: !(Maybe Text)-  , _saeDocumentName    :: !Text+  { _saeTargetParameterName :: !(Maybe Text)+  , _saeClientToken         :: !(Maybe Text)+  , _saeMode                :: !(Maybe ExecutionMode)+  , _saeMaxErrors           :: !(Maybe Text)+  , _saeTargets             :: !(Maybe [Target])+  , _saeParameters          :: !(Maybe (Map Text [Text]))+  , _saeDocumentVersion     :: !(Maybe Text)+  , _saeMaxConcurrency      :: !(Maybe Text)+  , _saeDocumentName        :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -60,40 +70,75 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'saeTargetParameterName' - The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify Targets.+-- -- * 'saeClientToken' - User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused. --+-- * 'saeMode' - The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.+--+-- * 'saeMaxErrors' - 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.+--+-- * 'saeTargets' - A key-value mapping to target resources. Required if you specify TargetParameterName.+-- -- * 'saeParameters' - A key-value map of execution parameters, which match the declared parameters in the Automation document. -- -- * 'saeDocumentVersion' - The version of the Automation document to use for this execution. --+-- * 'saeMaxConcurrency' - 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.+-- -- * 'saeDocumentName' - The name of the Automation document to use for this execution. startAutomationExecution     :: Text -- ^ 'saeDocumentName'     -> StartAutomationExecution startAutomationExecution pDocumentName_ =   StartAutomationExecution'-  { _saeClientToken = Nothing-  , _saeParameters = Nothing-  , _saeDocumentVersion = Nothing-  , _saeDocumentName = pDocumentName_-  }+    { _saeTargetParameterName = Nothing+    , _saeClientToken = Nothing+    , _saeMode = Nothing+    , _saeMaxErrors = Nothing+    , _saeTargets = Nothing+    , _saeParameters = Nothing+    , _saeDocumentVersion = Nothing+    , _saeMaxConcurrency = Nothing+    , _saeDocumentName = pDocumentName_+    }  +-- | 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)+saeTargetParameterName = lens _saeTargetParameterName (\ s a -> s{_saeTargetParameterName = a})+ -- | 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)-saeClientToken = lens _saeClientToken (\ s a -> s{_saeClientToken = a});+saeClientToken = lens _saeClientToken (\ s a -> s{_saeClientToken = a}) +-- | The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.+saeMode :: Lens' StartAutomationExecution (Maybe ExecutionMode)+saeMode = lens _saeMode (\ s a -> s{_saeMode = 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.+saeMaxErrors :: Lens' StartAutomationExecution (Maybe Text)+saeMaxErrors = lens _saeMaxErrors (\ s a -> s{_saeMaxErrors = a})++-- | A key-value mapping to target resources. Required if you specify TargetParameterName.+saeTargets :: Lens' StartAutomationExecution [Target]+saeTargets = lens _saeTargets (\ s a -> s{_saeTargets = a}) . _Default . _Coerce+ -- | A key-value map of execution parameters, which match the declared parameters in the Automation document. saeParameters :: Lens' StartAutomationExecution (HashMap Text [Text])-saeParameters = lens _saeParameters (\ s a -> s{_saeParameters = a}) . _Default . _Map;+saeParameters = lens _saeParameters (\ s a -> s{_saeParameters = a}) . _Default . _Map  -- | The version of the Automation document to use for this execution. saeDocumentVersion :: Lens' StartAutomationExecution (Maybe Text)-saeDocumentVersion = lens _saeDocumentVersion (\ s a -> s{_saeDocumentVersion = a});+saeDocumentVersion = lens _saeDocumentVersion (\ s a -> s{_saeDocumentVersion = 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.+saeMaxConcurrency :: Lens' StartAutomationExecution (Maybe Text)+saeMaxConcurrency = lens _saeMaxConcurrency (\ s a -> s{_saeMaxConcurrency = a})+ -- | The name of the Automation document to use for this execution. saeDocumentName :: Lens' StartAutomationExecution Text-saeDocumentName = lens _saeDocumentName (\ s a -> s{_saeDocumentName = a});+saeDocumentName = lens _saeDocumentName (\ s a -> s{_saeDocumentName = a})  instance AWSRequest StartAutomationExecution where         type Rs StartAutomationExecution =@@ -123,9 +168,15 @@         toJSON StartAutomationExecution'{..}           = object               (catMaybes-                 [("ClientToken" .=) <$> _saeClientToken,+                 [("TargetParameterName" .=) <$>+                    _saeTargetParameterName,+                  ("ClientToken" .=) <$> _saeClientToken,+                  ("Mode" .=) <$> _saeMode,+                  ("MaxErrors" .=) <$> _saeMaxErrors,+                  ("Targets" .=) <$> _saeTargets,                   ("Parameters" .=) <$> _saeParameters,                   ("DocumentVersion" .=) <$> _saeDocumentVersion,+                  ("MaxConcurrency" .=) <$> _saeMaxConcurrency,                   Just ("DocumentName" .= _saeDocumentName)])  instance ToPath StartAutomationExecution where@@ -153,16 +204,16 @@     -> StartAutomationExecutionResponse startAutomationExecutionResponse pResponseStatus_ =   StartAutomationExecutionResponse'-  {_srsAutomationExecutionId = Nothing, _srsResponseStatus = pResponseStatus_}+    {_srsAutomationExecutionId = Nothing, _srsResponseStatus = pResponseStatus_}   -- | The unique ID of a newly scheduled automation execution. srsAutomationExecutionId :: Lens' StartAutomationExecutionResponse (Maybe Text)-srsAutomationExecutionId = lens _srsAutomationExecutionId (\ s a -> s{_srsAutomationExecutionId = a});+srsAutomationExecutionId = lens _srsAutomationExecutionId (\ s a -> s{_srsAutomationExecutionId = a})  -- | -- | The response status code. srsResponseStatus :: Lens' StartAutomationExecutionResponse Int-srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a})  instance NFData StartAutomationExecutionResponse          where
gen/Network/AWS/SSM/StopAutomationExecution.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.StopAutomationExecution--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,6 +27,7 @@       stopAutomationExecution     , StopAutomationExecution     -- * Request Lenses+    , saeType     , saeAutomationExecutionId      -- * Destructuring the Response@@ -44,8 +45,9 @@ import Network.AWS.SSM.Types.Product  -- | /See:/ 'stopAutomationExecution' smart constructor.-newtype StopAutomationExecution = StopAutomationExecution'-  { _saeAutomationExecutionId :: Text+data StopAutomationExecution = StopAutomationExecution'+  { _saeType                  :: !(Maybe StopType)+  , _saeAutomationExecutionId :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -53,17 +55,24 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'saeType' - The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.+-- -- * 'saeAutomationExecutionId' - The execution ID of the Automation to stop. stopAutomationExecution     :: Text -- ^ 'saeAutomationExecutionId'     -> StopAutomationExecution stopAutomationExecution pAutomationExecutionId_ =-  StopAutomationExecution' {_saeAutomationExecutionId = pAutomationExecutionId_}+  StopAutomationExecution'+    {_saeType = Nothing, _saeAutomationExecutionId = pAutomationExecutionId_}  +-- | The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.+saeType :: Lens' StopAutomationExecution (Maybe StopType)+saeType = lens _saeType (\ s a -> s{_saeType = a})+ -- | The execution ID of the Automation to stop. saeAutomationExecutionId :: Lens' StopAutomationExecution Text-saeAutomationExecutionId = lens _saeAutomationExecutionId (\ s a -> s{_saeAutomationExecutionId = a});+saeAutomationExecutionId = lens _saeAutomationExecutionId (\ s a -> s{_saeAutomationExecutionId = a})  instance AWSRequest StopAutomationExecution where         type Rs StopAutomationExecution =@@ -92,7 +101,8 @@         toJSON StopAutomationExecution'{..}           = object               (catMaybes-                 [Just+                 [("Type" .=) <$> _saeType,+                  Just                     ("AutomationExecutionId" .=                        _saeAutomationExecutionId)]) @@ -122,6 +132,6 @@  -- | -- | The response status code. saersResponseStatus :: Lens' StopAutomationExecutionResponse Int-saersResponseStatus = lens _saersResponseStatus (\ s a -> s{_saersResponseStatus = a});+saersResponseStatus = lens _saersResponseStatus (\ s a -> s{_saersResponseStatus = a})  instance NFData StopAutomationExecutionResponse where
gen/Network/AWS/SSM/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.SSM.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,7 @@     , _HierarchyTypeMismatchException     , _InvalidSchedule     , _UnsupportedParameterType+    , _InvalidAutomationStatusUpdateException     , _InvalidPluginName     , _FeatureNotAvailableException     , _InvalidAutomationSignalException@@ -36,6 +37,7 @@     , _InvalidInstanceId     , _StatusUnchanged     , _InvalidNextToken+    , _InvalidInventoryRequestException     , _InvalidOutputFolder     , _InvalidActivationId     , _InvalidResultAttributeException@@ -63,6 +65,8 @@     , _ParameterAlreadyExists     , _AssociationAlreadyExists     , _ComplianceTypeCountLimitExceededException+    , _InvalidDeleteInventoryParametersException+    , _InvalidDeletionIdException     , _InvalidDocumentContent     , _ParameterLimitExceeded     , _AssociationLimitExceeded@@ -76,6 +80,7 @@     , _InvalidRole     , _TooManyUpdates     , _InvalidActivation+    , _InvalidOptionException     , _InvalidDocumentSchemaVersion     , _MaxDocumentSizeExceeded     , _ParameterVersionNotFound@@ -97,6 +102,7 @@     , _SubTypeCountLimitExceededException     , _TooManyTagsError     , _DocumentPermissionLimit+    , _AutomationStepNotFoundException     , _DuplicateDocumentContent     , _DocumentAlreadyExists     , _DocumentLimitExceeded@@ -143,6 +149,9 @@     -- * DocumentFilterKey     , DocumentFilterKey (..) +    -- * DocumentFormat+    , DocumentFormat (..)+     -- * DocumentHashType     , DocumentHashType (..) @@ -158,6 +167,9 @@     -- * DocumentType     , DocumentType (..) +    -- * ExecutionMode+    , ExecutionMode (..)+     -- * Fault     , Fault (..) @@ -170,9 +182,15 @@     -- * InventoryAttributeDataType     , InventoryAttributeDataType (..) +    -- * InventoryDeletionStatus+    , InventoryDeletionStatus (..)+     -- * InventoryQueryOperatorType     , InventoryQueryOperatorType (..) +    -- * InventorySchemaDeleteOption+    , InventorySchemaDeleteOption (..)+     -- * LastResourceDataSyncStatus     , LastResourceDataSyncStatus (..) @@ -233,6 +251,12 @@     -- * SignalType     , SignalType (..) +    -- * StepExecutionFilterKey+    , StepExecutionFilterKey (..)++    -- * StopType+    , StopType (..)+     -- * Activation     , Activation     , activation@@ -318,16 +342,28 @@     -- * AutomationExecution     , AutomationExecution     , automationExecution+    , aeCurrentStepName+    , aeTargetParameterName+    , aeExecutedBy     , aeDocumentName     , aeExecutionEndTime     , aeFailureMessage+    , aeMode+    , aeStepExecutionsTruncated     , aeAutomationExecutionStatus+    , aeParentAutomationExecutionId     , aeOutputs+    , aeMaxErrors     , aeExecutionStartTime+    , aeCurrentAction+    , aeTargets+    , aeResolvedTargets     , aeParameters     , aeDocumentVersion     , aeAutomationExecutionId     , aeStepExecutions+    , aeMaxConcurrency+    , aeTarget      -- * AutomationExecutionFilter     , AutomationExecutionFilter@@ -338,15 +374,26 @@     -- * AutomationExecutionMetadata     , AutomationExecutionMetadata     , automationExecutionMetadata+    , aemCurrentStepName+    , aemTargetParameterName     , aemLogFile     , aemExecutedBy     , aemDocumentName     , aemExecutionEndTime+    , aemFailureMessage+    , aemMode     , aemAutomationExecutionStatus+    , aemParentAutomationExecutionId     , aemOutputs+    , aemMaxErrors     , aemExecutionStartTime+    , aemCurrentAction+    , aemTargets+    , aemResolvedTargets     , aemDocumentVersion     , aemAutomationExecutionId+    , aemMaxConcurrency+    , aemTarget      -- * Command     , Command@@ -365,6 +412,7 @@     , cTargets     , cCommandId     , cParameters+    , cDocumentVersion     , cComment     , cCompletedCount     , cOutputS3BucketName@@ -390,6 +438,7 @@     , comStatusDetails     , comStandardOutputURL     , comCommandId+    , comDocumentVersion     , comComment     , comTraceOutput     , comInstanceName@@ -494,9 +543,11 @@     , dSchemaVersion     , dSha1     , dDefaultVersion+    , dTargetType     , dOwner     , dPlatformTypes     , dCreatedDate+    , dDocumentFormat     , dName     , dHashType     , dParameters@@ -516,8 +567,10 @@     , documentIdentifier     , diDocumentType     , diSchemaVersion+    , diTargetType     , diOwner     , diPlatformTypes+    , diDocumentFormat     , diName     , diDocumentVersion     , diTags@@ -540,6 +593,7 @@     , DocumentVersionInfo     , documentVersionInfo     , dviCreatedDate+    , dviDocumentFormat     , dviName     , dviDocumentVersion     , dviIsDefaultVersion@@ -663,6 +717,37 @@     , ipsfValues     , ipsfType +    -- * InventoryAggregator+    , InventoryAggregator+    , inventoryAggregator+    , iaAggregators+    , iaExpression++    -- * InventoryDeletionStatusItem+    , InventoryDeletionStatusItem+    , inventoryDeletionStatusItem+    , idsiTypeName+    , idsiLastStatusUpdateTime+    , idsiLastStatusMessage+    , idsiDeletionSummary+    , idsiLastStatus+    , idsiDeletionStartTime+    , idsiDeletionId++    -- * InventoryDeletionSummary+    , InventoryDeletionSummary+    , inventoryDeletionSummary+    , idsRemainingCount+    , idsSummaryItems+    , idsTotalCount++    -- * InventoryDeletionSummaryItem+    , InventoryDeletionSummaryItem+    , inventoryDeletionSummaryItem+    , idsiRemainingCount+    , idsiCount+    , idsiVersion+     -- * InventoryFilter     , InventoryFilter     , inventoryFilter@@ -690,6 +775,7 @@     , InventoryItemSchema     , inventoryItemSchema     , iisVersion+    , iisDisplayName     , iisTypeName     , iisAttributes @@ -963,6 +1049,7 @@     -- * PatchRule     , PatchRule     , patchRule+    , prEnableNonSecurity     , prComplianceLevel     , prPatchFilterGroup     , prApproveAfterDays@@ -972,6 +1059,13 @@     , patchRuleGroup     , prgPatchRules +    -- * PatchSource+    , PatchSource+    , patchSource+    , psName+    , psProducts+    , psConfiguration+     -- * PatchStatus     , PatchStatus     , patchStatus@@ -979,6 +1073,12 @@     , psDeploymentStatus     , psComplianceLevel +    -- * ResolvedTargets+    , ResolvedTargets+    , resolvedTargets+    , rtTruncated+    , rtParameterValues+     -- * ResourceComplianceSummaryItem     , ResourceComplianceSummaryItem     , resourceComplianceSummaryItem@@ -994,6 +1094,7 @@     -- * ResourceDataSyncItem     , ResourceDataSyncItem     , resourceDataSyncItem+    , rdsiLastSyncStatusMessage     , rdsiSyncCreatedTime     , rdsiLastSyncTime     , rdsiSyncName@@ -1049,9 +1150,20 @@     , seAction     , seResponseCode     , seStepStatus+    , seOverriddenParameters     , seOutputs     , seExecutionStartTime+    , seMaxAttempts+    , seStepExecutionId+    , seTimeoutSeconds+    , seOnFailure +    -- * StepExecutionFilter+    , StepExecutionFilter+    , stepExecutionFilter+    , sefKey+    , sefValues+     -- * Tag     , Tag     , tag@@ -1075,24 +1187,24 @@ ssm :: Service ssm =   Service-  { _svcAbbrev = "SSM"-  , _svcSigner = v4-  , _svcPrefix = "ssm"-  , _svcVersion = "2014-11-06"-  , _svcEndpoint = defaultEndpoint ssm-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "SSM"-  , _svcRetry = retry-  }+    { _svcAbbrev = "SSM"+    , _svcSigner = v4+    , _svcPrefix = "ssm"+    , _svcVersion = "2014-11-06"+    , _svcEndpoint = defaultEndpoint ssm+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "SSM"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -1101,6 +1213,8 @@         Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"       | has (hasStatus 500) e = Just "general_server_error"@@ -1145,6 +1259,14 @@ _UnsupportedParameterType = _MatchServiceError ssm "UnsupportedParameterType"  +-- | The specified update status operation is not valid.+--+--+_InvalidAutomationStatusUpdateException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidAutomationStatusUpdateException =+  _MatchServiceError ssm "InvalidAutomationStatusUpdateException"++ -- | The plugin name is not valid. -- --@@ -1264,6 +1386,14 @@ _InvalidNextToken = _MatchServiceError ssm "InvalidNextToken"  +-- | The request is not valid.+--+--+_InvalidInventoryRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidInventoryRequestException =+  _MatchServiceError ssm "InvalidInventoryRequestException"++ -- | The S3 bucket does not exist. -- --@@ -1286,9 +1416,11 @@   _MatchServiceError ssm "InvalidResultAttributeException"  --- | Error returned when the caller has exceeded the default resource limits (e.g. too many Maintenance Windows have been created).+-- | 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 <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm AWS Systems Manager Limits> .+-- _ResourceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError _ResourceLimitExceededException =   _MatchServiceError ssm "ResourceLimitExceededException"@@ -1406,9 +1538,11 @@   _MatchServiceError ssm "ResourceDataSyncAlreadyExistsException"  --- | Error returned when the ID specified for a resource (e.g. a Maintenance Window) doesn't exist.+-- | 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 <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm AWS Systems Manager Limits> .+-- _DoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError _DoesNotExistException = _MatchServiceError ssm "DoesNotExistException" @@ -1467,6 +1601,22 @@   _MatchServiceError ssm "ComplianceTypeCountLimitExceededException"  +-- | 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+_InvalidDeleteInventoryParametersException =+  _MatchServiceError ssm "InvalidDeleteInventoryParametersException"+++-- | 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+_InvalidDeletionIdException =+  _MatchServiceError ssm "InvalidDeletionIdException"++ -- | The content for the document is not valid. -- --@@ -1539,7 +1689,7 @@   _MatchServiceError ssm "AssociationVersionLimitExceeded"  --- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html Configuring Amazon SNS Notifications for Run Command> in the /Amazon EC2 Systems Manager User Guide/ .+-- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html Configuring Amazon SNS Notifications for Run Command> in the /AWS Systems Manager User Guide/ . -- -- _InvalidRole :: AsError a => Getting (First ServiceError) a ServiceError@@ -1560,6 +1710,13 @@ _InvalidActivation = _MatchServiceError ssm "InvalidActivation"  +-- | The delete inventory option specified is not valid. Verify the option and try again.+--+--+_InvalidOptionException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidOptionException = _MatchServiceError ssm "InvalidOptionException"++ -- | The version of the document schema is not supported. -- --@@ -1604,13 +1761,9 @@ _InvalidTarget = _MatchServiceError ssm "InvalidTarget"  --- | A hierarchy can have a maximum of five levels. For example:+-- | A hierarchy can have a maximum of 15 levels. For more information, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html Working with Systems Manager Parameters> . -- ----- /Finance/Prod/IAD/OS/WinServ2016/license15------ For more information, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html Working with Systems Manager Parameters> .--- _HierarchyLevelLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError _HierarchyLevelLimitExceededException =   _MatchServiceError ssm "HierarchyLevelLimitExceededException"@@ -1717,6 +1870,14 @@ -- _DocumentPermissionLimit :: AsError a => Getting (First ServiceError) a ServiceError _DocumentPermissionLimit = _MatchServiceError ssm "DocumentPermissionLimit"+++-- | The specified step name and execution ID don't exist. Verify the information and try again.+--+--+_AutomationStepNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_AutomationStepNotFoundException =+  _MatchServiceError ssm "AutomationStepNotFoundException"   -- | The content of the association document matches another document. Change the content of the document and try again.
gen/Network/AWS/SSM/Types/Product.hs view
@@ -9,6985 +9,8095 @@  -- | -- Module      : Network.AWS.SSM.Types.Product--- Copyright   : (c) 2013-2017 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.SSM.Types.Product where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.SSM.Types.Sum---- | 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.------------ /See:/ 'activation' smart constructor.-data Activation = Activation'-  { _aExpired             :: !(Maybe Bool)-  , _aDefaultInstanceName :: !(Maybe Text)-  , _aActivationId        :: !(Maybe Text)-  , _aCreatedDate         :: !(Maybe POSIX)-  , _aRegistrationLimit   :: !(Maybe Nat)-  , _aExpirationDate      :: !(Maybe POSIX)-  , _aDescription         :: !(Maybe Text)-  , _aRegistrationsCount  :: !(Maybe Nat)-  , _aIAMRole             :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Activation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aExpired' - Whether or not the activation is expired.------ * 'aDefaultInstanceName' - A name for the managed instance when it is created.------ * 'aActivationId' - The ID created by Systems Manager when you submitted the activation.------ * 'aCreatedDate' - The date the activation was created.------ * 'aRegistrationLimit' - The maximum number of managed instances that can be registered using this activation.------ * 'aExpirationDate' - The date when this activation can no longer be used to register managed instances.------ * 'aDescription' - A user defined description of the activation.------ * 'aRegistrationsCount' - The number of managed instances already registered with this activation.------ * 'aIAMRole' - The Amazon Identity and Access Management (IAM) role to assign to the managed instance.-activation-    :: Activation-activation =-  Activation'-  { _aExpired = Nothing-  , _aDefaultInstanceName = Nothing-  , _aActivationId = Nothing-  , _aCreatedDate = Nothing-  , _aRegistrationLimit = Nothing-  , _aExpirationDate = Nothing-  , _aDescription = Nothing-  , _aRegistrationsCount = Nothing-  , _aIAMRole = Nothing-  }----- | Whether or not the activation is expired.-aExpired :: Lens' Activation (Maybe Bool)-aExpired = lens _aExpired (\ s a -> s{_aExpired = a});---- | A name for the managed instance when it is created.-aDefaultInstanceName :: Lens' Activation (Maybe Text)-aDefaultInstanceName = lens _aDefaultInstanceName (\ s a -> s{_aDefaultInstanceName = a});---- | The ID created by Systems Manager when you submitted the activation.-aActivationId :: Lens' Activation (Maybe Text)-aActivationId = lens _aActivationId (\ s a -> s{_aActivationId = a});---- | The date the activation was created.-aCreatedDate :: Lens' Activation (Maybe UTCTime)-aCreatedDate = lens _aCreatedDate (\ s a -> s{_aCreatedDate = a}) . mapping _Time;---- | The maximum number of managed instances that can be registered using this activation.-aRegistrationLimit :: Lens' Activation (Maybe Natural)-aRegistrationLimit = lens _aRegistrationLimit (\ s a -> s{_aRegistrationLimit = a}) . mapping _Nat;---- | The date when this activation can no longer be used to register managed instances.-aExpirationDate :: Lens' Activation (Maybe UTCTime)-aExpirationDate = lens _aExpirationDate (\ s a -> s{_aExpirationDate = a}) . mapping _Time;---- | A user defined description of the activation.-aDescription :: Lens' Activation (Maybe Text)-aDescription = lens _aDescription (\ s a -> s{_aDescription = a});---- | The number of managed instances already registered with this activation.-aRegistrationsCount :: Lens' Activation (Maybe Natural)-aRegistrationsCount = lens _aRegistrationsCount (\ s a -> s{_aRegistrationsCount = a}) . mapping _Nat;---- | The Amazon Identity and Access Management (IAM) role to assign to the managed instance.-aIAMRole :: Lens' Activation (Maybe Text)-aIAMRole = lens _aIAMRole (\ s a -> s{_aIAMRole = a});--instance FromJSON Activation where-        parseJSON-          = withObject "Activation"-              (\ x ->-                 Activation' <$>-                   (x .:? "Expired") <*> (x .:? "DefaultInstanceName")-                     <*> (x .:? "ActivationId")-                     <*> (x .:? "CreatedDate")-                     <*> (x .:? "RegistrationLimit")-                     <*> (x .:? "ExpirationDate")-                     <*> (x .:? "Description")-                     <*> (x .:? "RegistrationsCount")-                     <*> (x .:? "IamRole"))--instance Hashable Activation where--instance NFData Activation where---- | Describes an association of a Systems Manager document and an instance.------------ /See:/ 'association' smart constructor.-data Association = Association'-  { _aAssociationId      :: !(Maybe Text)-  , _aInstanceId         :: !(Maybe Text)-  , _aOverview           :: !(Maybe AssociationOverview)-  , _aLastExecutionDate  :: !(Maybe POSIX)-  , _aScheduleExpression :: !(Maybe Text)-  , _aName               :: !(Maybe Text)-  , _aTargets            :: !(Maybe [Target])-  , _aDocumentVersion    :: !(Maybe Text)-  , _aAssociationVersion :: !(Maybe Text)-  , _aAssociationName    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Association' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aAssociationId' - 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.------ * 'aInstanceId' - The ID of the instance.------ * 'aOverview' - Information about the association.------ * 'aLastExecutionDate' - The date on which the association was last run.------ * 'aScheduleExpression' - A cron expression that specifies a schedule when the association runs.------ * 'aName' - The name of the Systems Manager document.------ * 'aTargets' - The instances targeted by the request to create an association.------ * 'aDocumentVersion' - The version of the document used in the association.------ * 'aAssociationVersion' - The association version.------ * 'aAssociationName' - The association name.-association-    :: Association-association =-  Association'-  { _aAssociationId = Nothing-  , _aInstanceId = Nothing-  , _aOverview = Nothing-  , _aLastExecutionDate = Nothing-  , _aScheduleExpression = Nothing-  , _aName = Nothing-  , _aTargets = Nothing-  , _aDocumentVersion = Nothing-  , _aAssociationVersion = Nothing-  , _aAssociationName = Nothing-  }----- | 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)-aAssociationId = lens _aAssociationId (\ s a -> s{_aAssociationId = a});---- | The ID of the instance.-aInstanceId :: Lens' Association (Maybe Text)-aInstanceId = lens _aInstanceId (\ s a -> s{_aInstanceId = a});---- | Information about the association.-aOverview :: Lens' Association (Maybe AssociationOverview)-aOverview = lens _aOverview (\ s a -> s{_aOverview = a});---- | The date on which the association was last run.-aLastExecutionDate :: Lens' Association (Maybe UTCTime)-aLastExecutionDate = lens _aLastExecutionDate (\ s a -> s{_aLastExecutionDate = a}) . mapping _Time;---- | A cron expression that specifies a schedule when the association runs.-aScheduleExpression :: Lens' Association (Maybe Text)-aScheduleExpression = lens _aScheduleExpression (\ s a -> s{_aScheduleExpression = a});---- | The name of the Systems Manager document.-aName :: Lens' Association (Maybe Text)-aName = lens _aName (\ s a -> s{_aName = a});---- | The instances targeted by the request to create an association.-aTargets :: Lens' Association [Target]-aTargets = lens _aTargets (\ s a -> s{_aTargets = a}) . _Default . _Coerce;---- | The version of the document used in the association.-aDocumentVersion :: Lens' Association (Maybe Text)-aDocumentVersion = lens _aDocumentVersion (\ s a -> s{_aDocumentVersion = a});---- | The association version.-aAssociationVersion :: Lens' Association (Maybe Text)-aAssociationVersion = lens _aAssociationVersion (\ s a -> s{_aAssociationVersion = a});---- | The association name.-aAssociationName :: Lens' Association (Maybe Text)-aAssociationName = lens _aAssociationName (\ s a -> s{_aAssociationName = a});--instance FromJSON Association where-        parseJSON-          = withObject "Association"-              (\ x ->-                 Association' <$>-                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>-                     (x .:? "Overview")-                     <*> (x .:? "LastExecutionDate")-                     <*> (x .:? "ScheduleExpression")-                     <*> (x .:? "Name")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AssociationVersion")-                     <*> (x .:? "AssociationName"))--instance Hashable Association where--instance NFData Association where---- | Describes the parameters for a document.------------ /See:/ 'associationDescription' smart constructor.-data AssociationDescription = AssociationDescription'-  { _adAssociationId               :: !(Maybe Text)-  , _adInstanceId                  :: !(Maybe Text)-  , _adStatus                      :: !(Maybe AssociationStatus)-  , _adLastSuccessfulExecutionDate :: !(Maybe POSIX)-  , _adOverview                    :: !(Maybe AssociationOverview)-  , _adLastUpdateAssociationDate   :: !(Maybe POSIX)-  , _adDate                        :: !(Maybe POSIX)-  , _adLastExecutionDate           :: !(Maybe POSIX)-  , _adScheduleExpression          :: !(Maybe Text)-  , _adName                        :: !(Maybe Text)-  , _adOutputLocation              :: !(Maybe InstanceAssociationOutputLocation)-  , _adTargets                     :: !(Maybe [Target])-  , _adParameters                  :: !(Maybe (Map Text [Text]))-  , _adDocumentVersion             :: !(Maybe Text)-  , _adAssociationVersion          :: !(Maybe Text)-  , _adAssociationName             :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociationDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adAssociationId' - The association ID.------ * 'adInstanceId' - The ID of the instance.------ * 'adStatus' - The association status.------ * 'adLastSuccessfulExecutionDate' - The last date on which the association was successfully run.------ * 'adOverview' - Information about the association.------ * 'adLastUpdateAssociationDate' - The date when the association was last updated.------ * 'adDate' - The date when the association was made.------ * 'adLastExecutionDate' - The date on which the association was last run.------ * 'adScheduleExpression' - A cron expression that specifies a schedule when the association runs.------ * 'adName' - The name of the Systems Manager document.------ * 'adOutputLocation' - An Amazon S3 bucket where you want to store the output details of the request.------ * 'adTargets' - The instances targeted by the request.------ * 'adParameters' - A description of the parameters for a document.------ * 'adDocumentVersion' - The document version.------ * 'adAssociationVersion' - The association version.------ * 'adAssociationName' - The association name.-associationDescription-    :: AssociationDescription-associationDescription =-  AssociationDescription'-  { _adAssociationId = Nothing-  , _adInstanceId = Nothing-  , _adStatus = Nothing-  , _adLastSuccessfulExecutionDate = Nothing-  , _adOverview = Nothing-  , _adLastUpdateAssociationDate = Nothing-  , _adDate = Nothing-  , _adLastExecutionDate = Nothing-  , _adScheduleExpression = Nothing-  , _adName = Nothing-  , _adOutputLocation = Nothing-  , _adTargets = Nothing-  , _adParameters = Nothing-  , _adDocumentVersion = Nothing-  , _adAssociationVersion = Nothing-  , _adAssociationName = Nothing-  }----- | The association ID.-adAssociationId :: Lens' AssociationDescription (Maybe Text)-adAssociationId = lens _adAssociationId (\ s a -> s{_adAssociationId = a});---- | The ID of the instance.-adInstanceId :: Lens' AssociationDescription (Maybe Text)-adInstanceId = lens _adInstanceId (\ s a -> s{_adInstanceId = a});---- | The association status.-adStatus :: Lens' AssociationDescription (Maybe AssociationStatus)-adStatus = lens _adStatus (\ s a -> s{_adStatus = a});---- | The last date on which the association was successfully run.-adLastSuccessfulExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)-adLastSuccessfulExecutionDate = lens _adLastSuccessfulExecutionDate (\ s a -> s{_adLastSuccessfulExecutionDate = a}) . mapping _Time;---- | Information about the association.-adOverview :: Lens' AssociationDescription (Maybe AssociationOverview)-adOverview = lens _adOverview (\ s a -> s{_adOverview = a});---- | The date when the association was last updated.-adLastUpdateAssociationDate :: Lens' AssociationDescription (Maybe UTCTime)-adLastUpdateAssociationDate = lens _adLastUpdateAssociationDate (\ s a -> s{_adLastUpdateAssociationDate = a}) . mapping _Time;---- | The date when the association was made.-adDate :: Lens' AssociationDescription (Maybe UTCTime)-adDate = lens _adDate (\ s a -> s{_adDate = a}) . mapping _Time;---- | The date on which the association was last run.-adLastExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)-adLastExecutionDate = lens _adLastExecutionDate (\ s a -> s{_adLastExecutionDate = a}) . mapping _Time;---- | A cron expression that specifies a schedule when the association runs.-adScheduleExpression :: Lens' AssociationDescription (Maybe Text)-adScheduleExpression = lens _adScheduleExpression (\ s a -> s{_adScheduleExpression = a});---- | The name of the Systems Manager document.-adName :: Lens' AssociationDescription (Maybe Text)-adName = lens _adName (\ s a -> s{_adName = a});---- | An Amazon S3 bucket where you want to store the output details of the request.-adOutputLocation :: Lens' AssociationDescription (Maybe InstanceAssociationOutputLocation)-adOutputLocation = lens _adOutputLocation (\ s a -> s{_adOutputLocation = a});---- | The instances targeted by the request.-adTargets :: Lens' AssociationDescription [Target]-adTargets = lens _adTargets (\ s a -> s{_adTargets = a}) . _Default . _Coerce;---- | A description of the parameters for a document.-adParameters :: Lens' AssociationDescription (HashMap Text [Text])-adParameters = lens _adParameters (\ s a -> s{_adParameters = a}) . _Default . _Map;---- | The document version.-adDocumentVersion :: Lens' AssociationDescription (Maybe Text)-adDocumentVersion = lens _adDocumentVersion (\ s a -> s{_adDocumentVersion = a});---- | The association version.-adAssociationVersion :: Lens' AssociationDescription (Maybe Text)-adAssociationVersion = lens _adAssociationVersion (\ s a -> s{_adAssociationVersion = a});---- | The association name.-adAssociationName :: Lens' AssociationDescription (Maybe Text)-adAssociationName = lens _adAssociationName (\ s a -> s{_adAssociationName = a});--instance FromJSON AssociationDescription where-        parseJSON-          = withObject "AssociationDescription"-              (\ x ->-                 AssociationDescription' <$>-                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>-                     (x .:? "Status")-                     <*> (x .:? "LastSuccessfulExecutionDate")-                     <*> (x .:? "Overview")-                     <*> (x .:? "LastUpdateAssociationDate")-                     <*> (x .:? "Date")-                     <*> (x .:? "LastExecutionDate")-                     <*> (x .:? "ScheduleExpression")-                     <*> (x .:? "Name")-                     <*> (x .:? "OutputLocation")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AssociationVersion")-                     <*> (x .:? "AssociationName"))--instance Hashable AssociationDescription where--instance NFData AssociationDescription where---- | Describes a filter.------------ /See:/ 'associationFilter' smart constructor.-data AssociationFilter = AssociationFilter'-  { _afKey   :: !AssociationFilterKey-  , _afValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociationFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afKey' - The name of the filter.------ * 'afValue' - The filter value.-associationFilter-    :: AssociationFilterKey -- ^ 'afKey'-    -> Text -- ^ 'afValue'-    -> AssociationFilter-associationFilter pKey_ pValue_ =-  AssociationFilter' {_afKey = pKey_, _afValue = pValue_}----- | The name of the filter.-afKey :: Lens' AssociationFilter AssociationFilterKey-afKey = lens _afKey (\ s a -> s{_afKey = a});---- | The filter value.-afValue :: Lens' AssociationFilter Text-afValue = lens _afValue (\ s a -> s{_afValue = a});--instance Hashable AssociationFilter where--instance NFData AssociationFilter where--instance ToJSON AssociationFilter where-        toJSON AssociationFilter'{..}-          = object-              (catMaybes-                 [Just ("key" .= _afKey), Just ("value" .= _afValue)])---- | Information about the association.------------ /See:/ 'associationOverview' smart constructor.-data AssociationOverview = AssociationOverview'-  { _aoDetailedStatus                   :: !(Maybe Text)-  , _aoStatus                           :: !(Maybe Text)-  , _aoAssociationStatusAggregatedCount :: !(Maybe (Map Text Int))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociationOverview' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aoDetailedStatus' - A detailed status of the association.------ * 'aoStatus' - The status of the association. Status can be: Pending, Success, or Failed.------ * 'aoAssociationStatusAggregatedCount' - 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.-associationOverview-    :: AssociationOverview-associationOverview =-  AssociationOverview'-  { _aoDetailedStatus = Nothing-  , _aoStatus = Nothing-  , _aoAssociationStatusAggregatedCount = Nothing-  }----- | A detailed status of the association.-aoDetailedStatus :: Lens' AssociationOverview (Maybe Text)-aoDetailedStatus = lens _aoDetailedStatus (\ s a -> s{_aoDetailedStatus = a});---- | The status of the association. Status can be: Pending, Success, or Failed.-aoStatus :: Lens' AssociationOverview (Maybe Text)-aoStatus = lens _aoStatus (\ s a -> s{_aoStatus = 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.-aoAssociationStatusAggregatedCount :: Lens' AssociationOverview (HashMap Text Int)-aoAssociationStatusAggregatedCount = lens _aoAssociationStatusAggregatedCount (\ s a -> s{_aoAssociationStatusAggregatedCount = a}) . _Default . _Map;--instance FromJSON AssociationOverview where-        parseJSON-          = withObject "AssociationOverview"-              (\ x ->-                 AssociationOverview' <$>-                   (x .:? "DetailedStatus") <*> (x .:? "Status") <*>-                     (x .:? "AssociationStatusAggregatedCount" .!=-                        mempty))--instance Hashable AssociationOverview where--instance NFData AssociationOverview where---- | Describes an association status.------------ /See:/ 'associationStatus' smart constructor.-data AssociationStatus = AssociationStatus'-  { _asAdditionalInfo :: !(Maybe Text)-  , _asDate           :: !POSIX-  , _asName           :: !AssociationStatusName-  , _asMessage        :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociationStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asAdditionalInfo' - A user-defined string.------ * 'asDate' - The date when the status changed.------ * 'asName' - The status.------ * 'asMessage' - The reason for the status.-associationStatus-    :: UTCTime -- ^ 'asDate'-    -> AssociationStatusName -- ^ 'asName'-    -> Text -- ^ 'asMessage'-    -> AssociationStatus-associationStatus pDate_ pName_ pMessage_ =-  AssociationStatus'-  { _asAdditionalInfo = Nothing-  , _asDate = _Time # pDate_-  , _asName = pName_-  , _asMessage = pMessage_-  }----- | A user-defined string.-asAdditionalInfo :: Lens' AssociationStatus (Maybe Text)-asAdditionalInfo = lens _asAdditionalInfo (\ s a -> s{_asAdditionalInfo = a});---- | The date when the status changed.-asDate :: Lens' AssociationStatus UTCTime-asDate = lens _asDate (\ s a -> s{_asDate = a}) . _Time;---- | The status.-asName :: Lens' AssociationStatus AssociationStatusName-asName = lens _asName (\ s a -> s{_asName = a});---- | The reason for the status.-asMessage :: Lens' AssociationStatus Text-asMessage = lens _asMessage (\ s a -> s{_asMessage = a});--instance FromJSON AssociationStatus where-        parseJSON-          = withObject "AssociationStatus"-              (\ x ->-                 AssociationStatus' <$>-                   (x .:? "AdditionalInfo") <*> (x .: "Date") <*>-                     (x .: "Name")-                     <*> (x .: "Message"))--instance Hashable AssociationStatus where--instance NFData AssociationStatus where--instance ToJSON AssociationStatus where-        toJSON AssociationStatus'{..}-          = object-              (catMaybes-                 [("AdditionalInfo" .=) <$> _asAdditionalInfo,-                  Just ("Date" .= _asDate), Just ("Name" .= _asName),-                  Just ("Message" .= _asMessage)])---- | Information about the association version.------------ /See:/ 'associationVersionInfo' smart constructor.-data AssociationVersionInfo = AssociationVersionInfo'-  { _aviAssociationId      :: !(Maybe Text)-  , _aviCreatedDate        :: !(Maybe POSIX)-  , _aviScheduleExpression :: !(Maybe Text)-  , _aviName               :: !(Maybe Text)-  , _aviOutputLocation     :: !(Maybe InstanceAssociationOutputLocation)-  , _aviTargets            :: !(Maybe [Target])-  , _aviParameters         :: !(Maybe (Map Text [Text]))-  , _aviDocumentVersion    :: !(Maybe Text)-  , _aviAssociationVersion :: !(Maybe Text)-  , _aviAssociationName    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociationVersionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aviAssociationId' - The ID created by the system when the association was created.------ * 'aviCreatedDate' - The date the association version was created.------ * 'aviScheduleExpression' - The cron or rate schedule specified for the association when the association version was created.------ * 'aviName' - The name specified when the association was created.------ * 'aviOutputLocation' - The location in Amazon S3 specified for the association when the association version was created.------ * 'aviTargets' - The targets specified for the association when the association version was created.------ * 'aviParameters' - Parameters specified when the association version was created.------ * 'aviDocumentVersion' - The version of a Systems Manager document used when the association version was created.------ * 'aviAssociationVersion' - The association version.------ * 'aviAssociationName' - The name specified for the association version when the association version was created.-associationVersionInfo-    :: AssociationVersionInfo-associationVersionInfo =-  AssociationVersionInfo'-  { _aviAssociationId = Nothing-  , _aviCreatedDate = Nothing-  , _aviScheduleExpression = Nothing-  , _aviName = Nothing-  , _aviOutputLocation = Nothing-  , _aviTargets = Nothing-  , _aviParameters = Nothing-  , _aviDocumentVersion = Nothing-  , _aviAssociationVersion = Nothing-  , _aviAssociationName = Nothing-  }----- | The ID created by the system when the association was created.-aviAssociationId :: Lens' AssociationVersionInfo (Maybe Text)-aviAssociationId = lens _aviAssociationId (\ s a -> s{_aviAssociationId = a});---- | The date the association version was created.-aviCreatedDate :: Lens' AssociationVersionInfo (Maybe UTCTime)-aviCreatedDate = lens _aviCreatedDate (\ s a -> s{_aviCreatedDate = a}) . mapping _Time;---- | The cron or rate schedule specified for the association when the association version was created.-aviScheduleExpression :: Lens' AssociationVersionInfo (Maybe Text)-aviScheduleExpression = lens _aviScheduleExpression (\ s a -> s{_aviScheduleExpression = a});---- | The name specified when the association was created.-aviName :: Lens' AssociationVersionInfo (Maybe Text)-aviName = lens _aviName (\ s a -> s{_aviName = a});---- | The location in Amazon S3 specified for the association when the association version was created.-aviOutputLocation :: Lens' AssociationVersionInfo (Maybe InstanceAssociationOutputLocation)-aviOutputLocation = lens _aviOutputLocation (\ s a -> s{_aviOutputLocation = a});---- | The targets specified for the association when the association version was created.-aviTargets :: Lens' AssociationVersionInfo [Target]-aviTargets = lens _aviTargets (\ s a -> s{_aviTargets = a}) . _Default . _Coerce;---- | Parameters specified when the association version was created.-aviParameters :: Lens' AssociationVersionInfo (HashMap Text [Text])-aviParameters = lens _aviParameters (\ s a -> s{_aviParameters = a}) . _Default . _Map;---- | The version of a Systems Manager document used when the association version was created.-aviDocumentVersion :: Lens' AssociationVersionInfo (Maybe Text)-aviDocumentVersion = lens _aviDocumentVersion (\ s a -> s{_aviDocumentVersion = a});---- | The association version.-aviAssociationVersion :: Lens' AssociationVersionInfo (Maybe Text)-aviAssociationVersion = lens _aviAssociationVersion (\ s a -> s{_aviAssociationVersion = a});---- | The name specified for the association version when the association version was created.-aviAssociationName :: Lens' AssociationVersionInfo (Maybe Text)-aviAssociationName = lens _aviAssociationName (\ s a -> s{_aviAssociationName = a});--instance FromJSON AssociationVersionInfo where-        parseJSON-          = withObject "AssociationVersionInfo"-              (\ x ->-                 AssociationVersionInfo' <$>-                   (x .:? "AssociationId") <*> (x .:? "CreatedDate") <*>-                     (x .:? "ScheduleExpression")-                     <*> (x .:? "Name")-                     <*> (x .:? "OutputLocation")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AssociationVersion")-                     <*> (x .:? "AssociationName"))--instance Hashable AssociationVersionInfo where--instance NFData AssociationVersionInfo where---- | Detailed information about the current state of an individual Automation execution.------------ /See:/ 'automationExecution' smart constructor.-data AutomationExecution = AutomationExecution'-  { _aeDocumentName              :: !(Maybe Text)-  , _aeExecutionEndTime          :: !(Maybe POSIX)-  , _aeFailureMessage            :: !(Maybe Text)-  , _aeAutomationExecutionStatus :: !(Maybe AutomationExecutionStatus)-  , _aeOutputs                   :: !(Maybe (Map Text [Text]))-  , _aeExecutionStartTime        :: !(Maybe POSIX)-  , _aeParameters                :: !(Maybe (Map Text [Text]))-  , _aeDocumentVersion           :: !(Maybe Text)-  , _aeAutomationExecutionId     :: !(Maybe Text)-  , _aeStepExecutions            :: !(Maybe [StepExecution])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AutomationExecution' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aeDocumentName' - The name of the Automation document used during the execution.------ * 'aeExecutionEndTime' - The time the execution finished.------ * 'aeFailureMessage' - A message describing why an execution has failed, if the status is set to Failed.------ * 'aeAutomationExecutionStatus' - The execution status of the Automation.------ * 'aeOutputs' - The list of execution outputs as defined in the automation document.------ * 'aeExecutionStartTime' - The time the execution started.------ * 'aeParameters' - The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.------ * 'aeDocumentVersion' - The version of the document to use during execution.------ * 'aeAutomationExecutionId' - The execution ID.------ * 'aeStepExecutions' - 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.-automationExecution-    :: AutomationExecution-automationExecution =-  AutomationExecution'-  { _aeDocumentName = Nothing-  , _aeExecutionEndTime = Nothing-  , _aeFailureMessage = Nothing-  , _aeAutomationExecutionStatus = Nothing-  , _aeOutputs = Nothing-  , _aeExecutionStartTime = Nothing-  , _aeParameters = Nothing-  , _aeDocumentVersion = Nothing-  , _aeAutomationExecutionId = Nothing-  , _aeStepExecutions = Nothing-  }----- | The name of the Automation document used during the execution.-aeDocumentName :: Lens' AutomationExecution (Maybe Text)-aeDocumentName = lens _aeDocumentName (\ s a -> s{_aeDocumentName = a});---- | The time the execution finished.-aeExecutionEndTime :: Lens' AutomationExecution (Maybe UTCTime)-aeExecutionEndTime = lens _aeExecutionEndTime (\ s a -> s{_aeExecutionEndTime = a}) . mapping _Time;---- | A message describing why an execution has failed, if the status is set to Failed.-aeFailureMessage :: Lens' AutomationExecution (Maybe Text)-aeFailureMessage = lens _aeFailureMessage (\ s a -> s{_aeFailureMessage = a});---- | The execution status of the Automation.-aeAutomationExecutionStatus :: Lens' AutomationExecution (Maybe AutomationExecutionStatus)-aeAutomationExecutionStatus = lens _aeAutomationExecutionStatus (\ s a -> s{_aeAutomationExecutionStatus = a});---- | The list of execution outputs as defined in the automation document.-aeOutputs :: Lens' AutomationExecution (HashMap Text [Text])-aeOutputs = lens _aeOutputs (\ s a -> s{_aeOutputs = a}) . _Default . _Map;---- | The time the execution started.-aeExecutionStartTime :: Lens' AutomationExecution (Maybe UTCTime)-aeExecutionStartTime = lens _aeExecutionStartTime (\ s a -> s{_aeExecutionStartTime = a}) . mapping _Time;---- | The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.-aeParameters :: Lens' AutomationExecution (HashMap Text [Text])-aeParameters = lens _aeParameters (\ s a -> s{_aeParameters = a}) . _Default . _Map;---- | The version of the document to use during execution.-aeDocumentVersion :: Lens' AutomationExecution (Maybe Text)-aeDocumentVersion = lens _aeDocumentVersion (\ s a -> s{_aeDocumentVersion = a});---- | The execution ID.-aeAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)-aeAutomationExecutionId = lens _aeAutomationExecutionId (\ s a -> s{_aeAutomationExecutionId = 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.-aeStepExecutions :: Lens' AutomationExecution [StepExecution]-aeStepExecutions = lens _aeStepExecutions (\ s a -> s{_aeStepExecutions = a}) . _Default . _Coerce;--instance FromJSON AutomationExecution where-        parseJSON-          = withObject "AutomationExecution"-              (\ x ->-                 AutomationExecution' <$>-                   (x .:? "DocumentName") <*> (x .:? "ExecutionEndTime")-                     <*> (x .:? "FailureMessage")-                     <*> (x .:? "AutomationExecutionStatus")-                     <*> (x .:? "Outputs" .!= mempty)-                     <*> (x .:? "ExecutionStartTime")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AutomationExecutionId")-                     <*> (x .:? "StepExecutions" .!= mempty))--instance Hashable AutomationExecution where--instance NFData AutomationExecution where---- | A filter used to match specific automation executions. This is used to limit the scope of Automation execution information returned.------------ /See:/ 'automationExecutionFilter' smart constructor.-data AutomationExecutionFilter = AutomationExecutionFilter'-  { _aefKey    :: !AutomationExecutionFilterKey-  , _aefValues :: !(List1 Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AutomationExecutionFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aefKey' - The aspect of the Automation execution information that should be limited.------ * 'aefValues' - The values used to limit the execution information associated with the filter's key.-automationExecutionFilter-    :: AutomationExecutionFilterKey -- ^ 'aefKey'-    -> NonEmpty Text -- ^ 'aefValues'-    -> AutomationExecutionFilter-automationExecutionFilter pKey_ pValues_ =-  AutomationExecutionFilter' {_aefKey = pKey_, _aefValues = _List1 # pValues_}----- | The aspect of the Automation execution information that should be limited.-aefKey :: Lens' AutomationExecutionFilter AutomationExecutionFilterKey-aefKey = lens _aefKey (\ s a -> s{_aefKey = a});---- | The values used to limit the execution information associated with the filter's key.-aefValues :: Lens' AutomationExecutionFilter (NonEmpty Text)-aefValues = lens _aefValues (\ s a -> s{_aefValues = a}) . _List1;--instance Hashable AutomationExecutionFilter where--instance NFData AutomationExecutionFilter where--instance ToJSON AutomationExecutionFilter where-        toJSON AutomationExecutionFilter'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _aefKey),-                  Just ("Values" .= _aefValues)])---- | Details about a specific Automation execution.------------ /See:/ 'automationExecutionMetadata' smart constructor.-data AutomationExecutionMetadata = AutomationExecutionMetadata'-  { _aemLogFile                   :: !(Maybe Text)-  , _aemExecutedBy                :: !(Maybe Text)-  , _aemDocumentName              :: !(Maybe Text)-  , _aemExecutionEndTime          :: !(Maybe POSIX)-  , _aemAutomationExecutionStatus :: !(Maybe AutomationExecutionStatus)-  , _aemOutputs                   :: !(Maybe (Map Text [Text]))-  , _aemExecutionStartTime        :: !(Maybe POSIX)-  , _aemDocumentVersion           :: !(Maybe Text)-  , _aemAutomationExecutionId     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AutomationExecutionMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aemLogFile' - An Amazon S3 bucket where execution information is stored.------ * 'aemExecutedBy' - The IAM role ARN of the user who executed the Automation.------ * 'aemDocumentName' - The name of the Automation document used during execution.------ * 'aemExecutionEndTime' - The time the execution finished. This is not populated if the execution is still in progress.------ * 'aemAutomationExecutionStatus' - The status of the execution. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.------ * 'aemOutputs' - The list of execution outputs as defined in the Automation document.------ * 'aemExecutionStartTime' - The time the execution started.>------ * 'aemDocumentVersion' - The document version used during the execution.------ * 'aemAutomationExecutionId' - The execution ID.-automationExecutionMetadata-    :: AutomationExecutionMetadata-automationExecutionMetadata =-  AutomationExecutionMetadata'-  { _aemLogFile = Nothing-  , _aemExecutedBy = Nothing-  , _aemDocumentName = Nothing-  , _aemExecutionEndTime = Nothing-  , _aemAutomationExecutionStatus = Nothing-  , _aemOutputs = Nothing-  , _aemExecutionStartTime = Nothing-  , _aemDocumentVersion = Nothing-  , _aemAutomationExecutionId = Nothing-  }----- | An Amazon S3 bucket where execution information is stored.-aemLogFile :: Lens' AutomationExecutionMetadata (Maybe Text)-aemLogFile = lens _aemLogFile (\ s a -> s{_aemLogFile = a});---- | The IAM role ARN of the user who executed the Automation.-aemExecutedBy :: Lens' AutomationExecutionMetadata (Maybe Text)-aemExecutedBy = lens _aemExecutedBy (\ s a -> s{_aemExecutedBy = a});---- | The name of the Automation document used during execution.-aemDocumentName :: Lens' AutomationExecutionMetadata (Maybe Text)-aemDocumentName = lens _aemDocumentName (\ s a -> s{_aemDocumentName = a});---- | The time the execution finished. This is not populated if the execution is still in progress.-aemExecutionEndTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)-aemExecutionEndTime = lens _aemExecutionEndTime (\ s a -> s{_aemExecutionEndTime = a}) . mapping _Time;---- | The status of the execution. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.-aemAutomationExecutionStatus :: Lens' AutomationExecutionMetadata (Maybe AutomationExecutionStatus)-aemAutomationExecutionStatus = lens _aemAutomationExecutionStatus (\ s a -> s{_aemAutomationExecutionStatus = a});---- | The list of execution outputs as defined in the Automation document.-aemOutputs :: Lens' AutomationExecutionMetadata (HashMap Text [Text])-aemOutputs = lens _aemOutputs (\ s a -> s{_aemOutputs = a}) . _Default . _Map;---- | The time the execution started.>-aemExecutionStartTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)-aemExecutionStartTime = lens _aemExecutionStartTime (\ s a -> s{_aemExecutionStartTime = a}) . mapping _Time;---- | The document version used during the execution.-aemDocumentVersion :: Lens' AutomationExecutionMetadata (Maybe Text)-aemDocumentVersion = lens _aemDocumentVersion (\ s a -> s{_aemDocumentVersion = a});---- | The execution ID.-aemAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)-aemAutomationExecutionId = lens _aemAutomationExecutionId (\ s a -> s{_aemAutomationExecutionId = a});--instance FromJSON AutomationExecutionMetadata where-        parseJSON-          = withObject "AutomationExecutionMetadata"-              (\ x ->-                 AutomationExecutionMetadata' <$>-                   (x .:? "LogFile") <*> (x .:? "ExecutedBy") <*>-                     (x .:? "DocumentName")-                     <*> (x .:? "ExecutionEndTime")-                     <*> (x .:? "AutomationExecutionStatus")-                     <*> (x .:? "Outputs" .!= mempty)-                     <*> (x .:? "ExecutionStartTime")-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AutomationExecutionId"))--instance Hashable AutomationExecutionMetadata where--instance NFData AutomationExecutionMetadata where---- | Describes a command request.------------ /See:/ 'command' smart constructor.-data Command = Command'-  { _cStatus             :: !(Maybe CommandStatus)-  , _cExpiresAfter       :: !(Maybe POSIX)-  , _cNotificationConfig :: !(Maybe NotificationConfig)-  , _cTargetCount        :: !(Maybe Int)-  , _cOutputS3KeyPrefix  :: !(Maybe Text)-  , _cDocumentName       :: !(Maybe Text)-  , _cErrorCount         :: !(Maybe Int)-  , _cStatusDetails      :: !(Maybe Text)-  , _cMaxErrors          :: !(Maybe Text)-  , _cInstanceIds        :: !(Maybe [Text])-  , _cOutputS3Region     :: !(Maybe Text)-  , _cTargets            :: !(Maybe [Target])-  , _cCommandId          :: !(Maybe Text)-  , _cParameters         :: !(Maybe (Map Text [Text]))-  , _cComment            :: !(Maybe Text)-  , _cCompletedCount     :: !(Maybe Int)-  , _cOutputS3BucketName :: !(Maybe Text)-  , _cMaxConcurrency     :: !(Maybe Text)-  , _cRequestedDateTime  :: !(Maybe POSIX)-  , _cServiceRole        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Command' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cStatus' - The status of the command.------ * 'cExpiresAfter' - If this time is reached and the command has not already started executing, it will not execute. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.------ * 'cNotificationConfig' - Configurations for sending notifications about command status changes.------ * 'cTargetCount' - The number of targets for the command.------ * 'cOutputS3KeyPrefix' - The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.------ * 'cDocumentName' - The name of the document requested for execution.------ * 'cErrorCount' - The number of targets for which the status is Failed or Execution Timed Out.------ * 'cStatusDetails' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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.------ * 'cMaxErrors' - The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .------ * 'cInstanceIds' - The instance IDs against which this command was requested.------ * 'cOutputS3Region' - (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.------ * 'cTargets' - 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.------ * 'cCommandId' - A unique identifier for this command.------ * 'cParameters' - The parameter values to be inserted in the document when executing the command.------ * 'cComment' - User-specified information about the command, such as a brief description of what the command should do.------ * 'cCompletedCount' - 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.------ * 'cOutputS3BucketName' - The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.------ * 'cMaxConcurrency' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .------ * 'cRequestedDateTime' - The date and time the command was requested.------ * 'cServiceRole' - The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes.-command-    :: Command-command =-  Command'-  { _cStatus = Nothing-  , _cExpiresAfter = Nothing-  , _cNotificationConfig = Nothing-  , _cTargetCount = Nothing-  , _cOutputS3KeyPrefix = Nothing-  , _cDocumentName = Nothing-  , _cErrorCount = Nothing-  , _cStatusDetails = Nothing-  , _cMaxErrors = Nothing-  , _cInstanceIds = Nothing-  , _cOutputS3Region = Nothing-  , _cTargets = Nothing-  , _cCommandId = Nothing-  , _cParameters = Nothing-  , _cComment = Nothing-  , _cCompletedCount = Nothing-  , _cOutputS3BucketName = Nothing-  , _cMaxConcurrency = Nothing-  , _cRequestedDateTime = Nothing-  , _cServiceRole = Nothing-  }----- | The status of the command.-cStatus :: Lens' Command (Maybe CommandStatus)-cStatus = lens _cStatus (\ s a -> s{_cStatus = a});---- | If this time is reached and the command has not already started executing, it will not execute. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.-cExpiresAfter :: Lens' Command (Maybe UTCTime)-cExpiresAfter = lens _cExpiresAfter (\ s a -> s{_cExpiresAfter = a}) . mapping _Time;---- | Configurations for sending notifications about command status changes.-cNotificationConfig :: Lens' Command (Maybe NotificationConfig)-cNotificationConfig = lens _cNotificationConfig (\ s a -> s{_cNotificationConfig = a});---- | The number of targets for the command.-cTargetCount :: Lens' Command (Maybe Int)-cTargetCount = lens _cTargetCount (\ s a -> s{_cTargetCount = 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.-cOutputS3KeyPrefix :: Lens' Command (Maybe Text)-cOutputS3KeyPrefix = lens _cOutputS3KeyPrefix (\ s a -> s{_cOutputS3KeyPrefix = a});---- | The name of the document requested for execution.-cDocumentName :: Lens' Command (Maybe Text)-cDocumentName = lens _cDocumentName (\ s a -> s{_cDocumentName = a});---- | The number of targets for which the status is Failed or Execution Timed Out.-cErrorCount :: Lens' Command (Maybe Int)-cErrorCount = lens _cErrorCount (\ s a -> s{_cErrorCount = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)-cStatusDetails = lens _cStatusDetails (\ s a -> s{_cStatusDetails = a});---- | The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .-cMaxErrors :: Lens' Command (Maybe Text)-cMaxErrors = lens _cMaxErrors (\ s a -> s{_cMaxErrors = a});---- | The instance IDs against which this command was requested.-cInstanceIds :: Lens' Command [Text]-cInstanceIds = lens _cInstanceIds (\ s a -> s{_cInstanceIds = a}) . _Default . _Coerce;---- | (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)-cOutputS3Region = lens _cOutputS3Region (\ s a -> s{_cOutputS3Region = 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.-cTargets :: Lens' Command [Target]-cTargets = lens _cTargets (\ s a -> s{_cTargets = a}) . _Default . _Coerce;---- | A unique identifier for this command.-cCommandId :: Lens' Command (Maybe Text)-cCommandId = lens _cCommandId (\ s a -> s{_cCommandId = a});---- | The parameter values to be inserted in the document when executing the command.-cParameters :: Lens' Command (HashMap Text [Text])-cParameters = lens _cParameters (\ s a -> s{_cParameters = a}) . _Default . _Map;---- | User-specified information about the command, such as a brief description of what the command should do.-cComment :: Lens' Command (Maybe Text)-cComment = lens _cComment (\ s a -> s{_cComment = 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.-cCompletedCount :: Lens' Command (Maybe Int)-cCompletedCount = lens _cCompletedCount (\ s a -> s{_cCompletedCount = a});---- | 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)-cOutputS3BucketName = lens _cOutputS3BucketName (\ s a -> s{_cOutputS3BucketName = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .-cMaxConcurrency :: Lens' Command (Maybe Text)-cMaxConcurrency = lens _cMaxConcurrency (\ s a -> s{_cMaxConcurrency = a});---- | The date and time the command was requested.-cRequestedDateTime :: Lens' Command (Maybe UTCTime)-cRequestedDateTime = lens _cRequestedDateTime (\ s a -> s{_cRequestedDateTime = a}) . mapping _Time;---- | 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)-cServiceRole = lens _cServiceRole (\ s a -> s{_cServiceRole = a});--instance FromJSON Command where-        parseJSON-          = withObject "Command"-              (\ x ->-                 Command' <$>-                   (x .:? "Status") <*> (x .:? "ExpiresAfter") <*>-                     (x .:? "NotificationConfig")-                     <*> (x .:? "TargetCount")-                     <*> (x .:? "OutputS3KeyPrefix")-                     <*> (x .:? "DocumentName")-                     <*> (x .:? "ErrorCount")-                     <*> (x .:? "StatusDetails")-                     <*> (x .:? "MaxErrors")-                     <*> (x .:? "InstanceIds" .!= mempty)-                     <*> (x .:? "OutputS3Region")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "CommandId")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "Comment")-                     <*> (x .:? "CompletedCount")-                     <*> (x .:? "OutputS3BucketName")-                     <*> (x .:? "MaxConcurrency")-                     <*> (x .:? "RequestedDateTime")-                     <*> (x .:? "ServiceRole"))--instance Hashable Command where--instance NFData Command where---- | Describes a command filter.------------ /See:/ 'commandFilter' smart constructor.-data CommandFilter = CommandFilter'-  { _cfKey   :: !CommandFilterKey-  , _cfValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CommandFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cfKey' - The name of the filter.------ * 'cfValue' - The filter value.-commandFilter-    :: CommandFilterKey -- ^ 'cfKey'-    -> Text -- ^ 'cfValue'-    -> CommandFilter-commandFilter pKey_ pValue_ =-  CommandFilter' {_cfKey = pKey_, _cfValue = pValue_}----- | The name of the filter.-cfKey :: Lens' CommandFilter CommandFilterKey-cfKey = lens _cfKey (\ s a -> s{_cfKey = a});---- | The filter value.-cfValue :: Lens' CommandFilter Text-cfValue = lens _cfValue (\ s a -> s{_cfValue = a});--instance Hashable CommandFilter where--instance NFData CommandFilter where--instance ToJSON CommandFilter where-        toJSON CommandFilter'{..}-          = object-              (catMaybes-                 [Just ("key" .= _cfKey), Just ("value" .= _cfValue)])---- | 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.------------ /See:/ 'commandInvocation' smart constructor.-data CommandInvocation = CommandInvocation'-  { _comInstanceId         :: !(Maybe Text)-  , _comStatus             :: !(Maybe CommandInvocationStatus)-  , _comNotificationConfig :: !(Maybe NotificationConfig)-  , _comCommandPlugins     :: !(Maybe [CommandPlugin])-  , _comDocumentName       :: !(Maybe Text)-  , _comStandardErrorURL   :: !(Maybe Text)-  , _comStatusDetails      :: !(Maybe Text)-  , _comStandardOutputURL  :: !(Maybe Text)-  , _comCommandId          :: !(Maybe Text)-  , _comComment            :: !(Maybe Text)-  , _comTraceOutput        :: !(Maybe Text)-  , _comInstanceName       :: !(Maybe Text)-  , _comRequestedDateTime  :: !(Maybe POSIX)-  , _comServiceRole        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CommandInvocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'comInstanceId' - The instance ID in which this invocation was requested.------ * 'comStatus' - Whether or not the invocation succeeded, failed, or is pending.------ * 'comNotificationConfig' - Configurations for sending notifications about command status changes on a per instance basis.------ * 'comCommandPlugins' - Undocumented member.------ * 'comDocumentName' - The document name that was requested for execution.------ * 'comStandardErrorURL' - 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.------ * 'comStatusDetails' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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.------ * 'comStandardOutputURL' - 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.------ * 'comCommandId' - The command against which this invocation was requested.------ * 'comComment' - User-specified information about the command, such as a brief description of what the command should do.------ * 'comTraceOutput' - Gets the trace output sent by the agent.------ * 'comInstanceName' - 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.------ * 'comRequestedDateTime' - The time and date the request was sent to this instance.------ * 'comServiceRole' - 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.-commandInvocation-    :: CommandInvocation-commandInvocation =-  CommandInvocation'-  { _comInstanceId = Nothing-  , _comStatus = Nothing-  , _comNotificationConfig = Nothing-  , _comCommandPlugins = Nothing-  , _comDocumentName = Nothing-  , _comStandardErrorURL = Nothing-  , _comStatusDetails = Nothing-  , _comStandardOutputURL = Nothing-  , _comCommandId = Nothing-  , _comComment = Nothing-  , _comTraceOutput = Nothing-  , _comInstanceName = Nothing-  , _comRequestedDateTime = Nothing-  , _comServiceRole = Nothing-  }----- | The instance ID in which this invocation was requested.-comInstanceId :: Lens' CommandInvocation (Maybe Text)-comInstanceId = lens _comInstanceId (\ s a -> s{_comInstanceId = a});---- | Whether or not the invocation succeeded, failed, or is pending.-comStatus :: Lens' CommandInvocation (Maybe CommandInvocationStatus)-comStatus = lens _comStatus (\ s a -> s{_comStatus = a});---- | Configurations for sending notifications about command status changes on a per instance basis.-comNotificationConfig :: Lens' CommandInvocation (Maybe NotificationConfig)-comNotificationConfig = lens _comNotificationConfig (\ s a -> s{_comNotificationConfig = a});---- | Undocumented member.-comCommandPlugins :: Lens' CommandInvocation [CommandPlugin]-comCommandPlugins = lens _comCommandPlugins (\ s a -> s{_comCommandPlugins = a}) . _Default . _Coerce;---- | The document name that was requested for execution.-comDocumentName :: Lens' CommandInvocation (Maybe Text)-comDocumentName = lens _comDocumentName (\ s a -> s{_comDocumentName = 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.-comStandardErrorURL :: Lens' CommandInvocation (Maybe Text)-comStandardErrorURL = lens _comStandardErrorURL (\ s a -> s{_comStandardErrorURL = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)-comStatusDetails = lens _comStatusDetails (\ s a -> s{_comStatusDetails = 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.-comStandardOutputURL :: Lens' CommandInvocation (Maybe Text)-comStandardOutputURL = lens _comStandardOutputURL (\ s a -> s{_comStandardOutputURL = a});---- | The command against which this invocation was requested.-comCommandId :: Lens' CommandInvocation (Maybe Text)-comCommandId = lens _comCommandId (\ s a -> s{_comCommandId = a});---- | User-specified information about the command, such as a brief description of what the command should do.-comComment :: Lens' CommandInvocation (Maybe Text)-comComment = lens _comComment (\ s a -> s{_comComment = a});---- | Gets the trace output sent by the agent.-comTraceOutput :: Lens' CommandInvocation (Maybe Text)-comTraceOutput = lens _comTraceOutput (\ s a -> s{_comTraceOutput = 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.-comInstanceName :: Lens' CommandInvocation (Maybe Text)-comInstanceName = lens _comInstanceName (\ s a -> s{_comInstanceName = a});---- | The time and date the request was sent to this instance.-comRequestedDateTime :: Lens' CommandInvocation (Maybe UTCTime)-comRequestedDateTime = lens _comRequestedDateTime (\ s a -> s{_comRequestedDateTime = a}) . mapping _Time;---- | 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)-comServiceRole = lens _comServiceRole (\ s a -> s{_comServiceRole = a});--instance FromJSON CommandInvocation where-        parseJSON-          = withObject "CommandInvocation"-              (\ x ->-                 CommandInvocation' <$>-                   (x .:? "InstanceId") <*> (x .:? "Status") <*>-                     (x .:? "NotificationConfig")-                     <*> (x .:? "CommandPlugins" .!= mempty)-                     <*> (x .:? "DocumentName")-                     <*> (x .:? "StandardErrorUrl")-                     <*> (x .:? "StatusDetails")-                     <*> (x .:? "StandardOutputUrl")-                     <*> (x .:? "CommandId")-                     <*> (x .:? "Comment")-                     <*> (x .:? "TraceOutput")-                     <*> (x .:? "InstanceName")-                     <*> (x .:? "RequestedDateTime")-                     <*> (x .:? "ServiceRole"))--instance Hashable CommandInvocation where--instance NFData CommandInvocation where---- | Describes plugin details.------------ /See:/ 'commandPlugin' smart constructor.-data CommandPlugin = CommandPlugin'-  { _cpStatus                 :: !(Maybe CommandPluginStatus)-  , _cpResponseStartDateTime  :: !(Maybe POSIX)-  , _cpOutputS3KeyPrefix      :: !(Maybe Text)-  , _cpStandardErrorURL       :: !(Maybe Text)-  , _cpResponseCode           :: !(Maybe Int)-  , _cpStatusDetails          :: !(Maybe Text)-  , _cpOutput                 :: !(Maybe Text)-  , _cpStandardOutputURL      :: !(Maybe Text)-  , _cpName                   :: !(Maybe Text)-  , _cpOutputS3Region         :: !(Maybe Text)-  , _cpOutputS3BucketName     :: !(Maybe Text)-  , _cpResponseFinishDateTime :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CommandPlugin' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpStatus' - The status of this plugin. You can execute a document with multiple plugins.------ * 'cpResponseStartDateTime' - The time the plugin started executing.------ * 'cpOutputS3KeyPrefix' - 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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.------ * 'cpStandardErrorURL' - The URL for the complete text written by the plugin to stderr. If execution is not yet complete, then this string is empty.------ * 'cpResponseCode' - A numeric response code generated after executing the plugin.------ * 'cpStatusDetails' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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.------ * 'cpOutput' - Output of the plugin execution.------ * 'cpStandardOutputURL' - 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.------ * 'cpName' - 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.------ * 'cpOutputS3Region' - (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.------ * 'cpOutputS3BucketName' - 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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.------ * 'cpResponseFinishDateTime' - The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.-commandPlugin-    :: CommandPlugin-commandPlugin =-  CommandPlugin'-  { _cpStatus = Nothing-  , _cpResponseStartDateTime = Nothing-  , _cpOutputS3KeyPrefix = Nothing-  , _cpStandardErrorURL = Nothing-  , _cpResponseCode = Nothing-  , _cpStatusDetails = Nothing-  , _cpOutput = Nothing-  , _cpStandardOutputURL = Nothing-  , _cpName = Nothing-  , _cpOutputS3Region = Nothing-  , _cpOutputS3BucketName = Nothing-  , _cpResponseFinishDateTime = Nothing-  }----- | The status of this plugin. You can execute a document with multiple plugins.-cpStatus :: Lens' CommandPlugin (Maybe CommandPluginStatus)-cpStatus = lens _cpStatus (\ s a -> s{_cpStatus = a});---- | The time the plugin started executing.-cpResponseStartDateTime :: Lens' CommandPlugin (Maybe UTCTime)-cpResponseStartDateTime = lens _cpResponseStartDateTime (\ s a -> s{_cpResponseStartDateTime = a}) . mapping _Time;---- | 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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)-cpOutputS3KeyPrefix = lens _cpOutputS3KeyPrefix (\ s a -> s{_cpOutputS3KeyPrefix = a});---- | 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)-cpStandardErrorURL = lens _cpStandardErrorURL (\ s a -> s{_cpStandardErrorURL = a});---- | A numeric response code generated after executing the plugin.-cpResponseCode :: Lens' CommandPlugin (Maybe Int)-cpResponseCode = lens _cpResponseCode (\ s a -> s{_cpResponseCode = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)-cpStatusDetails = lens _cpStatusDetails (\ s a -> s{_cpStatusDetails = a});---- | Output of the plugin execution.-cpOutput :: Lens' CommandPlugin (Maybe Text)-cpOutput = lens _cpOutput (\ s a -> s{_cpOutput = 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.-cpStandardOutputURL :: Lens' CommandPlugin (Maybe Text)-cpStandardOutputURL = lens _cpStandardOutputURL (\ s a -> s{_cpStandardOutputURL = 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.-cpName :: Lens' CommandPlugin (Maybe Text)-cpName = lens _cpName (\ s a -> s{_cpName = a});---- | (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)-cpOutputS3Region = lens _cpOutputS3Region (\ s a -> s{_cpOutputS3Region = 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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)-cpOutputS3BucketName = lens _cpOutputS3BucketName (\ s a -> s{_cpOutputS3BucketName = a});---- | The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.-cpResponseFinishDateTime :: Lens' CommandPlugin (Maybe UTCTime)-cpResponseFinishDateTime = lens _cpResponseFinishDateTime (\ s a -> s{_cpResponseFinishDateTime = a}) . mapping _Time;--instance FromJSON CommandPlugin where-        parseJSON-          = withObject "CommandPlugin"-              (\ x ->-                 CommandPlugin' <$>-                   (x .:? "Status") <*> (x .:? "ResponseStartDateTime")-                     <*> (x .:? "OutputS3KeyPrefix")-                     <*> (x .:? "StandardErrorUrl")-                     <*> (x .:? "ResponseCode")-                     <*> (x .:? "StatusDetails")-                     <*> (x .:? "Output")-                     <*> (x .:? "StandardOutputUrl")-                     <*> (x .:? "Name")-                     <*> (x .:? "OutputS3Region")-                     <*> (x .:? "OutputS3BucketName")-                     <*> (x .:? "ResponseFinishDateTime"))--instance Hashable CommandPlugin where--instance NFData CommandPlugin where---- | A summary of the call execution that includes an execution ID, the type of execution (for example, @Command@ ), 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'.------------ /See:/ 'complianceExecutionSummary' smart constructor.-data ComplianceExecutionSummary = ComplianceExecutionSummary'-  { _cesExecutionId   :: !(Maybe Text)-  , _cesExecutionType :: !(Maybe Text)-  , _cesExecutionTime :: !POSIX-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ComplianceExecutionSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cesExecutionId' - An ID created by the system when @PutComplianceItems@ was called. For example, @CommandID@ is a valid execution ID. You can use this ID in subsequent calls.------ * 'cesExecutionType' - The type of execution. For example, @Command@ is a valid execution type.------ * 'cesExecutionTime' - The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.-complianceExecutionSummary-    :: UTCTime -- ^ 'cesExecutionTime'-    -> ComplianceExecutionSummary-complianceExecutionSummary pExecutionTime_ =-  ComplianceExecutionSummary'-  { _cesExecutionId = Nothing-  , _cesExecutionType = Nothing-  , _cesExecutionTime = _Time # pExecutionTime_-  }----- | An ID created by the system when @PutComplianceItems@ was called. For example, @CommandID@ is a valid execution ID. You can use this ID in subsequent calls.-cesExecutionId :: Lens' ComplianceExecutionSummary (Maybe Text)-cesExecutionId = lens _cesExecutionId (\ s a -> s{_cesExecutionId = a});---- | The type of execution. For example, @Command@ is a valid execution type.-cesExecutionType :: Lens' ComplianceExecutionSummary (Maybe Text)-cesExecutionType = lens _cesExecutionType (\ s a -> s{_cesExecutionType = 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'.-cesExecutionTime :: Lens' ComplianceExecutionSummary UTCTime-cesExecutionTime = lens _cesExecutionTime (\ s a -> s{_cesExecutionTime = a}) . _Time;--instance FromJSON ComplianceExecutionSummary where-        parseJSON-          = withObject "ComplianceExecutionSummary"-              (\ x ->-                 ComplianceExecutionSummary' <$>-                   (x .:? "ExecutionId") <*> (x .:? "ExecutionType") <*>-                     (x .: "ExecutionTime"))--instance Hashable ComplianceExecutionSummary where--instance NFData ComplianceExecutionSummary where--instance ToJSON ComplianceExecutionSummary where-        toJSON ComplianceExecutionSummary'{..}-          = object-              (catMaybes-                 [("ExecutionId" .=) <$> _cesExecutionId,-                  ("ExecutionType" .=) <$> _cesExecutionType,-                  Just ("ExecutionTime" .= _cesExecutionTime)])---- | Information about the compliance as defined by the resource type. For example, for a patch resource type, @Items@ includes information about the PatchSeverity, Classification, etc.------------ /See:/ 'complianceItem' smart constructor.-data ComplianceItem = ComplianceItem'-  { _ciStatus           :: !(Maybe ComplianceStatus)-  , _ciResourceId       :: !(Maybe Text)-  , _ciResourceType     :: !(Maybe Text)-  , _ciSeverity         :: !(Maybe ComplianceSeverity)-  , _ciExecutionSummary :: !(Maybe ComplianceExecutionSummary)-  , _ciDetails          :: !(Maybe (Map Text Text))-  , _ciId               :: !(Maybe Text)-  , _ciComplianceType   :: !(Maybe Text)-  , _ciTitle            :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ComplianceItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ciStatus' - The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.------ * 'ciResourceId' - An ID for the resource. For a managed instance, this is the instance ID.------ * 'ciResourceType' - The type of resource. @ManagedInstance@ is currently the only supported resource type.------ * 'ciSeverity' - The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.------ * 'ciExecutionSummary' - A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.------ * 'ciDetails' - A "Key": "Value" tag combination for the compliance item.------ * 'ciId' - 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. Here's an example: KB4010320.------ * 'ciComplianceType' - The compliance type. For example, Association (for a State Manager association), Patch, or Custom:@string@ are all valid compliance types.------ * 'ciTitle' - 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. Here's an example: Security Update for Active Directory Federation Services.-complianceItem-    :: ComplianceItem-complianceItem =-  ComplianceItem'-  { _ciStatus = Nothing-  , _ciResourceId = Nothing-  , _ciResourceType = Nothing-  , _ciSeverity = Nothing-  , _ciExecutionSummary = Nothing-  , _ciDetails = Nothing-  , _ciId = Nothing-  , _ciComplianceType = Nothing-  , _ciTitle = Nothing-  }----- | The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.-ciStatus :: Lens' ComplianceItem (Maybe ComplianceStatus)-ciStatus = lens _ciStatus (\ s a -> s{_ciStatus = a});---- | An ID for the resource. For a managed instance, this is the instance ID.-ciResourceId :: Lens' ComplianceItem (Maybe Text)-ciResourceId = lens _ciResourceId (\ s a -> s{_ciResourceId = a});---- | The type of resource. @ManagedInstance@ is currently the only supported resource type.-ciResourceType :: Lens' ComplianceItem (Maybe Text)-ciResourceType = lens _ciResourceType (\ s a -> s{_ciResourceType = a});---- | The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.-ciSeverity :: Lens' ComplianceItem (Maybe ComplianceSeverity)-ciSeverity = lens _ciSeverity (\ s a -> s{_ciSeverity = a});---- | 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)-ciExecutionSummary = lens _ciExecutionSummary (\ s a -> s{_ciExecutionSummary = a});---- | A "Key": "Value" tag combination for the compliance item.-ciDetails :: Lens' ComplianceItem (HashMap Text Text)-ciDetails = lens _ciDetails (\ s a -> s{_ciDetails = a}) . _Default . _Map;---- | 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. Here's an example: KB4010320.-ciId :: Lens' ComplianceItem (Maybe Text)-ciId = lens _ciId (\ s a -> s{_ciId = a});---- | The compliance type. For example, Association (for a State Manager association), Patch, or Custom:@string@ are all valid compliance types.-ciComplianceType :: Lens' ComplianceItem (Maybe Text)-ciComplianceType = lens _ciComplianceType (\ s a -> s{_ciComplianceType = 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. Here's an example: Security Update for Active Directory Federation Services.-ciTitle :: Lens' ComplianceItem (Maybe Text)-ciTitle = lens _ciTitle (\ s a -> s{_ciTitle = a});--instance FromJSON ComplianceItem where-        parseJSON-          = withObject "ComplianceItem"-              (\ x ->-                 ComplianceItem' <$>-                   (x .:? "Status") <*> (x .:? "ResourceId") <*>-                     (x .:? "ResourceType")-                     <*> (x .:? "Severity")-                     <*> (x .:? "ExecutionSummary")-                     <*> (x .:? "Details" .!= mempty)-                     <*> (x .:? "Id")-                     <*> (x .:? "ComplianceType")-                     <*> (x .:? "Title"))--instance Hashable ComplianceItem where--instance NFData ComplianceItem where---- | Information about a compliance item.------------ /See:/ 'complianceItemEntry' smart constructor.-data ComplianceItemEntry = ComplianceItemEntry'-  { _cieDetails  :: !(Maybe (Map Text Text))-  , _cieId       :: !(Maybe Text)-  , _cieTitle    :: !(Maybe Text)-  , _cieSeverity :: !ComplianceSeverity-  , _cieStatus   :: !ComplianceStatus-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ComplianceItemEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cieDetails' - A "Key": "Value" tag combination for the compliance item.------ * 'cieId' - The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.------ * 'cieTitle' - 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. Here's an example: Security Update for Active Directory Federation Services.------ * 'cieSeverity' - The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.------ * 'cieStatus' - The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.-complianceItemEntry-    :: ComplianceSeverity -- ^ 'cieSeverity'-    -> ComplianceStatus -- ^ 'cieStatus'-    -> ComplianceItemEntry-complianceItemEntry pSeverity_ pStatus_ =-  ComplianceItemEntry'-  { _cieDetails = Nothing-  , _cieId = Nothing-  , _cieTitle = Nothing-  , _cieSeverity = pSeverity_-  , _cieStatus = pStatus_-  }----- | A "Key": "Value" tag combination for the compliance item.-cieDetails :: Lens' ComplianceItemEntry (HashMap Text Text)-cieDetails = lens _cieDetails (\ s a -> s{_cieDetails = a}) . _Default . _Map;---- | 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)-cieId = lens _cieId (\ s a -> s{_cieId = 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. Here's an example: Security Update for Active Directory Federation Services.-cieTitle :: Lens' ComplianceItemEntry (Maybe Text)-cieTitle = lens _cieTitle (\ s a -> s{_cieTitle = a});---- | The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.-cieSeverity :: Lens' ComplianceItemEntry ComplianceSeverity-cieSeverity = lens _cieSeverity (\ s a -> s{_cieSeverity = a});---- | The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.-cieStatus :: Lens' ComplianceItemEntry ComplianceStatus-cieStatus = lens _cieStatus (\ s a -> s{_cieStatus = a});--instance Hashable ComplianceItemEntry where--instance NFData ComplianceItemEntry where--instance ToJSON ComplianceItemEntry where-        toJSON ComplianceItemEntry'{..}-          = object-              (catMaybes-                 [("Details" .=) <$> _cieDetails,-                  ("Id" .=) <$> _cieId, ("Title" .=) <$> _cieTitle,-                  Just ("Severity" .= _cieSeverity),-                  Just ("Status" .= _cieStatus)])---- | One or more filters. Use a filter to return a more specific list of results.------------ /See:/ 'complianceStringFilter' smart constructor.-data ComplianceStringFilter = ComplianceStringFilter'-  { _csfValues :: !(Maybe (List1 Text))-  , _csfKey    :: !(Maybe Text)-  , _csfType   :: !(Maybe ComplianceQueryOperatorType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ComplianceStringFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csfValues' - The value for which to search.------ * 'csfKey' - The name of the filter.------ * 'csfType' - The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.-complianceStringFilter-    :: ComplianceStringFilter-complianceStringFilter =-  ComplianceStringFilter'-  {_csfValues = Nothing, _csfKey = Nothing, _csfType = Nothing}----- | The value for which to search.-csfValues :: Lens' ComplianceStringFilter (Maybe (NonEmpty Text))-csfValues = lens _csfValues (\ s a -> s{_csfValues = a}) . mapping _List1;---- | The name of the filter.-csfKey :: Lens' ComplianceStringFilter (Maybe Text)-csfKey = lens _csfKey (\ s a -> s{_csfKey = a});---- | The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.-csfType :: Lens' ComplianceStringFilter (Maybe ComplianceQueryOperatorType)-csfType = lens _csfType (\ s a -> s{_csfType = a});--instance Hashable ComplianceStringFilter where--instance NFData ComplianceStringFilter where--instance ToJSON ComplianceStringFilter where-        toJSON ComplianceStringFilter'{..}-          = object-              (catMaybes-                 [("Values" .=) <$> _csfValues,-                  ("Key" .=) <$> _csfKey, ("Type" .=) <$> _csfType])---- | A summary of compliance information by compliance type.------------ /See:/ 'complianceSummaryItem' smart constructor.-data ComplianceSummaryItem = ComplianceSummaryItem'-  { _csiNonCompliantSummary :: !(Maybe NonCompliantSummary)-  , _csiCompliantSummary    :: !(Maybe CompliantSummary)-  , _csiComplianceType      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ComplianceSummaryItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csiNonCompliantSummary' - A list of NON_COMPLIANT items for the specified compliance type.------ * 'csiCompliantSummary' - A list of COMPLIANT items for the specified compliance type.------ * 'csiComplianceType' - The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.-complianceSummaryItem-    :: ComplianceSummaryItem-complianceSummaryItem =-  ComplianceSummaryItem'-  { _csiNonCompliantSummary = Nothing-  , _csiCompliantSummary = Nothing-  , _csiComplianceType = Nothing-  }----- | A list of NON_COMPLIANT items for the specified compliance type.-csiNonCompliantSummary :: Lens' ComplianceSummaryItem (Maybe NonCompliantSummary)-csiNonCompliantSummary = lens _csiNonCompliantSummary (\ s a -> s{_csiNonCompliantSummary = a});---- | A list of COMPLIANT items for the specified compliance type.-csiCompliantSummary :: Lens' ComplianceSummaryItem (Maybe CompliantSummary)-csiCompliantSummary = lens _csiCompliantSummary (\ s a -> s{_csiCompliantSummary = a});---- | The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.-csiComplianceType :: Lens' ComplianceSummaryItem (Maybe Text)-csiComplianceType = lens _csiComplianceType (\ s a -> s{_csiComplianceType = a});--instance FromJSON ComplianceSummaryItem where-        parseJSON-          = withObject "ComplianceSummaryItem"-              (\ x ->-                 ComplianceSummaryItem' <$>-                   (x .:? "NonCompliantSummary") <*>-                     (x .:? "CompliantSummary")-                     <*> (x .:? "ComplianceType"))--instance Hashable ComplianceSummaryItem where--instance NFData ComplianceSummaryItem where---- | A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.------------ /See:/ 'compliantSummary' smart constructor.-data CompliantSummary = CompliantSummary'-  { _csCompliantCount  :: !(Maybe Int)-  , _csSeveritySummary :: !(Maybe SeveritySummary)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CompliantSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csCompliantCount' - The total number of resources that are compliant.------ * 'csSeveritySummary' - A summary of the compliance severity by compliance type.-compliantSummary-    :: CompliantSummary-compliantSummary =-  CompliantSummary' {_csCompliantCount = Nothing, _csSeveritySummary = Nothing}----- | The total number of resources that are compliant.-csCompliantCount :: Lens' CompliantSummary (Maybe Int)-csCompliantCount = lens _csCompliantCount (\ s a -> s{_csCompliantCount = a});---- | A summary of the compliance severity by compliance type.-csSeveritySummary :: Lens' CompliantSummary (Maybe SeveritySummary)-csSeveritySummary = lens _csSeveritySummary (\ s a -> s{_csSeveritySummary = a});--instance FromJSON CompliantSummary where-        parseJSON-          = withObject "CompliantSummary"-              (\ x ->-                 CompliantSummary' <$>-                   (x .:? "CompliantCount") <*>-                     (x .:? "SeveritySummary"))--instance Hashable CompliantSummary where--instance NFData CompliantSummary where---- | Describes the association of a Systems Manager document and an instance.------------ /See:/ 'createAssociationBatchRequestEntry' smart constructor.-data CreateAssociationBatchRequestEntry = CreateAssociationBatchRequestEntry'-  { _cabreInstanceId         :: !(Maybe Text)-  , _cabreScheduleExpression :: !(Maybe Text)-  , _cabreOutputLocation     :: !(Maybe InstanceAssociationOutputLocation)-  , _cabreTargets            :: !(Maybe [Target])-  , _cabreParameters         :: !(Maybe (Map Text [Text]))-  , _cabreDocumentVersion    :: !(Maybe Text)-  , _cabreAssociationName    :: !(Maybe Text)-  , _cabreName               :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateAssociationBatchRequestEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cabreInstanceId' - The ID of the instance.------ * 'cabreScheduleExpression' - A cron expression that specifies a schedule when the association runs.------ * 'cabreOutputLocation' - An Amazon S3 bucket where you want to store the results of this request.------ * 'cabreTargets' - The instances targeted by the request.------ * 'cabreParameters' - A description of the parameters for a document.------ * 'cabreDocumentVersion' - The document version.------ * 'cabreAssociationName' - Specify a descriptive name for the association.------ * 'cabreName' - The name of the configuration document.-createAssociationBatchRequestEntry-    :: Text -- ^ 'cabreName'-    -> CreateAssociationBatchRequestEntry-createAssociationBatchRequestEntry pName_ =-  CreateAssociationBatchRequestEntry'-  { _cabreInstanceId = Nothing-  , _cabreScheduleExpression = Nothing-  , _cabreOutputLocation = Nothing-  , _cabreTargets = Nothing-  , _cabreParameters = Nothing-  , _cabreDocumentVersion = Nothing-  , _cabreAssociationName = Nothing-  , _cabreName = pName_-  }----- | The ID of the instance.-cabreInstanceId :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)-cabreInstanceId = lens _cabreInstanceId (\ s a -> s{_cabreInstanceId = a});---- | A cron expression that specifies a schedule when the association runs.-cabreScheduleExpression :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)-cabreScheduleExpression = lens _cabreScheduleExpression (\ s a -> s{_cabreScheduleExpression = a});---- | An Amazon S3 bucket where you want to store the results of this request.-cabreOutputLocation :: Lens' CreateAssociationBatchRequestEntry (Maybe InstanceAssociationOutputLocation)-cabreOutputLocation = lens _cabreOutputLocation (\ s a -> s{_cabreOutputLocation = a});---- | The instances targeted by the request.-cabreTargets :: Lens' CreateAssociationBatchRequestEntry [Target]-cabreTargets = lens _cabreTargets (\ s a -> s{_cabreTargets = a}) . _Default . _Coerce;---- | A description of the parameters for a document.-cabreParameters :: Lens' CreateAssociationBatchRequestEntry (HashMap Text [Text])-cabreParameters = lens _cabreParameters (\ s a -> s{_cabreParameters = a}) . _Default . _Map;---- | The document version.-cabreDocumentVersion :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)-cabreDocumentVersion = lens _cabreDocumentVersion (\ s a -> s{_cabreDocumentVersion = a});---- | Specify a descriptive name for the association.-cabreAssociationName :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)-cabreAssociationName = lens _cabreAssociationName (\ s a -> s{_cabreAssociationName = a});---- | The name of the configuration document.-cabreName :: Lens' CreateAssociationBatchRequestEntry Text-cabreName = lens _cabreName (\ s a -> s{_cabreName = a});--instance FromJSON CreateAssociationBatchRequestEntry-         where-        parseJSON-          = withObject "CreateAssociationBatchRequestEntry"-              (\ x ->-                 CreateAssociationBatchRequestEntry' <$>-                   (x .:? "InstanceId") <*> (x .:? "ScheduleExpression")-                     <*> (x .:? "OutputLocation")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AssociationName")-                     <*> (x .: "Name"))--instance Hashable CreateAssociationBatchRequestEntry-         where--instance NFData CreateAssociationBatchRequestEntry-         where--instance ToJSON CreateAssociationBatchRequestEntry-         where-        toJSON CreateAssociationBatchRequestEntry'{..}-          = object-              (catMaybes-                 [("InstanceId" .=) <$> _cabreInstanceId,-                  ("ScheduleExpression" .=) <$>-                    _cabreScheduleExpression,-                  ("OutputLocation" .=) <$> _cabreOutputLocation,-                  ("Targets" .=) <$> _cabreTargets,-                  ("Parameters" .=) <$> _cabreParameters,-                  ("DocumentVersion" .=) <$> _cabreDocumentVersion,-                  ("AssociationName" .=) <$> _cabreAssociationName,-                  Just ("Name" .= _cabreName)])---- | Filter for the DescribeActivation API.------------ /See:/ 'describeActivationsFilter' smart constructor.-data DescribeActivationsFilter = DescribeActivationsFilter'-  { _dafFilterKey    :: !(Maybe DescribeActivationsFilterKeys)-  , _dafFilterValues :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeActivationsFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dafFilterKey' - The name of the filter.------ * 'dafFilterValues' - The filter values.-describeActivationsFilter-    :: DescribeActivationsFilter-describeActivationsFilter =-  DescribeActivationsFilter'-  {_dafFilterKey = Nothing, _dafFilterValues = Nothing}----- | The name of the filter.-dafFilterKey :: Lens' DescribeActivationsFilter (Maybe DescribeActivationsFilterKeys)-dafFilterKey = lens _dafFilterKey (\ s a -> s{_dafFilterKey = a});---- | The filter values.-dafFilterValues :: Lens' DescribeActivationsFilter [Text]-dafFilterValues = lens _dafFilterValues (\ s a -> s{_dafFilterValues = a}) . _Default . _Coerce;--instance Hashable DescribeActivationsFilter where--instance NFData DescribeActivationsFilter where--instance ToJSON DescribeActivationsFilter where-        toJSON DescribeActivationsFilter'{..}-          = object-              (catMaybes-                 [("FilterKey" .=) <$> _dafFilterKey,-                  ("FilterValues" .=) <$> _dafFilterValues])---- | A default version of a document.------------ /See:/ 'documentDefaultVersionDescription' smart constructor.-data DocumentDefaultVersionDescription = DocumentDefaultVersionDescription'-  { _ddvdDefaultVersion :: !(Maybe Text)-  , _ddvdName           :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentDefaultVersionDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ddvdDefaultVersion' - The default version of the document.------ * 'ddvdName' - The name of the document.-documentDefaultVersionDescription-    :: DocumentDefaultVersionDescription-documentDefaultVersionDescription =-  DocumentDefaultVersionDescription'-  {_ddvdDefaultVersion = Nothing, _ddvdName = Nothing}----- | The default version of the document.-ddvdDefaultVersion :: Lens' DocumentDefaultVersionDescription (Maybe Text)-ddvdDefaultVersion = lens _ddvdDefaultVersion (\ s a -> s{_ddvdDefaultVersion = a});---- | The name of the document.-ddvdName :: Lens' DocumentDefaultVersionDescription (Maybe Text)-ddvdName = lens _ddvdName (\ s a -> s{_ddvdName = a});--instance FromJSON DocumentDefaultVersionDescription-         where-        parseJSON-          = withObject "DocumentDefaultVersionDescription"-              (\ x ->-                 DocumentDefaultVersionDescription' <$>-                   (x .:? "DefaultVersion") <*> (x .:? "Name"))--instance Hashable DocumentDefaultVersionDescription-         where--instance NFData DocumentDefaultVersionDescription-         where---- | Describes a Systems Manager document.------------ /See:/ 'documentDescription' smart constructor.-data DocumentDescription = DocumentDescription'-  { _dStatus          :: !(Maybe DocumentStatus)-  , _dDocumentType    :: !(Maybe DocumentType)-  , _dHash            :: !(Maybe Text)-  , _dSchemaVersion   :: !(Maybe Text)-  , _dSha1            :: !(Maybe Text)-  , _dDefaultVersion  :: !(Maybe Text)-  , _dOwner           :: !(Maybe Text)-  , _dPlatformTypes   :: !(Maybe [PlatformType])-  , _dCreatedDate     :: !(Maybe POSIX)-  , _dName            :: !(Maybe Text)-  , _dHashType        :: !(Maybe DocumentHashType)-  , _dParameters      :: !(Maybe [DocumentParameter])-  , _dDocumentVersion :: !(Maybe Text)-  , _dDescription     :: !(Maybe Text)-  , _dTags            :: !(Maybe [Tag])-  , _dLatestVersion   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dStatus' - The status of the Systems Manager document.------ * 'dDocumentType' - The type of document.------ * 'dHash' - The Sha256 or Sha1 hash created by the system when the document was created.------ * 'dSchemaVersion' - The schema version.------ * 'dSha1' - The SHA1 hash of the document, which you can use for verification.------ * 'dDefaultVersion' - The default version.------ * 'dOwner' - The AWS user account that created the document.------ * 'dPlatformTypes' - The list of OS platforms compatible with this Systems Manager document.------ * 'dCreatedDate' - The date when the document was created.------ * 'dName' - The name of the Systems Manager document.------ * 'dHashType' - Sha256 or Sha1.------ * 'dParameters' - A description of the parameters for a document.------ * 'dDocumentVersion' - The document version.------ * 'dDescription' - A description of the document.------ * 'dTags' - The tags, or metadata, that have been applied to the document.------ * 'dLatestVersion' - The latest version of the document.-documentDescription-    :: DocumentDescription-documentDescription =-  DocumentDescription'-  { _dStatus = Nothing-  , _dDocumentType = Nothing-  , _dHash = Nothing-  , _dSchemaVersion = Nothing-  , _dSha1 = Nothing-  , _dDefaultVersion = Nothing-  , _dOwner = Nothing-  , _dPlatformTypes = Nothing-  , _dCreatedDate = Nothing-  , _dName = Nothing-  , _dHashType = Nothing-  , _dParameters = Nothing-  , _dDocumentVersion = Nothing-  , _dDescription = Nothing-  , _dTags = Nothing-  , _dLatestVersion = Nothing-  }----- | The status of the Systems Manager document.-dStatus :: Lens' DocumentDescription (Maybe DocumentStatus)-dStatus = lens _dStatus (\ s a -> s{_dStatus = a});---- | The type of document.-dDocumentType :: Lens' DocumentDescription (Maybe DocumentType)-dDocumentType = lens _dDocumentType (\ s a -> s{_dDocumentType = a});---- | The Sha256 or Sha1 hash created by the system when the document was created.-dHash :: Lens' DocumentDescription (Maybe Text)-dHash = lens _dHash (\ s a -> s{_dHash = a});---- | The schema version.-dSchemaVersion :: Lens' DocumentDescription (Maybe Text)-dSchemaVersion = lens _dSchemaVersion (\ s a -> s{_dSchemaVersion = a});---- | The SHA1 hash of the document, which you can use for verification.-dSha1 :: Lens' DocumentDescription (Maybe Text)-dSha1 = lens _dSha1 (\ s a -> s{_dSha1 = a});---- | The default version.-dDefaultVersion :: Lens' DocumentDescription (Maybe Text)-dDefaultVersion = lens _dDefaultVersion (\ s a -> s{_dDefaultVersion = a});---- | The AWS user account that created the document.-dOwner :: Lens' DocumentDescription (Maybe Text)-dOwner = lens _dOwner (\ s a -> s{_dOwner = a});---- | The list of OS platforms compatible with this Systems Manager document.-dPlatformTypes :: Lens' DocumentDescription [PlatformType]-dPlatformTypes = lens _dPlatformTypes (\ s a -> s{_dPlatformTypes = a}) . _Default . _Coerce;---- | The date when the document was created.-dCreatedDate :: Lens' DocumentDescription (Maybe UTCTime)-dCreatedDate = lens _dCreatedDate (\ s a -> s{_dCreatedDate = a}) . mapping _Time;---- | The name of the Systems Manager document.-dName :: Lens' DocumentDescription (Maybe Text)-dName = lens _dName (\ s a -> s{_dName = a});---- | Sha256 or Sha1.-dHashType :: Lens' DocumentDescription (Maybe DocumentHashType)-dHashType = lens _dHashType (\ s a -> s{_dHashType = a});---- | A description of the parameters for a document.-dParameters :: Lens' DocumentDescription [DocumentParameter]-dParameters = lens _dParameters (\ s a -> s{_dParameters = a}) . _Default . _Coerce;---- | The document version.-dDocumentVersion :: Lens' DocumentDescription (Maybe Text)-dDocumentVersion = lens _dDocumentVersion (\ s a -> s{_dDocumentVersion = a});---- | A description of the document.-dDescription :: Lens' DocumentDescription (Maybe Text)-dDescription = lens _dDescription (\ s a -> s{_dDescription = a});---- | The tags, or metadata, that have been applied to the document.-dTags :: Lens' DocumentDescription [Tag]-dTags = lens _dTags (\ s a -> s{_dTags = a}) . _Default . _Coerce;---- | The latest version of the document.-dLatestVersion :: Lens' DocumentDescription (Maybe Text)-dLatestVersion = lens _dLatestVersion (\ s a -> s{_dLatestVersion = a});--instance FromJSON DocumentDescription where-        parseJSON-          = withObject "DocumentDescription"-              (\ x ->-                 DocumentDescription' <$>-                   (x .:? "Status") <*> (x .:? "DocumentType") <*>-                     (x .:? "Hash")-                     <*> (x .:? "SchemaVersion")-                     <*> (x .:? "Sha1")-                     <*> (x .:? "DefaultVersion")-                     <*> (x .:? "Owner")-                     <*> (x .:? "PlatformTypes" .!= mempty)-                     <*> (x .:? "CreatedDate")-                     <*> (x .:? "Name")-                     <*> (x .:? "HashType")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "Description")-                     <*> (x .:? "Tags" .!= mempty)-                     <*> (x .:? "LatestVersion"))--instance Hashable DocumentDescription where--instance NFData DocumentDescription where---- | Describes a filter.------------ /See:/ 'documentFilter' smart constructor.-data DocumentFilter = DocumentFilter'-  { _dfKey   :: !DocumentFilterKey-  , _dfValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dfKey' - The name of the filter.------ * 'dfValue' - The value of the filter.-documentFilter-    :: DocumentFilterKey -- ^ 'dfKey'-    -> Text -- ^ 'dfValue'-    -> DocumentFilter-documentFilter pKey_ pValue_ =-  DocumentFilter' {_dfKey = pKey_, _dfValue = pValue_}----- | The name of the filter.-dfKey :: Lens' DocumentFilter DocumentFilterKey-dfKey = lens _dfKey (\ s a -> s{_dfKey = a});---- | The value of the filter.-dfValue :: Lens' DocumentFilter Text-dfValue = lens _dfValue (\ s a -> s{_dfValue = a});--instance Hashable DocumentFilter where--instance NFData DocumentFilter where--instance ToJSON DocumentFilter where-        toJSON DocumentFilter'{..}-          = object-              (catMaybes-                 [Just ("key" .= _dfKey), Just ("value" .= _dfValue)])---- | Describes the name of a Systems Manager document.------------ /See:/ 'documentIdentifier' smart constructor.-data DocumentIdentifier = DocumentIdentifier'-  { _diDocumentType    :: !(Maybe DocumentType)-  , _diSchemaVersion   :: !(Maybe Text)-  , _diOwner           :: !(Maybe Text)-  , _diPlatformTypes   :: !(Maybe [PlatformType])-  , _diName            :: !(Maybe Text)-  , _diDocumentVersion :: !(Maybe Text)-  , _diTags            :: !(Maybe [Tag])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentIdentifier' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'diDocumentType' - The document type.------ * 'diSchemaVersion' - The schema version.------ * 'diOwner' - The AWS user account that created the document.------ * 'diPlatformTypes' - The operating system platform.------ * 'diName' - The name of the Systems Manager document.------ * 'diDocumentVersion' - The document version.------ * 'diTags' - The tags, or metadata, that have been applied to the document.-documentIdentifier-    :: DocumentIdentifier-documentIdentifier =-  DocumentIdentifier'-  { _diDocumentType = Nothing-  , _diSchemaVersion = Nothing-  , _diOwner = Nothing-  , _diPlatformTypes = Nothing-  , _diName = Nothing-  , _diDocumentVersion = Nothing-  , _diTags = Nothing-  }----- | The document type.-diDocumentType :: Lens' DocumentIdentifier (Maybe DocumentType)-diDocumentType = lens _diDocumentType (\ s a -> s{_diDocumentType = a});---- | The schema version.-diSchemaVersion :: Lens' DocumentIdentifier (Maybe Text)-diSchemaVersion = lens _diSchemaVersion (\ s a -> s{_diSchemaVersion = a});---- | The AWS user account that created the document.-diOwner :: Lens' DocumentIdentifier (Maybe Text)-diOwner = lens _diOwner (\ s a -> s{_diOwner = a});---- | The operating system platform.-diPlatformTypes :: Lens' DocumentIdentifier [PlatformType]-diPlatformTypes = lens _diPlatformTypes (\ s a -> s{_diPlatformTypes = a}) . _Default . _Coerce;---- | The name of the Systems Manager document.-diName :: Lens' DocumentIdentifier (Maybe Text)-diName = lens _diName (\ s a -> s{_diName = a});---- | The document version.-diDocumentVersion :: Lens' DocumentIdentifier (Maybe Text)-diDocumentVersion = lens _diDocumentVersion (\ s a -> s{_diDocumentVersion = a});---- | The tags, or metadata, that have been applied to the document.-diTags :: Lens' DocumentIdentifier [Tag]-diTags = lens _diTags (\ s a -> s{_diTags = a}) . _Default . _Coerce;--instance FromJSON DocumentIdentifier where-        parseJSON-          = withObject "DocumentIdentifier"-              (\ x ->-                 DocumentIdentifier' <$>-                   (x .:? "DocumentType") <*> (x .:? "SchemaVersion")-                     <*> (x .:? "Owner")-                     <*> (x .:? "PlatformTypes" .!= mempty)-                     <*> (x .:? "Name")-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "Tags" .!= mempty))--instance Hashable DocumentIdentifier where--instance NFData DocumentIdentifier where---- | 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: @Key=Owner,Values=Self@ .------ 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 @Te@ , run the following command:------ @aws ssm list-documents --filters Key=Name,Values=Te@------ 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 @Key=tag:[tagName],Values=[valueName]@ .------ For example, if you created a Key called region and are using the AWS CLI to call the @list-documents@ command:------ @aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self@--------- /See:/ 'documentKeyValuesFilter' smart constructor.-data DocumentKeyValuesFilter = DocumentKeyValuesFilter'-  { _dkvfValues :: !(Maybe [Text])-  , _dkvfKey    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentKeyValuesFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dkvfValues' - The value for the filter key.------ * 'dkvfKey' - The name of the filter key.-documentKeyValuesFilter-    :: DocumentKeyValuesFilter-documentKeyValuesFilter =-  DocumentKeyValuesFilter' {_dkvfValues = Nothing, _dkvfKey = Nothing}----- | The value for the filter key.-dkvfValues :: Lens' DocumentKeyValuesFilter [Text]-dkvfValues = lens _dkvfValues (\ s a -> s{_dkvfValues = a}) . _Default . _Coerce;---- | The name of the filter key.-dkvfKey :: Lens' DocumentKeyValuesFilter (Maybe Text)-dkvfKey = lens _dkvfKey (\ s a -> s{_dkvfKey = a});--instance Hashable DocumentKeyValuesFilter where--instance NFData DocumentKeyValuesFilter where--instance ToJSON DocumentKeyValuesFilter where-        toJSON DocumentKeyValuesFilter'{..}-          = object-              (catMaybes-                 [("Values" .=) <$> _dkvfValues,-                  ("Key" .=) <$> _dkvfKey])---- | Parameters specified in a System Manager document that execute on the server when the command is run.------------ /See:/ 'documentParameter' smart constructor.-data DocumentParameter = DocumentParameter'-  { _dpName         :: !(Maybe Text)-  , _dpDefaultValue :: !(Maybe Text)-  , _dpType         :: !(Maybe DocumentParameterType)-  , _dpDescription  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentParameter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpName' - The name of the parameter.------ * 'dpDefaultValue' - If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.------ * 'dpType' - The type of parameter. The type can be either String or StringList.------ * 'dpDescription' - A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.-documentParameter-    :: DocumentParameter-documentParameter =-  DocumentParameter'-  { _dpName = Nothing-  , _dpDefaultValue = Nothing-  , _dpType = Nothing-  , _dpDescription = Nothing-  }----- | The name of the parameter.-dpName :: Lens' DocumentParameter (Maybe Text)-dpName = lens _dpName (\ s a -> s{_dpName = a});---- | 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)-dpDefaultValue = lens _dpDefaultValue (\ s a -> s{_dpDefaultValue = a});---- | The type of parameter. The type can be either String or StringList.-dpType :: Lens' DocumentParameter (Maybe DocumentParameterType)-dpType = lens _dpType (\ s a -> s{_dpType = a});---- | 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)-dpDescription = lens _dpDescription (\ s a -> s{_dpDescription = a});--instance FromJSON DocumentParameter where-        parseJSON-          = withObject "DocumentParameter"-              (\ x ->-                 DocumentParameter' <$>-                   (x .:? "Name") <*> (x .:? "DefaultValue") <*>-                     (x .:? "Type")-                     <*> (x .:? "Description"))--instance Hashable DocumentParameter where--instance NFData DocumentParameter where---- | Version information about the document.------------ /See:/ 'documentVersionInfo' smart constructor.-data DocumentVersionInfo = DocumentVersionInfo'-  { _dviCreatedDate      :: !(Maybe POSIX)-  , _dviName             :: !(Maybe Text)-  , _dviDocumentVersion  :: !(Maybe Text)-  , _dviIsDefaultVersion :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DocumentVersionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dviCreatedDate' - The date the document was created.------ * 'dviName' - The document name.------ * 'dviDocumentVersion' - The document version.------ * 'dviIsDefaultVersion' - An identifier for the default version of the document.-documentVersionInfo-    :: DocumentVersionInfo-documentVersionInfo =-  DocumentVersionInfo'-  { _dviCreatedDate = Nothing-  , _dviName = Nothing-  , _dviDocumentVersion = Nothing-  , _dviIsDefaultVersion = Nothing-  }----- | The date the document was created.-dviCreatedDate :: Lens' DocumentVersionInfo (Maybe UTCTime)-dviCreatedDate = lens _dviCreatedDate (\ s a -> s{_dviCreatedDate = a}) . mapping _Time;---- | The document name.-dviName :: Lens' DocumentVersionInfo (Maybe Text)-dviName = lens _dviName (\ s a -> s{_dviName = a});---- | The document version.-dviDocumentVersion :: Lens' DocumentVersionInfo (Maybe Text)-dviDocumentVersion = lens _dviDocumentVersion (\ s a -> s{_dviDocumentVersion = a});---- | An identifier for the default version of the document.-dviIsDefaultVersion :: Lens' DocumentVersionInfo (Maybe Bool)-dviIsDefaultVersion = lens _dviIsDefaultVersion (\ s a -> s{_dviIsDefaultVersion = a});--instance FromJSON DocumentVersionInfo where-        parseJSON-          = withObject "DocumentVersionInfo"-              (\ x ->-                 DocumentVersionInfo' <$>-                   (x .:? "CreatedDate") <*> (x .:? "Name") <*>-                     (x .:? "DocumentVersion")-                     <*> (x .:? "IsDefaultVersion"))--instance Hashable DocumentVersionInfo where--instance NFData DocumentVersionInfo where---- | 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.------------ /See:/ 'effectivePatch' smart constructor.-data EffectivePatch = EffectivePatch'-  { _epPatch       :: !(Maybe Patch)-  , _epPatchStatus :: !(Maybe PatchStatus)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EffectivePatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'epPatch' - 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.------ * 'epPatchStatus' - 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.-effectivePatch-    :: EffectivePatch-effectivePatch = EffectivePatch' {_epPatch = Nothing, _epPatchStatus = Nothing}----- | 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)-epPatch = lens _epPatch (\ s a -> s{_epPatch = 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.-epPatchStatus :: Lens' EffectivePatch (Maybe PatchStatus)-epPatchStatus = lens _epPatchStatus (\ s a -> s{_epPatchStatus = a});--instance FromJSON EffectivePatch where-        parseJSON-          = withObject "EffectivePatch"-              (\ x ->-                 EffectivePatch' <$>-                   (x .:? "Patch") <*> (x .:? "PatchStatus"))--instance Hashable EffectivePatch where--instance NFData EffectivePatch where---- | Describes a failed association.------------ /See:/ 'failedCreateAssociation' smart constructor.-data FailedCreateAssociation = FailedCreateAssociation'-  { _fcaEntry   :: !(Maybe CreateAssociationBatchRequestEntry)-  , _fcaFault   :: !(Maybe Fault)-  , _fcaMessage :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FailedCreateAssociation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fcaEntry' - The association.------ * 'fcaFault' - The source of the failure.------ * 'fcaMessage' - A description of the failure.-failedCreateAssociation-    :: FailedCreateAssociation-failedCreateAssociation =-  FailedCreateAssociation'-  {_fcaEntry = Nothing, _fcaFault = Nothing, _fcaMessage = Nothing}----- | The association.-fcaEntry :: Lens' FailedCreateAssociation (Maybe CreateAssociationBatchRequestEntry)-fcaEntry = lens _fcaEntry (\ s a -> s{_fcaEntry = a});---- | The source of the failure.-fcaFault :: Lens' FailedCreateAssociation (Maybe Fault)-fcaFault = lens _fcaFault (\ s a -> s{_fcaFault = a});---- | A description of the failure.-fcaMessage :: Lens' FailedCreateAssociation (Maybe Text)-fcaMessage = lens _fcaMessage (\ s a -> s{_fcaMessage = a});--instance FromJSON FailedCreateAssociation where-        parseJSON-          = withObject "FailedCreateAssociation"-              (\ x ->-                 FailedCreateAssociation' <$>-                   (x .:? "Entry") <*> (x .:? "Fault") <*>-                     (x .:? "Message"))--instance Hashable FailedCreateAssociation where--instance NFData FailedCreateAssociation where---- | Information about an Automation failure.------------ /See:/ 'failureDetails' smart constructor.-data FailureDetails = FailureDetails'-  { _fdFailureType  :: !(Maybe Text)-  , _fdFailureStage :: !(Maybe Text)-  , _fdDetails      :: !(Maybe (Map Text [Text]))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FailureDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fdFailureType' - The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.------ * 'fdFailureStage' - The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.------ * 'fdDetails' - Detailed information about the Automation step failure.-failureDetails-    :: FailureDetails-failureDetails =-  FailureDetails'-  {_fdFailureType = Nothing, _fdFailureStage = Nothing, _fdDetails = Nothing}----- | The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.-fdFailureType :: Lens' FailureDetails (Maybe Text)-fdFailureType = lens _fdFailureType (\ s a -> s{_fdFailureType = a});---- | The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.-fdFailureStage :: Lens' FailureDetails (Maybe Text)-fdFailureStage = lens _fdFailureStage (\ s a -> s{_fdFailureStage = a});---- | Detailed information about the Automation step failure.-fdDetails :: Lens' FailureDetails (HashMap Text [Text])-fdDetails = lens _fdDetails (\ s a -> s{_fdDetails = a}) . _Default . _Map;--instance FromJSON FailureDetails where-        parseJSON-          = withObject "FailureDetails"-              (\ x ->-                 FailureDetails' <$>-                   (x .:? "FailureType") <*> (x .:? "FailureStage") <*>-                     (x .:? "Details" .!= mempty))--instance Hashable FailureDetails where--instance NFData FailureDetails where---- | Status information about the aggregated associations.------------ /See:/ 'instanceAggregatedAssociationOverview' smart constructor.-data InstanceAggregatedAssociationOverview = InstanceAggregatedAssociationOverview'-  { _iaaoDetailedStatus                           :: !(Maybe Text)-  , _iaaoInstanceAssociationStatusAggregatedCount :: !(Maybe (Map Text Int))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAggregatedAssociationOverview' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iaaoDetailedStatus' - Detailed status information about the aggregated associations.------ * 'iaaoInstanceAssociationStatusAggregatedCount' - The number of associations for the instance(s).-instanceAggregatedAssociationOverview-    :: InstanceAggregatedAssociationOverview-instanceAggregatedAssociationOverview =-  InstanceAggregatedAssociationOverview'-  { _iaaoDetailedStatus = Nothing-  , _iaaoInstanceAssociationStatusAggregatedCount = Nothing-  }----- | Detailed status information about the aggregated associations.-iaaoDetailedStatus :: Lens' InstanceAggregatedAssociationOverview (Maybe Text)-iaaoDetailedStatus = lens _iaaoDetailedStatus (\ s a -> s{_iaaoDetailedStatus = a});---- | The number of associations for the instance(s).-iaaoInstanceAssociationStatusAggregatedCount :: Lens' InstanceAggregatedAssociationOverview (HashMap Text Int)-iaaoInstanceAssociationStatusAggregatedCount = lens _iaaoInstanceAssociationStatusAggregatedCount (\ s a -> s{_iaaoInstanceAssociationStatusAggregatedCount = a}) . _Default . _Map;--instance FromJSON-           InstanceAggregatedAssociationOverview-         where-        parseJSON-          = withObject "InstanceAggregatedAssociationOverview"-              (\ x ->-                 InstanceAggregatedAssociationOverview' <$>-                   (x .:? "DetailedStatus") <*>-                     (x .:? "InstanceAssociationStatusAggregatedCount" .!=-                        mempty))--instance Hashable-           InstanceAggregatedAssociationOverview-         where--instance NFData InstanceAggregatedAssociationOverview-         where---- | One or more association documents on the instance.------------ /See:/ 'instanceAssociation' smart constructor.-data InstanceAssociation = InstanceAssociation'-  { _iaAssociationId      :: !(Maybe Text)-  , _iaInstanceId         :: !(Maybe Text)-  , _iaContent            :: !(Maybe Text)-  , _iaAssociationVersion :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAssociation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iaAssociationId' - The association ID.------ * 'iaInstanceId' - The instance ID.------ * 'iaContent' - The content of the association document for the instance(s).------ * 'iaAssociationVersion' - Version information for the association on the instance.-instanceAssociation-    :: InstanceAssociation-instanceAssociation =-  InstanceAssociation'-  { _iaAssociationId = Nothing-  , _iaInstanceId = Nothing-  , _iaContent = Nothing-  , _iaAssociationVersion = Nothing-  }----- | The association ID.-iaAssociationId :: Lens' InstanceAssociation (Maybe Text)-iaAssociationId = lens _iaAssociationId (\ s a -> s{_iaAssociationId = a});---- | The instance ID.-iaInstanceId :: Lens' InstanceAssociation (Maybe Text)-iaInstanceId = lens _iaInstanceId (\ s a -> s{_iaInstanceId = a});---- | The content of the association document for the instance(s).-iaContent :: Lens' InstanceAssociation (Maybe Text)-iaContent = lens _iaContent (\ s a -> s{_iaContent = a});---- | Version information for the association on the instance.-iaAssociationVersion :: Lens' InstanceAssociation (Maybe Text)-iaAssociationVersion = lens _iaAssociationVersion (\ s a -> s{_iaAssociationVersion = a});--instance FromJSON InstanceAssociation where-        parseJSON-          = withObject "InstanceAssociation"-              (\ x ->-                 InstanceAssociation' <$>-                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>-                     (x .:? "Content")-                     <*> (x .:? "AssociationVersion"))--instance Hashable InstanceAssociation where--instance NFData InstanceAssociation where---- | An Amazon S3 bucket where you want to store the results of this request.------------ /See:/ 'instanceAssociationOutputLocation' smart constructor.-newtype InstanceAssociationOutputLocation = InstanceAssociationOutputLocation'-  { _iaolS3Location :: Maybe S3OutputLocation-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAssociationOutputLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iaolS3Location' - An Amazon S3 bucket where you want to store the results of this request.-instanceAssociationOutputLocation-    :: InstanceAssociationOutputLocation-instanceAssociationOutputLocation =-  InstanceAssociationOutputLocation' {_iaolS3Location = Nothing}----- | An Amazon S3 bucket where you want to store the results of this request.-iaolS3Location :: Lens' InstanceAssociationOutputLocation (Maybe S3OutputLocation)-iaolS3Location = lens _iaolS3Location (\ s a -> s{_iaolS3Location = a});--instance FromJSON InstanceAssociationOutputLocation-         where-        parseJSON-          = withObject "InstanceAssociationOutputLocation"-              (\ x ->-                 InstanceAssociationOutputLocation' <$>-                   (x .:? "S3Location"))--instance Hashable InstanceAssociationOutputLocation-         where--instance NFData InstanceAssociationOutputLocation-         where--instance ToJSON InstanceAssociationOutputLocation-         where-        toJSON InstanceAssociationOutputLocation'{..}-          = object-              (catMaybes [("S3Location" .=) <$> _iaolS3Location])---- | The URL of Amazon S3 bucket where you want to store the results of this request.------------ /See:/ 'instanceAssociationOutputURL' smart constructor.-newtype InstanceAssociationOutputURL = InstanceAssociationOutputURL'-  { _iaouS3OutputURL :: Maybe S3OutputURL-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAssociationOutputURL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iaouS3OutputURL' - The URL of Amazon S3 bucket where you want to store the results of this request.-instanceAssociationOutputURL-    :: InstanceAssociationOutputURL-instanceAssociationOutputURL =-  InstanceAssociationOutputURL' {_iaouS3OutputURL = Nothing}----- | The URL of Amazon S3 bucket where you want to store the results of this request.-iaouS3OutputURL :: Lens' InstanceAssociationOutputURL (Maybe S3OutputURL)-iaouS3OutputURL = lens _iaouS3OutputURL (\ s a -> s{_iaouS3OutputURL = a});--instance FromJSON InstanceAssociationOutputURL where-        parseJSON-          = withObject "InstanceAssociationOutputURL"-              (\ x ->-                 InstanceAssociationOutputURL' <$>-                   (x .:? "S3OutputUrl"))--instance Hashable InstanceAssociationOutputURL where--instance NFData InstanceAssociationOutputURL where---- | Status information about the instance association.------------ /See:/ 'instanceAssociationStatusInfo' smart constructor.-data InstanceAssociationStatusInfo = InstanceAssociationStatusInfo'-  { _iasiAssociationId      :: !(Maybe Text)-  , _iasiInstanceId         :: !(Maybe Text)-  , _iasiDetailedStatus     :: !(Maybe Text)-  , _iasiStatus             :: !(Maybe Text)-  , _iasiOutputURL          :: !(Maybe InstanceAssociationOutputURL)-  , _iasiExecutionSummary   :: !(Maybe Text)-  , _iasiName               :: !(Maybe Text)-  , _iasiErrorCode          :: !(Maybe Text)-  , _iasiDocumentVersion    :: !(Maybe Text)-  , _iasiAssociationVersion :: !(Maybe Text)-  , _iasiExecutionDate      :: !(Maybe POSIX)-  , _iasiAssociationName    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAssociationStatusInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iasiAssociationId' - The association ID.------ * 'iasiInstanceId' - The instance ID where the association was created.------ * 'iasiDetailedStatus' - Detailed status information about the instance association.------ * 'iasiStatus' - Status information about the instance association.------ * 'iasiOutputURL' - A URL for an Amazon S3 bucket where you want to store the results of this request.------ * 'iasiExecutionSummary' - Summary information about association execution.------ * 'iasiName' - The name of the association.------ * 'iasiErrorCode' - An error code returned by the request to create the association.------ * 'iasiDocumentVersion' - The association document verions.------ * 'iasiAssociationVersion' - The version of the association applied to the instance.------ * 'iasiExecutionDate' - The date the instance association executed.------ * 'iasiAssociationName' - The name of the association applied to the instance.-instanceAssociationStatusInfo-    :: InstanceAssociationStatusInfo-instanceAssociationStatusInfo =-  InstanceAssociationStatusInfo'-  { _iasiAssociationId = Nothing-  , _iasiInstanceId = Nothing-  , _iasiDetailedStatus = Nothing-  , _iasiStatus = Nothing-  , _iasiOutputURL = Nothing-  , _iasiExecutionSummary = Nothing-  , _iasiName = Nothing-  , _iasiErrorCode = Nothing-  , _iasiDocumentVersion = Nothing-  , _iasiAssociationVersion = Nothing-  , _iasiExecutionDate = Nothing-  , _iasiAssociationName = Nothing-  }----- | The association ID.-iasiAssociationId :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiAssociationId = lens _iasiAssociationId (\ s a -> s{_iasiAssociationId = a});---- | The instance ID where the association was created.-iasiInstanceId :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiInstanceId = lens _iasiInstanceId (\ s a -> s{_iasiInstanceId = a});---- | Detailed status information about the instance association.-iasiDetailedStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiDetailedStatus = lens _iasiDetailedStatus (\ s a -> s{_iasiDetailedStatus = a});---- | Status information about the instance association.-iasiStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiStatus = lens _iasiStatus (\ s a -> s{_iasiStatus = a});---- | A URL for an Amazon S3 bucket where you want to store the results of this request.-iasiOutputURL :: Lens' InstanceAssociationStatusInfo (Maybe InstanceAssociationOutputURL)-iasiOutputURL = lens _iasiOutputURL (\ s a -> s{_iasiOutputURL = a});---- | Summary information about association execution.-iasiExecutionSummary :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiExecutionSummary = lens _iasiExecutionSummary (\ s a -> s{_iasiExecutionSummary = a});---- | The name of the association.-iasiName :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiName = lens _iasiName (\ s a -> s{_iasiName = a});---- | An error code returned by the request to create the association.-iasiErrorCode :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiErrorCode = lens _iasiErrorCode (\ s a -> s{_iasiErrorCode = a});---- | The association document verions.-iasiDocumentVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiDocumentVersion = lens _iasiDocumentVersion (\ s a -> s{_iasiDocumentVersion = a});---- | The version of the association applied to the instance.-iasiAssociationVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiAssociationVersion = lens _iasiAssociationVersion (\ s a -> s{_iasiAssociationVersion = a});---- | The date the instance association executed.-iasiExecutionDate :: Lens' InstanceAssociationStatusInfo (Maybe UTCTime)-iasiExecutionDate = lens _iasiExecutionDate (\ s a -> s{_iasiExecutionDate = a}) . mapping _Time;---- | The name of the association applied to the instance.-iasiAssociationName :: Lens' InstanceAssociationStatusInfo (Maybe Text)-iasiAssociationName = lens _iasiAssociationName (\ s a -> s{_iasiAssociationName = a});--instance FromJSON InstanceAssociationStatusInfo where-        parseJSON-          = withObject "InstanceAssociationStatusInfo"-              (\ x ->-                 InstanceAssociationStatusInfo' <$>-                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>-                     (x .:? "DetailedStatus")-                     <*> (x .:? "Status")-                     <*> (x .:? "OutputUrl")-                     <*> (x .:? "ExecutionSummary")-                     <*> (x .:? "Name")-                     <*> (x .:? "ErrorCode")-                     <*> (x .:? "DocumentVersion")-                     <*> (x .:? "AssociationVersion")-                     <*> (x .:? "ExecutionDate")-                     <*> (x .:? "AssociationName"))--instance Hashable InstanceAssociationStatusInfo where--instance NFData InstanceAssociationStatusInfo where---- | Describes a filter for a specific list of instances.------------ /See:/ 'instanceInformation' smart constructor.-data InstanceInformation = InstanceInformation'-  { _iiInstanceId :: !(Maybe Text)-  , _iiPingStatus :: !(Maybe PingStatus)-  , _iiIPAddress :: !(Maybe Text)-  , _iiResourceType :: !(Maybe ResourceType)-  , _iiRegistrationDate :: !(Maybe POSIX)-  , _iiPlatformVersion :: !(Maybe Text)-  , _iiIsLatestVersion :: !(Maybe Bool)-  , _iiAgentVersion :: !(Maybe Text)-  , _iiLastPingDateTime :: !(Maybe POSIX)-  , _iiLastSuccessfulAssociationExecutionDate :: !(Maybe POSIX)-  , _iiActivationId :: !(Maybe Text)-  , _iiName :: !(Maybe Text)-  , _iiPlatformType :: !(Maybe PlatformType)-  , _iiAssociationOverview :: !(Maybe InstanceAggregatedAssociationOverview)-  , _iiAssociationStatus :: !(Maybe Text)-  , _iiLastAssociationExecutionDate :: !(Maybe POSIX)-  , _iiPlatformName :: !(Maybe Text)-  , _iiComputerName :: !(Maybe Text)-  , _iiIAMRole :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceInformation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiInstanceId' - The instance ID.------ * 'iiPingStatus' - Connection status of the SSM Agent.------ * 'iiIPAddress' - The IP address of the managed instance.------ * 'iiResourceType' - The type of instance. Instances are either EC2 instances or managed instances.------ * 'iiRegistrationDate' - The date the server or VM was registered with AWS as a managed instance.------ * 'iiPlatformVersion' - The version of the OS platform running on your instance.------ * 'iiIsLatestVersion' - Indicates whether latest version of the SSM Agent is running on your instance.------ * 'iiAgentVersion' - The version of the SSM Agent running on your Linux instance.------ * 'iiLastPingDateTime' - The date and time when agent last pinged Systems Manager service.------ * 'iiLastSuccessfulAssociationExecutionDate' - The last date the association was successfully run.------ * 'iiActivationId' - The activation ID created by Systems Manager when the server or VM was registered.------ * 'iiName' - The name of the managed instance.------ * 'iiPlatformType' - The operating system platform type.------ * 'iiAssociationOverview' - Information about the association.------ * 'iiAssociationStatus' - The status of the association.------ * 'iiLastAssociationExecutionDate' - The date the association was last executed.------ * 'iiPlatformName' - The name of the operating system platform running on your instance.------ * 'iiComputerName' - The fully qualified host name of the managed instance.------ * 'iiIAMRole' - The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances.-instanceInformation-    :: InstanceInformation-instanceInformation =-  InstanceInformation'-  { _iiInstanceId = Nothing-  , _iiPingStatus = Nothing-  , _iiIPAddress = Nothing-  , _iiResourceType = Nothing-  , _iiRegistrationDate = Nothing-  , _iiPlatformVersion = Nothing-  , _iiIsLatestVersion = Nothing-  , _iiAgentVersion = Nothing-  , _iiLastPingDateTime = Nothing-  , _iiLastSuccessfulAssociationExecutionDate = Nothing-  , _iiActivationId = Nothing-  , _iiName = Nothing-  , _iiPlatformType = Nothing-  , _iiAssociationOverview = Nothing-  , _iiAssociationStatus = Nothing-  , _iiLastAssociationExecutionDate = Nothing-  , _iiPlatformName = Nothing-  , _iiComputerName = Nothing-  , _iiIAMRole = Nothing-  }----- | The instance ID.-iiInstanceId :: Lens' InstanceInformation (Maybe Text)-iiInstanceId = lens _iiInstanceId (\ s a -> s{_iiInstanceId = a});---- | Connection status of the SSM Agent.-iiPingStatus :: Lens' InstanceInformation (Maybe PingStatus)-iiPingStatus = lens _iiPingStatus (\ s a -> s{_iiPingStatus = a});---- | The IP address of the managed instance.-iiIPAddress :: Lens' InstanceInformation (Maybe Text)-iiIPAddress = lens _iiIPAddress (\ s a -> s{_iiIPAddress = a});---- | The type of instance. Instances are either EC2 instances or managed instances.-iiResourceType :: Lens' InstanceInformation (Maybe ResourceType)-iiResourceType = lens _iiResourceType (\ s a -> s{_iiResourceType = a});---- | The date the server or VM was registered with AWS as a managed instance.-iiRegistrationDate :: Lens' InstanceInformation (Maybe UTCTime)-iiRegistrationDate = lens _iiRegistrationDate (\ s a -> s{_iiRegistrationDate = a}) . mapping _Time;---- | The version of the OS platform running on your instance.-iiPlatformVersion :: Lens' InstanceInformation (Maybe Text)-iiPlatformVersion = lens _iiPlatformVersion (\ s a -> s{_iiPlatformVersion = a});---- | Indicates whether latest version of the SSM Agent is running on your instance.-iiIsLatestVersion :: Lens' InstanceInformation (Maybe Bool)-iiIsLatestVersion = lens _iiIsLatestVersion (\ s a -> s{_iiIsLatestVersion = a});---- | The version of the SSM Agent running on your Linux instance.-iiAgentVersion :: Lens' InstanceInformation (Maybe Text)-iiAgentVersion = lens _iiAgentVersion (\ s a -> s{_iiAgentVersion = a});---- | The date and time when agent last pinged Systems Manager service.-iiLastPingDateTime :: Lens' InstanceInformation (Maybe UTCTime)-iiLastPingDateTime = lens _iiLastPingDateTime (\ s a -> s{_iiLastPingDateTime = a}) . mapping _Time;---- | The last date the association was successfully run.-iiLastSuccessfulAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)-iiLastSuccessfulAssociationExecutionDate = lens _iiLastSuccessfulAssociationExecutionDate (\ s a -> s{_iiLastSuccessfulAssociationExecutionDate = a}) . mapping _Time;---- | The activation ID created by Systems Manager when the server or VM was registered.-iiActivationId :: Lens' InstanceInformation (Maybe Text)-iiActivationId = lens _iiActivationId (\ s a -> s{_iiActivationId = a});---- | The name of the managed instance.-iiName :: Lens' InstanceInformation (Maybe Text)-iiName = lens _iiName (\ s a -> s{_iiName = a});---- | The operating system platform type.-iiPlatformType :: Lens' InstanceInformation (Maybe PlatformType)-iiPlatformType = lens _iiPlatformType (\ s a -> s{_iiPlatformType = a});---- | Information about the association.-iiAssociationOverview :: Lens' InstanceInformation (Maybe InstanceAggregatedAssociationOverview)-iiAssociationOverview = lens _iiAssociationOverview (\ s a -> s{_iiAssociationOverview = a});---- | The status of the association.-iiAssociationStatus :: Lens' InstanceInformation (Maybe Text)-iiAssociationStatus = lens _iiAssociationStatus (\ s a -> s{_iiAssociationStatus = a});---- | The date the association was last executed.-iiLastAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)-iiLastAssociationExecutionDate = lens _iiLastAssociationExecutionDate (\ s a -> s{_iiLastAssociationExecutionDate = a}) . mapping _Time;---- | The name of the operating system platform running on your instance.-iiPlatformName :: Lens' InstanceInformation (Maybe Text)-iiPlatformName = lens _iiPlatformName (\ s a -> s{_iiPlatformName = a});---- | The fully qualified host name of the managed instance.-iiComputerName :: Lens' InstanceInformation (Maybe Text)-iiComputerName = lens _iiComputerName (\ s a -> s{_iiComputerName = a});---- | The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances.-iiIAMRole :: Lens' InstanceInformation (Maybe Text)-iiIAMRole = lens _iiIAMRole (\ s a -> s{_iiIAMRole = a});--instance FromJSON InstanceInformation where-        parseJSON-          = withObject "InstanceInformation"-              (\ x ->-                 InstanceInformation' <$>-                   (x .:? "InstanceId") <*> (x .:? "PingStatus") <*>-                     (x .:? "IPAddress")-                     <*> (x .:? "ResourceType")-                     <*> (x .:? "RegistrationDate")-                     <*> (x .:? "PlatformVersion")-                     <*> (x .:? "IsLatestVersion")-                     <*> (x .:? "AgentVersion")-                     <*> (x .:? "LastPingDateTime")-                     <*> (x .:? "LastSuccessfulAssociationExecutionDate")-                     <*> (x .:? "ActivationId")-                     <*> (x .:? "Name")-                     <*> (x .:? "PlatformType")-                     <*> (x .:? "AssociationOverview")-                     <*> (x .:? "AssociationStatus")-                     <*> (x .:? "LastAssociationExecutionDate")-                     <*> (x .:? "PlatformName")-                     <*> (x .:? "ComputerName")-                     <*> (x .:? "IamRole"))--instance Hashable InstanceInformation where--instance NFData InstanceInformation where---- | Describes a filter for a specific list of instances.------------ /See:/ 'instanceInformationFilter' smart constructor.-data InstanceInformationFilter = InstanceInformationFilter'-  { _iifKey      :: !InstanceInformationFilterKey-  , _iifValueSet :: !(List1 Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceInformationFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iifKey' - The name of the filter.------ * 'iifValueSet' - The filter values.-instanceInformationFilter-    :: InstanceInformationFilterKey -- ^ 'iifKey'-    -> NonEmpty Text -- ^ 'iifValueSet'-    -> InstanceInformationFilter-instanceInformationFilter pKey_ pValueSet_ =-  InstanceInformationFilter'-  {_iifKey = pKey_, _iifValueSet = _List1 # pValueSet_}----- | The name of the filter.-iifKey :: Lens' InstanceInformationFilter InstanceInformationFilterKey-iifKey = lens _iifKey (\ s a -> s{_iifKey = a});---- | The filter values.-iifValueSet :: Lens' InstanceInformationFilter (NonEmpty Text)-iifValueSet = lens _iifValueSet (\ s a -> s{_iifValueSet = a}) . _List1;--instance Hashable InstanceInformationFilter where--instance NFData InstanceInformationFilter where--instance ToJSON InstanceInformationFilter where-        toJSON InstanceInformationFilter'{..}-          = object-              (catMaybes-                 [Just ("key" .= _iifKey),-                  Just ("valueSet" .= _iifValueSet)])---- | The filters to describe or get information about your managed instances.------------ /See:/ 'instanceInformationStringFilter' smart constructor.-data InstanceInformationStringFilter = InstanceInformationStringFilter'-  { _iisfKey    :: !Text-  , _iisfValues :: !(List1 Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceInformationStringFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iisfKey' - The filter key name to describe your instances. For example: "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key"------ * 'iisfValues' - The filter values.-instanceInformationStringFilter-    :: Text -- ^ 'iisfKey'-    -> NonEmpty Text -- ^ 'iisfValues'-    -> InstanceInformationStringFilter-instanceInformationStringFilter pKey_ pValues_ =-  InstanceInformationStringFilter'-  {_iisfKey = pKey_, _iisfValues = _List1 # pValues_}----- | The filter key name to describe your instances. For example: "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key"-iisfKey :: Lens' InstanceInformationStringFilter Text-iisfKey = lens _iisfKey (\ s a -> s{_iisfKey = a});---- | The filter values.-iisfValues :: Lens' InstanceInformationStringFilter (NonEmpty Text)-iisfValues = lens _iisfValues (\ s a -> s{_iisfValues = a}) . _List1;--instance Hashable InstanceInformationStringFilter-         where--instance NFData InstanceInformationStringFilter where--instance ToJSON InstanceInformationStringFilter where-        toJSON InstanceInformationStringFilter'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _iisfKey),-                  Just ("Values" .= _iisfValues)])---- | 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.------------ /See:/ 'instancePatchState' smart constructor.-data InstancePatchState = InstancePatchState'-  { _ipsOwnerInformation    :: !(Maybe (Sensitive Text))-  , _ipsFailedCount         :: !(Maybe Int)-  , _ipsInstalledOtherCount :: !(Maybe Int)-  , _ipsMissingCount        :: !(Maybe Int)-  , _ipsNotApplicableCount  :: !(Maybe Int)-  , _ipsInstalledCount      :: !(Maybe Int)-  , _ipsSnapshotId          :: !(Maybe Text)-  , _ipsInstanceId          :: !Text-  , _ipsPatchGroup          :: !Text-  , _ipsBaselineId          :: !Text-  , _ipsOperationStartTime  :: !POSIX-  , _ipsOperationEndTime    :: !POSIX-  , _ipsOperation           :: !PatchOperationType-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InstancePatchState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipsOwnerInformation' - Placeholder information, this field will always be empty in the current release of the service.------ * 'ipsFailedCount' - The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.------ * 'ipsInstalledOtherCount' - The number of patches not specified in the patch baseline that are installed on the instance.------ * 'ipsMissingCount' - The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.------ * 'ipsNotApplicableCount' - The number of patches from the patch baseline that aren't applicable for the instance and hence aren't installed on the instance.------ * 'ipsInstalledCount' - The number of patches from the patch baseline that are installed on the instance.------ * 'ipsSnapshotId' - The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.------ * 'ipsInstanceId' - The ID of the managed instance the high-level patch compliance information was collected for.------ * 'ipsPatchGroup' - The name of the patch group the managed instance belongs to.------ * 'ipsBaselineId' - The ID of the patch baseline used to patch the instance.------ * 'ipsOperationStartTime' - The time the most recent patching operation was started on the instance.------ * 'ipsOperationEndTime' - The time the most recent patching operation completed on the instance.------ * 'ipsOperation' - The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).-instancePatchState-    :: Text -- ^ 'ipsInstanceId'-    -> Text -- ^ 'ipsPatchGroup'-    -> Text -- ^ 'ipsBaselineId'-    -> UTCTime -- ^ 'ipsOperationStartTime'-    -> UTCTime -- ^ 'ipsOperationEndTime'-    -> PatchOperationType -- ^ 'ipsOperation'-    -> InstancePatchState-instancePatchState pInstanceId_ pPatchGroup_ pBaselineId_ pOperationStartTime_ pOperationEndTime_ pOperation_ =-  InstancePatchState'-  { _ipsOwnerInformation = Nothing-  , _ipsFailedCount = Nothing-  , _ipsInstalledOtherCount = Nothing-  , _ipsMissingCount = Nothing-  , _ipsNotApplicableCount = Nothing-  , _ipsInstalledCount = Nothing-  , _ipsSnapshotId = Nothing-  , _ipsInstanceId = pInstanceId_-  , _ipsPatchGroup = pPatchGroup_-  , _ipsBaselineId = pBaselineId_-  , _ipsOperationStartTime = _Time # pOperationStartTime_-  , _ipsOperationEndTime = _Time # pOperationEndTime_-  , _ipsOperation = pOperation_-  }----- | Placeholder information, this field will always be empty in the current release of the service.-ipsOwnerInformation :: Lens' InstancePatchState (Maybe Text)-ipsOwnerInformation = lens _ipsOwnerInformation (\ s a -> s{_ipsOwnerInformation = a}) . mapping _Sensitive;---- | 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)-ipsFailedCount = lens _ipsFailedCount (\ s a -> s{_ipsFailedCount = a});---- | The number of patches not specified in the patch baseline that are installed on the instance.-ipsInstalledOtherCount :: Lens' InstancePatchState (Maybe Int)-ipsInstalledOtherCount = lens _ipsInstalledOtherCount (\ s a -> s{_ipsInstalledOtherCount = a});---- | The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.-ipsMissingCount :: Lens' InstancePatchState (Maybe Int)-ipsMissingCount = lens _ipsMissingCount (\ s a -> s{_ipsMissingCount = a});---- | 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)-ipsNotApplicableCount = lens _ipsNotApplicableCount (\ s a -> s{_ipsNotApplicableCount = a});---- | The number of patches from the patch baseline that are installed on the instance.-ipsInstalledCount :: Lens' InstancePatchState (Maybe Int)-ipsInstalledCount = lens _ipsInstalledCount (\ s a -> s{_ipsInstalledCount = a});---- | The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.-ipsSnapshotId :: Lens' InstancePatchState (Maybe Text)-ipsSnapshotId = lens _ipsSnapshotId (\ s a -> s{_ipsSnapshotId = a});---- | The ID of the managed instance the high-level patch compliance information was collected for.-ipsInstanceId :: Lens' InstancePatchState Text-ipsInstanceId = lens _ipsInstanceId (\ s a -> s{_ipsInstanceId = a});---- | The name of the patch group the managed instance belongs to.-ipsPatchGroup :: Lens' InstancePatchState Text-ipsPatchGroup = lens _ipsPatchGroup (\ s a -> s{_ipsPatchGroup = a});---- | The ID of the patch baseline used to patch the instance.-ipsBaselineId :: Lens' InstancePatchState Text-ipsBaselineId = lens _ipsBaselineId (\ s a -> s{_ipsBaselineId = a});---- | The time the most recent patching operation was started on the instance.-ipsOperationStartTime :: Lens' InstancePatchState UTCTime-ipsOperationStartTime = lens _ipsOperationStartTime (\ s a -> s{_ipsOperationStartTime = a}) . _Time;---- | The time the most recent patching operation completed on the instance.-ipsOperationEndTime :: Lens' InstancePatchState UTCTime-ipsOperationEndTime = lens _ipsOperationEndTime (\ s a -> s{_ipsOperationEndTime = a}) . _Time;---- | The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).-ipsOperation :: Lens' InstancePatchState PatchOperationType-ipsOperation = lens _ipsOperation (\ s a -> s{_ipsOperation = a});--instance FromJSON InstancePatchState where-        parseJSON-          = withObject "InstancePatchState"-              (\ x ->-                 InstancePatchState' <$>-                   (x .:? "OwnerInformation") <*> (x .:? "FailedCount")-                     <*> (x .:? "InstalledOtherCount")-                     <*> (x .:? "MissingCount")-                     <*> (x .:? "NotApplicableCount")-                     <*> (x .:? "InstalledCount")-                     <*> (x .:? "SnapshotId")-                     <*> (x .: "InstanceId")-                     <*> (x .: "PatchGroup")-                     <*> (x .: "BaselineId")-                     <*> (x .: "OperationStartTime")-                     <*> (x .: "OperationEndTime")-                     <*> (x .: "Operation"))--instance Hashable InstancePatchState where--instance NFData InstancePatchState where---- | Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the information returned by the API.------------ /See:/ 'instancePatchStateFilter' smart constructor.-data InstancePatchStateFilter = InstancePatchStateFilter'-  { _ipsfKey    :: !Text-  , _ipsfValues :: !(List1 Text)-  , _ipsfType   :: !InstancePatchStateOperatorType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstancePatchStateFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipsfKey' - The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.------ * 'ipsfValues' - The value for the filter, must be an integer greater than or equal to 0.------ * 'ipsfType' - The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.-instancePatchStateFilter-    :: Text -- ^ 'ipsfKey'-    -> NonEmpty Text -- ^ 'ipsfValues'-    -> InstancePatchStateOperatorType -- ^ 'ipsfType'-    -> InstancePatchStateFilter-instancePatchStateFilter pKey_ pValues_ pType_ =-  InstancePatchStateFilter'-  {_ipsfKey = pKey_, _ipsfValues = _List1 # pValues_, _ipsfType = pType_}----- | The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.-ipsfKey :: Lens' InstancePatchStateFilter Text-ipsfKey = lens _ipsfKey (\ s a -> s{_ipsfKey = a});---- | The value for the filter, must be an integer greater than or equal to 0.-ipsfValues :: Lens' InstancePatchStateFilter (NonEmpty Text)-ipsfValues = lens _ipsfValues (\ s a -> s{_ipsfValues = a}) . _List1;---- | The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.-ipsfType :: Lens' InstancePatchStateFilter InstancePatchStateOperatorType-ipsfType = lens _ipsfType (\ s a -> s{_ipsfType = a});--instance Hashable InstancePatchStateFilter where--instance NFData InstancePatchStateFilter where--instance ToJSON InstancePatchStateFilter where-        toJSON InstancePatchStateFilter'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _ipsfKey),-                  Just ("Values" .= _ipsfValues),-                  Just ("Type" .= _ipsfType)])---- | One or more filters. Use a filter to return a more specific list of results.------------ /See:/ 'inventoryFilter' smart constructor.-data InventoryFilter = InventoryFilter'-  { _ifType   :: !(Maybe InventoryQueryOperatorType)-  , _ifKey    :: !Text-  , _ifValues :: !(List1 Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ifType' - The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"------ * 'ifKey' - The name of the filter key.------ * 'ifValues' - Inventory filter values. Example: inventory filter where instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal-inventoryFilter-    :: Text -- ^ 'ifKey'-    -> NonEmpty Text -- ^ 'ifValues'-    -> InventoryFilter-inventoryFilter pKey_ pValues_ =-  InventoryFilter'-  {_ifType = Nothing, _ifKey = pKey_, _ifValues = _List1 # pValues_}----- | The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"-ifType :: Lens' InventoryFilter (Maybe InventoryQueryOperatorType)-ifType = lens _ifType (\ s a -> s{_ifType = a});---- | The name of the filter key.-ifKey :: Lens' InventoryFilter Text-ifKey = lens _ifKey (\ s a -> s{_ifKey = 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-ifValues :: Lens' InventoryFilter (NonEmpty Text)-ifValues = lens _ifValues (\ s a -> s{_ifValues = a}) . _List1;--instance Hashable InventoryFilter where--instance NFData InventoryFilter where--instance ToJSON InventoryFilter where-        toJSON InventoryFilter'{..}-          = object-              (catMaybes-                 [("Type" .=) <$> _ifType, Just ("Key" .= _ifKey),-                  Just ("Values" .= _ifValues)])---- | Information collected from managed instances based on your inventory policy document------------ /See:/ 'inventoryItem' smart constructor.-data InventoryItem = InventoryItem'-  { _iiContext       :: !(Maybe (Map Text Text))-  , _iiContentHash   :: !(Maybe Text)-  , _iiContent       :: !(Maybe [Map Text Text])-  , _iiTypeName      :: !Text-  , _iiSchemaVersion :: !Text-  , _iiCaptureTime   :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiContext' - A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the @ExecutionId@ , @ExecutionType@ , @ComplianceType@ properties of the @AWS:ComplianceItem@ type.------ * 'iiContentHash' - 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.------ * 'iiContent' - The inventory data of the inventory type.------ * 'iiTypeName' - 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.------ * 'iiSchemaVersion' - The schema version for the inventory item.------ * 'iiCaptureTime' - The time the inventory information was collected.-inventoryItem-    :: Text -- ^ 'iiTypeName'-    -> Text -- ^ 'iiSchemaVersion'-    -> Text -- ^ 'iiCaptureTime'-    -> InventoryItem-inventoryItem pTypeName_ pSchemaVersion_ pCaptureTime_ =-  InventoryItem'-  { _iiContext = Nothing-  , _iiContentHash = Nothing-  , _iiContent = Nothing-  , _iiTypeName = pTypeName_-  , _iiSchemaVersion = pSchemaVersion_-  , _iiCaptureTime = pCaptureTime_-  }----- | A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the @ExecutionId@ , @ExecutionType@ , @ComplianceType@ properties of the @AWS:ComplianceItem@ type.-iiContext :: Lens' InventoryItem (HashMap Text Text)-iiContext = lens _iiContext (\ s a -> s{_iiContext = a}) . _Default . _Map;---- | 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)-iiContentHash = lens _iiContentHash (\ s a -> s{_iiContentHash = a});---- | The inventory data of the inventory type.-iiContent :: Lens' InventoryItem [HashMap Text Text]-iiContent = lens _iiContent (\ s a -> s{_iiContent = a}) . _Default . _Coerce;---- | 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-iiTypeName = lens _iiTypeName (\ s a -> s{_iiTypeName = a});---- | The schema version for the inventory item.-iiSchemaVersion :: Lens' InventoryItem Text-iiSchemaVersion = lens _iiSchemaVersion (\ s a -> s{_iiSchemaVersion = a});---- | The time the inventory information was collected.-iiCaptureTime :: Lens' InventoryItem Text-iiCaptureTime = lens _iiCaptureTime (\ s a -> s{_iiCaptureTime = a});--instance Hashable InventoryItem where--instance NFData InventoryItem where--instance ToJSON InventoryItem where-        toJSON InventoryItem'{..}-          = object-              (catMaybes-                 [("Context" .=) <$> _iiContext,-                  ("ContentHash" .=) <$> _iiContentHash,-                  ("Content" .=) <$> _iiContent,-                  Just ("TypeName" .= _iiTypeName),-                  Just ("SchemaVersion" .= _iiSchemaVersion),-                  Just ("CaptureTime" .= _iiCaptureTime)])---- | Attributes are the entries within the inventory item content. It contains name and value.------------ /See:/ 'inventoryItemAttribute' smart constructor.-data InventoryItemAttribute = InventoryItemAttribute'-  { _iiaName     :: !Text-  , _iiaDataType :: !InventoryAttributeDataType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryItemAttribute' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiaName' - Name of the inventory item attribute.------ * 'iiaDataType' - The data type of the inventory item attribute.-inventoryItemAttribute-    :: Text -- ^ 'iiaName'-    -> InventoryAttributeDataType -- ^ 'iiaDataType'-    -> InventoryItemAttribute-inventoryItemAttribute pName_ pDataType_ =-  InventoryItemAttribute' {_iiaName = pName_, _iiaDataType = pDataType_}----- | Name of the inventory item attribute.-iiaName :: Lens' InventoryItemAttribute Text-iiaName = lens _iiaName (\ s a -> s{_iiaName = a});---- | The data type of the inventory item attribute.-iiaDataType :: Lens' InventoryItemAttribute InventoryAttributeDataType-iiaDataType = lens _iiaDataType (\ s a -> s{_iiaDataType = a});--instance FromJSON InventoryItemAttribute where-        parseJSON-          = withObject "InventoryItemAttribute"-              (\ x ->-                 InventoryItemAttribute' <$>-                   (x .: "Name") <*> (x .: "DataType"))--instance Hashable InventoryItemAttribute where--instance NFData InventoryItemAttribute where---- | The inventory item schema definition. Users can use this to compose inventory query filters.------------ /See:/ 'inventoryItemSchema' smart constructor.-data InventoryItemSchema = InventoryItemSchema'-  { _iisVersion    :: !(Maybe Text)-  , _iisTypeName   :: !Text-  , _iisAttributes :: !(List1 InventoryItemAttribute)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryItemSchema' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iisVersion' - The schema version for the inventory item.------ * 'iisTypeName' - 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.------ * 'iisAttributes' - The schema attributes for inventory. This contains data type and attribute name.-inventoryItemSchema-    :: Text -- ^ 'iisTypeName'-    -> NonEmpty InventoryItemAttribute -- ^ 'iisAttributes'-    -> InventoryItemSchema-inventoryItemSchema pTypeName_ pAttributes_ =-  InventoryItemSchema'-  { _iisVersion = Nothing-  , _iisTypeName = pTypeName_-  , _iisAttributes = _List1 # pAttributes_-  }----- | The schema version for the inventory item.-iisVersion :: Lens' InventoryItemSchema (Maybe Text)-iisVersion = lens _iisVersion (\ s a -> s{_iisVersion = 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.-iisTypeName :: Lens' InventoryItemSchema Text-iisTypeName = lens _iisTypeName (\ s a -> s{_iisTypeName = a});---- | The schema attributes for inventory. This contains data type and attribute name.-iisAttributes :: Lens' InventoryItemSchema (NonEmpty InventoryItemAttribute)-iisAttributes = lens _iisAttributes (\ s a -> s{_iisAttributes = a}) . _List1;--instance FromJSON InventoryItemSchema where-        parseJSON-          = withObject "InventoryItemSchema"-              (\ x ->-                 InventoryItemSchema' <$>-                   (x .:? "Version") <*> (x .: "TypeName") <*>-                     (x .: "Attributes"))--instance Hashable InventoryItemSchema where--instance NFData InventoryItemSchema where---- | Inventory query results.------------ /See:/ 'inventoryResultEntity' smart constructor.-data InventoryResultEntity = InventoryResultEntity'-  { _ireData :: !(Maybe (Map Text InventoryResultItem))-  , _ireId   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryResultEntity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ireData' - The data section in the inventory result entity json.------ * 'ireId' - 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.-inventoryResultEntity-    :: InventoryResultEntity-inventoryResultEntity =-  InventoryResultEntity' {_ireData = Nothing, _ireId = Nothing}----- | The data section in the inventory result entity json.-ireData :: Lens' InventoryResultEntity (HashMap Text InventoryResultItem)-ireData = lens _ireData (\ s a -> s{_ireData = a}) . _Default . _Map;---- | 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)-ireId = lens _ireId (\ s a -> s{_ireId = a});--instance FromJSON InventoryResultEntity where-        parseJSON-          = withObject "InventoryResultEntity"-              (\ x ->-                 InventoryResultEntity' <$>-                   (x .:? "Data" .!= mempty) <*> (x .:? "Id"))--instance Hashable InventoryResultEntity where--instance NFData InventoryResultEntity where---- | The inventory result item.------------ /See:/ 'inventoryResultItem' smart constructor.-data InventoryResultItem = InventoryResultItem'-  { _iriContentHash   :: !(Maybe Text)-  , _iriCaptureTime   :: !(Maybe Text)-  , _iriTypeName      :: !Text-  , _iriSchemaVersion :: !Text-  , _iriContent       :: ![Map Text Text]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryResultItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iriContentHash' - 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.------ * 'iriCaptureTime' - The time inventory item data was captured.------ * 'iriTypeName' - The name of the inventory result item type.------ * 'iriSchemaVersion' - The schema version for the inventory result item/------ * 'iriContent' - Contains all the inventory data of the item type. Results include attribute names and values.-inventoryResultItem-    :: Text -- ^ 'iriTypeName'-    -> Text -- ^ 'iriSchemaVersion'-    -> InventoryResultItem-inventoryResultItem pTypeName_ pSchemaVersion_ =-  InventoryResultItem'-  { _iriContentHash = Nothing-  , _iriCaptureTime = Nothing-  , _iriTypeName = pTypeName_-  , _iriSchemaVersion = pSchemaVersion_-  , _iriContent = mempty-  }----- | 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)-iriContentHash = lens _iriContentHash (\ s a -> s{_iriContentHash = a});---- | The time inventory item data was captured.-iriCaptureTime :: Lens' InventoryResultItem (Maybe Text)-iriCaptureTime = lens _iriCaptureTime (\ s a -> s{_iriCaptureTime = a});---- | The name of the inventory result item type.-iriTypeName :: Lens' InventoryResultItem Text-iriTypeName = lens _iriTypeName (\ s a -> s{_iriTypeName = a});---- | The schema version for the inventory result item/-iriSchemaVersion :: Lens' InventoryResultItem Text-iriSchemaVersion = lens _iriSchemaVersion (\ s a -> s{_iriSchemaVersion = a});---- | Contains all the inventory data of the item type. Results include attribute names and values.-iriContent :: Lens' InventoryResultItem [HashMap Text Text]-iriContent = lens _iriContent (\ s a -> s{_iriContent = a}) . _Coerce;--instance FromJSON InventoryResultItem where-        parseJSON-          = withObject "InventoryResultItem"-              (\ x ->-                 InventoryResultItem' <$>-                   (x .:? "ContentHash") <*> (x .:? "CaptureTime") <*>-                     (x .: "TypeName")-                     <*> (x .: "SchemaVersion")-                     <*> (x .:? "Content" .!= mempty))--instance Hashable InventoryResultItem where--instance NFData InventoryResultItem where---- | Information about an Amazon S3 bucket to write instance-level logs to.------------ /See:/ 'loggingInfo' smart constructor.-data LoggingInfo = LoggingInfo'-  { _liS3KeyPrefix  :: !(Maybe Text)-  , _liS3BucketName :: !Text-  , _liS3Region     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LoggingInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'liS3KeyPrefix' - (Optional) The Amazon S3 bucket subfolder.------ * 'liS3BucketName' - The name of an Amazon S3 bucket where execution logs are stored .------ * 'liS3Region' - The region where the Amazon S3 bucket is located.-loggingInfo-    :: Text -- ^ 'liS3BucketName'-    -> Text -- ^ 'liS3Region'-    -> LoggingInfo-loggingInfo pS3BucketName_ pS3Region_ =-  LoggingInfo'-  { _liS3KeyPrefix = Nothing-  , _liS3BucketName = pS3BucketName_-  , _liS3Region = pS3Region_-  }----- | (Optional) The Amazon S3 bucket subfolder.-liS3KeyPrefix :: Lens' LoggingInfo (Maybe Text)-liS3KeyPrefix = lens _liS3KeyPrefix (\ s a -> s{_liS3KeyPrefix = a});---- | The name of an Amazon S3 bucket where execution logs are stored .-liS3BucketName :: Lens' LoggingInfo Text-liS3BucketName = lens _liS3BucketName (\ s a -> s{_liS3BucketName = a});---- | The region where the Amazon S3 bucket is located.-liS3Region :: Lens' LoggingInfo Text-liS3Region = lens _liS3Region (\ s a -> s{_liS3Region = a});--instance FromJSON LoggingInfo where-        parseJSON-          = withObject "LoggingInfo"-              (\ x ->-                 LoggingInfo' <$>-                   (x .:? "S3KeyPrefix") <*> (x .: "S3BucketName") <*>-                     (x .: "S3Region"))--instance Hashable LoggingInfo where--instance NFData LoggingInfo where--instance ToJSON LoggingInfo where-        toJSON LoggingInfo'{..}-          = object-              (catMaybes-                 [("S3KeyPrefix" .=) <$> _liS3KeyPrefix,-                  Just ("S3BucketName" .= _liS3BucketName),-                  Just ("S3Region" .= _liS3Region)])---- | The parameters for an AUTOMATION task type.------------ /See:/ 'maintenanceWindowAutomationParameters' smart constructor.-data MaintenanceWindowAutomationParameters = MaintenanceWindowAutomationParameters'-  { _mwapParameters      :: !(Maybe (Map Text [Text]))-  , _mwapDocumentVersion :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowAutomationParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwapParameters' - The parameters for the AUTOMATION task.------ * 'mwapDocumentVersion' - The version of an Automation document to use during task execution.-maintenanceWindowAutomationParameters-    :: MaintenanceWindowAutomationParameters-maintenanceWindowAutomationParameters =-  MaintenanceWindowAutomationParameters'-  {_mwapParameters = Nothing, _mwapDocumentVersion = Nothing}----- | The parameters for the AUTOMATION task.-mwapParameters :: Lens' MaintenanceWindowAutomationParameters (HashMap Text [Text])-mwapParameters = lens _mwapParameters (\ s a -> s{_mwapParameters = a}) . _Default . _Map;---- | The version of an Automation document to use during task execution.-mwapDocumentVersion :: Lens' MaintenanceWindowAutomationParameters (Maybe Text)-mwapDocumentVersion = lens _mwapDocumentVersion (\ s a -> s{_mwapDocumentVersion = a});--instance FromJSON-           MaintenanceWindowAutomationParameters-         where-        parseJSON-          = withObject "MaintenanceWindowAutomationParameters"-              (\ x ->-                 MaintenanceWindowAutomationParameters' <$>-                   (x .:? "Parameters" .!= mempty) <*>-                     (x .:? "DocumentVersion"))--instance Hashable-           MaintenanceWindowAutomationParameters-         where--instance NFData MaintenanceWindowAutomationParameters-         where--instance ToJSON MaintenanceWindowAutomationParameters-         where-        toJSON MaintenanceWindowAutomationParameters'{..}-          = object-              (catMaybes-                 [("Parameters" .=) <$> _mwapParameters,-                  ("DocumentVersion" .=) <$> _mwapDocumentVersion])---- | Describes the information about an execution of a Maintenance Window.------------ /See:/ 'maintenanceWindowExecution' smart constructor.-data MaintenanceWindowExecution = MaintenanceWindowExecution'-  { _mweStatus            :: !(Maybe MaintenanceWindowExecutionStatus)-  , _mweStartTime         :: !(Maybe POSIX)-  , _mweWindowExecutionId :: !(Maybe Text)-  , _mweStatusDetails     :: !(Maybe Text)-  , _mweEndTime           :: !(Maybe POSIX)-  , _mweWindowId          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowExecution' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mweStatus' - The status of the execution.------ * 'mweStartTime' - The time the execution started.------ * 'mweWindowExecutionId' - The ID of the Maintenance Window execution.------ * 'mweStatusDetails' - The details explaining the Status. Only available for certain status values.------ * 'mweEndTime' - The time the execution finished.------ * 'mweWindowId' - The ID of the Maintenance Window.-maintenanceWindowExecution-    :: MaintenanceWindowExecution-maintenanceWindowExecution =-  MaintenanceWindowExecution'-  { _mweStatus = Nothing-  , _mweStartTime = Nothing-  , _mweWindowExecutionId = Nothing-  , _mweStatusDetails = Nothing-  , _mweEndTime = Nothing-  , _mweWindowId = Nothing-  }----- | The status of the execution.-mweStatus :: Lens' MaintenanceWindowExecution (Maybe MaintenanceWindowExecutionStatus)-mweStatus = lens _mweStatus (\ s a -> s{_mweStatus = a});---- | The time the execution started.-mweStartTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)-mweStartTime = lens _mweStartTime (\ s a -> s{_mweStartTime = a}) . mapping _Time;---- | The ID of the Maintenance Window execution.-mweWindowExecutionId :: Lens' MaintenanceWindowExecution (Maybe Text)-mweWindowExecutionId = lens _mweWindowExecutionId (\ s a -> s{_mweWindowExecutionId = a});---- | The details explaining the Status. Only available for certain status values.-mweStatusDetails :: Lens' MaintenanceWindowExecution (Maybe Text)-mweStatusDetails = lens _mweStatusDetails (\ s a -> s{_mweStatusDetails = a});---- | The time the execution finished.-mweEndTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)-mweEndTime = lens _mweEndTime (\ s a -> s{_mweEndTime = a}) . mapping _Time;---- | The ID of the Maintenance Window.-mweWindowId :: Lens' MaintenanceWindowExecution (Maybe Text)-mweWindowId = lens _mweWindowId (\ s a -> s{_mweWindowId = a});--instance FromJSON MaintenanceWindowExecution where-        parseJSON-          = withObject "MaintenanceWindowExecution"-              (\ x ->-                 MaintenanceWindowExecution' <$>-                   (x .:? "Status") <*> (x .:? "StartTime") <*>-                     (x .:? "WindowExecutionId")-                     <*> (x .:? "StatusDetails")-                     <*> (x .:? "EndTime")-                     <*> (x .:? "WindowId"))--instance Hashable MaintenanceWindowExecution where--instance NFData MaintenanceWindowExecution where---- | Information about a task execution performed as part of a Maintenance Window execution.------------ /See:/ 'maintenanceWindowExecutionTaskIdentity' smart constructor.-data MaintenanceWindowExecutionTaskIdentity = MaintenanceWindowExecutionTaskIdentity'-  { _mwetiStatus            :: !(Maybe MaintenanceWindowExecutionStatus)-  , _mwetiTaskExecutionId   :: !(Maybe Text)-  , _mwetiStartTime         :: !(Maybe POSIX)-  , _mwetiTaskType          :: !(Maybe MaintenanceWindowTaskType)-  , _mwetiTaskARN           :: !(Maybe Text)-  , _mwetiWindowExecutionId :: !(Maybe Text)-  , _mwetiStatusDetails     :: !(Maybe Text)-  , _mwetiEndTime           :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowExecutionTaskIdentity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwetiStatus' - The status of the task execution.------ * 'mwetiTaskExecutionId' - The ID of the specific task execution in the Maintenance Window execution.------ * 'mwetiStartTime' - The time the task execution started.------ * 'mwetiTaskType' - The type of executed task.------ * 'mwetiTaskARN' - The ARN of the executed task.------ * 'mwetiWindowExecutionId' - The ID of the Maintenance Window execution that ran the task.------ * 'mwetiStatusDetails' - The details explaining the status of the task execution. Only available for certain status values.------ * 'mwetiEndTime' - The time the task execution finished.-maintenanceWindowExecutionTaskIdentity-    :: MaintenanceWindowExecutionTaskIdentity-maintenanceWindowExecutionTaskIdentity =-  MaintenanceWindowExecutionTaskIdentity'-  { _mwetiStatus = Nothing-  , _mwetiTaskExecutionId = Nothing-  , _mwetiStartTime = Nothing-  , _mwetiTaskType = Nothing-  , _mwetiTaskARN = Nothing-  , _mwetiWindowExecutionId = Nothing-  , _mwetiStatusDetails = Nothing-  , _mwetiEndTime = Nothing-  }----- | The status of the task execution.-mwetiStatus :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowExecutionStatus)-mwetiStatus = lens _mwetiStatus (\ s a -> s{_mwetiStatus = a});---- | The ID of the specific task execution in the Maintenance Window execution.-mwetiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)-mwetiTaskExecutionId = lens _mwetiTaskExecutionId (\ s a -> s{_mwetiTaskExecutionId = a});---- | The time the task execution started.-mwetiStartTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)-mwetiStartTime = lens _mwetiStartTime (\ s a -> s{_mwetiStartTime = a}) . mapping _Time;---- | The type of executed task.-mwetiTaskType :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowTaskType)-mwetiTaskType = lens _mwetiTaskType (\ s a -> s{_mwetiTaskType = a});---- | The ARN of the executed task.-mwetiTaskARN :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)-mwetiTaskARN = lens _mwetiTaskARN (\ s a -> s{_mwetiTaskARN = a});---- | The ID of the Maintenance Window execution that ran the task.-mwetiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)-mwetiWindowExecutionId = lens _mwetiWindowExecutionId (\ s a -> s{_mwetiWindowExecutionId = a});---- | The details explaining the status of the task execution. Only available for certain status values.-mwetiStatusDetails :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)-mwetiStatusDetails = lens _mwetiStatusDetails (\ s a -> s{_mwetiStatusDetails = a});---- | The time the task execution finished.-mwetiEndTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)-mwetiEndTime = lens _mwetiEndTime (\ s a -> s{_mwetiEndTime = a}) . mapping _Time;--instance FromJSON-           MaintenanceWindowExecutionTaskIdentity-         where-        parseJSON-          = withObject "MaintenanceWindowExecutionTaskIdentity"-              (\ x ->-                 MaintenanceWindowExecutionTaskIdentity' <$>-                   (x .:? "Status") <*> (x .:? "TaskExecutionId") <*>-                     (x .:? "StartTime")-                     <*> (x .:? "TaskType")-                     <*> (x .:? "TaskArn")-                     <*> (x .:? "WindowExecutionId")-                     <*> (x .:? "StatusDetails")-                     <*> (x .:? "EndTime"))--instance Hashable-           MaintenanceWindowExecutionTaskIdentity-         where--instance NFData-           MaintenanceWindowExecutionTaskIdentity-         where---- | 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.------------ /See:/ 'maintenanceWindowExecutionTaskInvocationIdentity' smart constructor.-data MaintenanceWindowExecutionTaskInvocationIdentity = MaintenanceWindowExecutionTaskInvocationIdentity'-  { _mwetiiStatus            :: !(Maybe MaintenanceWindowExecutionStatus)-  , _mwetiiExecutionId       :: !(Maybe Text)-  , _mwetiiTaskExecutionId   :: !(Maybe Text)-  , _mwetiiStartTime         :: !(Maybe POSIX)-  , _mwetiiInvocationId      :: !(Maybe Text)-  , _mwetiiOwnerInformation  :: !(Maybe (Sensitive Text))-  , _mwetiiTaskType          :: !(Maybe MaintenanceWindowTaskType)-  , _mwetiiWindowTargetId    :: !(Maybe Text)-  , _mwetiiWindowExecutionId :: !(Maybe Text)-  , _mwetiiStatusDetails     :: !(Maybe Text)-  , _mwetiiEndTime           :: !(Maybe POSIX)-  , _mwetiiParameters        :: !(Maybe (Sensitive Text))-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowExecutionTaskInvocationIdentity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwetiiStatus' - The status of the task invocation.------ * 'mwetiiExecutionId' - 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.------ * 'mwetiiTaskExecutionId' - The ID of the specific task execution in the Maintenance Window execution.------ * 'mwetiiStartTime' - The time the invocation started.------ * 'mwetiiInvocationId' - The ID of the task invocation.------ * 'mwetiiOwnerInformation' - 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.------ * 'mwetiiTaskType' - The task type.------ * 'mwetiiWindowTargetId' - The ID of the target definition in this Maintenance Window the invocation was performed for.------ * 'mwetiiWindowExecutionId' - The ID of the Maintenance Window execution that ran the task.------ * 'mwetiiStatusDetails' - The details explaining the status of the task invocation. Only available for certain Status values.------ * 'mwetiiEndTime' - The time the invocation finished.------ * 'mwetiiParameters' - The parameters that were provided for the invocation when it was executed.-maintenanceWindowExecutionTaskInvocationIdentity-    :: MaintenanceWindowExecutionTaskInvocationIdentity-maintenanceWindowExecutionTaskInvocationIdentity =-  MaintenanceWindowExecutionTaskInvocationIdentity'-  { _mwetiiStatus = Nothing-  , _mwetiiExecutionId = Nothing-  , _mwetiiTaskExecutionId = Nothing-  , _mwetiiStartTime = Nothing-  , _mwetiiInvocationId = Nothing-  , _mwetiiOwnerInformation = Nothing-  , _mwetiiTaskType = Nothing-  , _mwetiiWindowTargetId = Nothing-  , _mwetiiWindowExecutionId = Nothing-  , _mwetiiStatusDetails = Nothing-  , _mwetiiEndTime = Nothing-  , _mwetiiParameters = Nothing-  }----- | The status of the task invocation.-mwetiiStatus :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowExecutionStatus)-mwetiiStatus = lens _mwetiiStatus (\ s a -> s{_mwetiiStatus = 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.-mwetiiExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiExecutionId = lens _mwetiiExecutionId (\ s a -> s{_mwetiiExecutionId = a});---- | The ID of the specific task execution in the Maintenance Window execution.-mwetiiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiTaskExecutionId = lens _mwetiiTaskExecutionId (\ s a -> s{_mwetiiTaskExecutionId = a});---- | The time the invocation started.-mwetiiStartTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)-mwetiiStartTime = lens _mwetiiStartTime (\ s a -> s{_mwetiiStartTime = a}) . mapping _Time;---- | The ID of the task invocation.-mwetiiInvocationId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiInvocationId = lens _mwetiiInvocationId (\ s a -> s{_mwetiiInvocationId = 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.-mwetiiOwnerInformation :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiOwnerInformation = lens _mwetiiOwnerInformation (\ s a -> s{_mwetiiOwnerInformation = a}) . mapping _Sensitive;---- | The task type.-mwetiiTaskType :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowTaskType)-mwetiiTaskType = lens _mwetiiTaskType (\ s a -> s{_mwetiiTaskType = a});---- | The ID of the target definition in this Maintenance Window the invocation was performed for.-mwetiiWindowTargetId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiWindowTargetId = lens _mwetiiWindowTargetId (\ s a -> s{_mwetiiWindowTargetId = a});---- | The ID of the Maintenance Window execution that ran the task.-mwetiiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiWindowExecutionId = lens _mwetiiWindowExecutionId (\ s a -> s{_mwetiiWindowExecutionId = a});---- | The details explaining the status of the task invocation. Only available for certain Status values.-mwetiiStatusDetails :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiStatusDetails = lens _mwetiiStatusDetails (\ s a -> s{_mwetiiStatusDetails = a});---- | The time the invocation finished.-mwetiiEndTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)-mwetiiEndTime = lens _mwetiiEndTime (\ s a -> s{_mwetiiEndTime = a}) . mapping _Time;---- | The parameters that were provided for the invocation when it was executed.-mwetiiParameters :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)-mwetiiParameters = lens _mwetiiParameters (\ s a -> s{_mwetiiParameters = a}) . mapping _Sensitive;--instance FromJSON-           MaintenanceWindowExecutionTaskInvocationIdentity-         where-        parseJSON-          = withObject-              "MaintenanceWindowExecutionTaskInvocationIdentity"-              (\ x ->-                 MaintenanceWindowExecutionTaskInvocationIdentity' <$>-                   (x .:? "Status") <*> (x .:? "ExecutionId") <*>-                     (x .:? "TaskExecutionId")-                     <*> (x .:? "StartTime")-                     <*> (x .:? "InvocationId")-                     <*> (x .:? "OwnerInformation")-                     <*> (x .:? "TaskType")-                     <*> (x .:? "WindowTargetId")-                     <*> (x .:? "WindowExecutionId")-                     <*> (x .:? "StatusDetails")-                     <*> (x .:? "EndTime")-                     <*> (x .:? "Parameters"))--instance Hashable-           MaintenanceWindowExecutionTaskInvocationIdentity-         where--instance NFData-           MaintenanceWindowExecutionTaskInvocationIdentity-         where---- | Filter used in the request.------------ /See:/ 'maintenanceWindowFilter' smart constructor.-data MaintenanceWindowFilter = MaintenanceWindowFilter'-  { _mwfValues :: !(Maybe [Text])-  , _mwfKey    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwfValues' - The filter values.------ * 'mwfKey' - The name of the filter.-maintenanceWindowFilter-    :: MaintenanceWindowFilter-maintenanceWindowFilter =-  MaintenanceWindowFilter' {_mwfValues = Nothing, _mwfKey = Nothing}----- | The filter values.-mwfValues :: Lens' MaintenanceWindowFilter [Text]-mwfValues = lens _mwfValues (\ s a -> s{_mwfValues = a}) . _Default . _Coerce;---- | The name of the filter.-mwfKey :: Lens' MaintenanceWindowFilter (Maybe Text)-mwfKey = lens _mwfKey (\ s a -> s{_mwfKey = a});--instance Hashable MaintenanceWindowFilter where--instance NFData MaintenanceWindowFilter where--instance ToJSON MaintenanceWindowFilter where-        toJSON MaintenanceWindowFilter'{..}-          = object-              (catMaybes-                 [("Values" .=) <$> _mwfValues,-                  ("Key" .=) <$> _mwfKey])---- | Information about the Maintenance Window.------------ /See:/ 'maintenanceWindowIdentity' smart constructor.-data MaintenanceWindowIdentity = MaintenanceWindowIdentity'-  { _mwiEnabled     :: !(Maybe Bool)-  , _mwiName        :: !(Maybe Text)-  , _mwiCutoff      :: !(Maybe Nat)-  , _mwiDescription :: !(Maybe (Sensitive Text))-  , _mwiDuration    :: !(Maybe Nat)-  , _mwiWindowId    :: !(Maybe Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowIdentity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwiEnabled' - Whether the Maintenance Window is enabled.------ * 'mwiName' - The name of the Maintenance Window.------ * 'mwiCutoff' - The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.------ * 'mwiDescription' - A description of the Maintenance Window.------ * 'mwiDuration' - The duration of the Maintenance Window in hours.------ * 'mwiWindowId' - The ID of the Maintenance Window.-maintenanceWindowIdentity-    :: MaintenanceWindowIdentity-maintenanceWindowIdentity =-  MaintenanceWindowIdentity'-  { _mwiEnabled = Nothing-  , _mwiName = Nothing-  , _mwiCutoff = Nothing-  , _mwiDescription = Nothing-  , _mwiDuration = Nothing-  , _mwiWindowId = Nothing-  }----- | Whether the Maintenance Window is enabled.-mwiEnabled :: Lens' MaintenanceWindowIdentity (Maybe Bool)-mwiEnabled = lens _mwiEnabled (\ s a -> s{_mwiEnabled = a});---- | The name of the Maintenance Window.-mwiName :: Lens' MaintenanceWindowIdentity (Maybe Text)-mwiName = lens _mwiName (\ s a -> s{_mwiName = a});---- | 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)-mwiCutoff = lens _mwiCutoff (\ s a -> s{_mwiCutoff = a}) . mapping _Nat;---- | A description of the Maintenance Window.-mwiDescription :: Lens' MaintenanceWindowIdentity (Maybe Text)-mwiDescription = lens _mwiDescription (\ s a -> s{_mwiDescription = a}) . mapping _Sensitive;---- | The duration of the Maintenance Window in hours.-mwiDuration :: Lens' MaintenanceWindowIdentity (Maybe Natural)-mwiDuration = lens _mwiDuration (\ s a -> s{_mwiDuration = a}) . mapping _Nat;---- | The ID of the Maintenance Window.-mwiWindowId :: Lens' MaintenanceWindowIdentity (Maybe Text)-mwiWindowId = lens _mwiWindowId (\ s a -> s{_mwiWindowId = a});--instance FromJSON MaintenanceWindowIdentity where-        parseJSON-          = withObject "MaintenanceWindowIdentity"-              (\ x ->-                 MaintenanceWindowIdentity' <$>-                   (x .:? "Enabled") <*> (x .:? "Name") <*>-                     (x .:? "Cutoff")-                     <*> (x .:? "Description")-                     <*> (x .:? "Duration")-                     <*> (x .:? "WindowId"))--instance Hashable MaintenanceWindowIdentity where--instance NFData MaintenanceWindowIdentity where---- | The parameters for a LAMBDA task type.------------ /See:/ 'maintenanceWindowLambdaParameters' smart constructor.-data MaintenanceWindowLambdaParameters = MaintenanceWindowLambdaParameters'-  { _mwlpPayload       :: !(Maybe (Sensitive Base64))-  , _mwlpQualifier     :: !(Maybe Text)-  , _mwlpClientContext :: !(Maybe Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowLambdaParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwlpPayload' - JSON to provide to your Lambda function as input.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.------ * 'mwlpQualifier' - (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.------ * 'mwlpClientContext' - 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.-maintenanceWindowLambdaParameters-    :: MaintenanceWindowLambdaParameters-maintenanceWindowLambdaParameters =-  MaintenanceWindowLambdaParameters'-  { _mwlpPayload = Nothing-  , _mwlpQualifier = Nothing-  , _mwlpClientContext = Nothing-  }----- | JSON to provide to your Lambda function as input.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-mwlpPayload :: Lens' MaintenanceWindowLambdaParameters (Maybe ByteString)-mwlpPayload = lens _mwlpPayload (\ s a -> s{_mwlpPayload = a}) . mapping (_Sensitive . _Base64);---- | (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)-mwlpQualifier = lens _mwlpQualifier (\ s a -> s{_mwlpQualifier = 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.-mwlpClientContext :: Lens' MaintenanceWindowLambdaParameters (Maybe Text)-mwlpClientContext = lens _mwlpClientContext (\ s a -> s{_mwlpClientContext = a});--instance FromJSON MaintenanceWindowLambdaParameters-         where-        parseJSON-          = withObject "MaintenanceWindowLambdaParameters"-              (\ x ->-                 MaintenanceWindowLambdaParameters' <$>-                   (x .:? "Payload") <*> (x .:? "Qualifier") <*>-                     (x .:? "ClientContext"))--instance Hashable MaintenanceWindowLambdaParameters-         where--instance NFData MaintenanceWindowLambdaParameters-         where--instance ToJSON MaintenanceWindowLambdaParameters-         where-        toJSON MaintenanceWindowLambdaParameters'{..}-          = object-              (catMaybes-                 [("Payload" .=) <$> _mwlpPayload,-                  ("Qualifier" .=) <$> _mwlpQualifier,-                  ("ClientContext" .=) <$> _mwlpClientContext])---- | The parameters for a RUN_COMMAND task type.------------ /See:/ 'maintenanceWindowRunCommandParameters' smart constructor.-data MaintenanceWindowRunCommandParameters = MaintenanceWindowRunCommandParameters'-  { _mwrcpServiceRoleARN     :: !(Maybe Text)-  , _mwrcpNotificationConfig :: !(Maybe NotificationConfig)-  , _mwrcpDocumentHashType   :: !(Maybe DocumentHashType)-  , _mwrcpOutputS3KeyPrefix  :: !(Maybe Text)-  , _mwrcpParameters         :: !(Maybe (Map Text [Text]))-  , _mwrcpDocumentHash       :: !(Maybe Text)-  , _mwrcpTimeoutSeconds     :: !(Maybe Nat)-  , _mwrcpComment            :: !(Maybe Text)-  , _mwrcpOutputS3BucketName :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowRunCommandParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwrcpServiceRoleARN' - The IAM service role to assume during task execution.------ * 'mwrcpNotificationConfig' - Configurations for sending notifications about command status changes on a per-instance basis.------ * 'mwrcpDocumentHashType' - SHA-256 or SHA-1. SHA-1 hashes have been deprecated.------ * 'mwrcpOutputS3KeyPrefix' - The Amazon S3 bucket subfolder.------ * 'mwrcpParameters' - The parameters for the RUN_COMMAND task execution.------ * 'mwrcpDocumentHash' - The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.------ * 'mwrcpTimeoutSeconds' - If this time is reached and the command has not already started executing, it doesn not execute.------ * 'mwrcpComment' - Information about the command(s) to execute.------ * 'mwrcpOutputS3BucketName' - The name of the Amazon S3 bucket.-maintenanceWindowRunCommandParameters-    :: MaintenanceWindowRunCommandParameters-maintenanceWindowRunCommandParameters =-  MaintenanceWindowRunCommandParameters'-  { _mwrcpServiceRoleARN = Nothing-  , _mwrcpNotificationConfig = Nothing-  , _mwrcpDocumentHashType = Nothing-  , _mwrcpOutputS3KeyPrefix = Nothing-  , _mwrcpParameters = Nothing-  , _mwrcpDocumentHash = Nothing-  , _mwrcpTimeoutSeconds = Nothing-  , _mwrcpComment = Nothing-  , _mwrcpOutputS3BucketName = Nothing-  }----- | The IAM service role to assume during task execution.-mwrcpServiceRoleARN :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)-mwrcpServiceRoleARN = lens _mwrcpServiceRoleARN (\ s a -> s{_mwrcpServiceRoleARN = a});---- | Configurations for sending notifications about command status changes on a per-instance basis.-mwrcpNotificationConfig :: Lens' MaintenanceWindowRunCommandParameters (Maybe NotificationConfig)-mwrcpNotificationConfig = lens _mwrcpNotificationConfig (\ s a -> s{_mwrcpNotificationConfig = a});---- | SHA-256 or SHA-1. SHA-1 hashes have been deprecated.-mwrcpDocumentHashType :: Lens' MaintenanceWindowRunCommandParameters (Maybe DocumentHashType)-mwrcpDocumentHashType = lens _mwrcpDocumentHashType (\ s a -> s{_mwrcpDocumentHashType = a});---- | The Amazon S3 bucket subfolder.-mwrcpOutputS3KeyPrefix :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)-mwrcpOutputS3KeyPrefix = lens _mwrcpOutputS3KeyPrefix (\ s a -> s{_mwrcpOutputS3KeyPrefix = a});---- | The parameters for the RUN_COMMAND task execution.-mwrcpParameters :: Lens' MaintenanceWindowRunCommandParameters (HashMap Text [Text])-mwrcpParameters = lens _mwrcpParameters (\ s a -> s{_mwrcpParameters = a}) . _Default . _Map;---- | 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)-mwrcpDocumentHash = lens _mwrcpDocumentHash (\ s a -> s{_mwrcpDocumentHash = a});---- | If this time is reached and the command has not already started executing, it doesn not execute.-mwrcpTimeoutSeconds :: Lens' MaintenanceWindowRunCommandParameters (Maybe Natural)-mwrcpTimeoutSeconds = lens _mwrcpTimeoutSeconds (\ s a -> s{_mwrcpTimeoutSeconds = a}) . mapping _Nat;---- | Information about the command(s) to execute.-mwrcpComment :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)-mwrcpComment = lens _mwrcpComment (\ s a -> s{_mwrcpComment = a});---- | The name of the Amazon S3 bucket.-mwrcpOutputS3BucketName :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)-mwrcpOutputS3BucketName = lens _mwrcpOutputS3BucketName (\ s a -> s{_mwrcpOutputS3BucketName = a});--instance FromJSON-           MaintenanceWindowRunCommandParameters-         where-        parseJSON-          = withObject "MaintenanceWindowRunCommandParameters"-              (\ x ->-                 MaintenanceWindowRunCommandParameters' <$>-                   (x .:? "ServiceRoleArn") <*>-                     (x .:? "NotificationConfig")-                     <*> (x .:? "DocumentHashType")-                     <*> (x .:? "OutputS3KeyPrefix")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "DocumentHash")-                     <*> (x .:? "TimeoutSeconds")-                     <*> (x .:? "Comment")-                     <*> (x .:? "OutputS3BucketName"))--instance Hashable-           MaintenanceWindowRunCommandParameters-         where--instance NFData MaintenanceWindowRunCommandParameters-         where--instance ToJSON MaintenanceWindowRunCommandParameters-         where-        toJSON MaintenanceWindowRunCommandParameters'{..}-          = object-              (catMaybes-                 [("ServiceRoleArn" .=) <$> _mwrcpServiceRoleARN,-                  ("NotificationConfig" .=) <$>-                    _mwrcpNotificationConfig,-                  ("DocumentHashType" .=) <$> _mwrcpDocumentHashType,-                  ("OutputS3KeyPrefix" .=) <$> _mwrcpOutputS3KeyPrefix,-                  ("Parameters" .=) <$> _mwrcpParameters,-                  ("DocumentHash" .=) <$> _mwrcpDocumentHash,-                  ("TimeoutSeconds" .=) <$> _mwrcpTimeoutSeconds,-                  ("Comment" .=) <$> _mwrcpComment,-                  ("OutputS3BucketName" .=) <$>-                    _mwrcpOutputS3BucketName])---- | The parameters for the STEP_FUNCTION execution.------------ /See:/ 'maintenanceWindowStepFunctionsParameters' smart constructor.-data MaintenanceWindowStepFunctionsParameters = MaintenanceWindowStepFunctionsParameters'-  { _mwsfpInput :: !(Maybe (Sensitive Text))-  , _mwsfpName  :: !(Maybe Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowStepFunctionsParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwsfpInput' - The inputs for the STEP_FUNCTION task.------ * 'mwsfpName' - The name of the STEP_FUNCTION task.-maintenanceWindowStepFunctionsParameters-    :: MaintenanceWindowStepFunctionsParameters-maintenanceWindowStepFunctionsParameters =-  MaintenanceWindowStepFunctionsParameters'-  {_mwsfpInput = Nothing, _mwsfpName = Nothing}----- | The inputs for the STEP_FUNCTION task.-mwsfpInput :: Lens' MaintenanceWindowStepFunctionsParameters (Maybe Text)-mwsfpInput = lens _mwsfpInput (\ s a -> s{_mwsfpInput = a}) . mapping _Sensitive;---- | The name of the STEP_FUNCTION task.-mwsfpName :: Lens' MaintenanceWindowStepFunctionsParameters (Maybe Text)-mwsfpName = lens _mwsfpName (\ s a -> s{_mwsfpName = a});--instance FromJSON-           MaintenanceWindowStepFunctionsParameters-         where-        parseJSON-          = withObject-              "MaintenanceWindowStepFunctionsParameters"-              (\ x ->-                 MaintenanceWindowStepFunctionsParameters' <$>-                   (x .:? "Input") <*> (x .:? "Name"))--instance Hashable-           MaintenanceWindowStepFunctionsParameters-         where--instance NFData-           MaintenanceWindowStepFunctionsParameters-         where--instance ToJSON-           MaintenanceWindowStepFunctionsParameters-         where-        toJSON MaintenanceWindowStepFunctionsParameters'{..}-          = object-              (catMaybes-                 [("Input" .=) <$> _mwsfpInput,-                  ("Name" .=) <$> _mwsfpName])---- | The target registered with the Maintenance Window.------------ /See:/ 'maintenanceWindowTarget' smart constructor.-data MaintenanceWindowTarget = MaintenanceWindowTarget'-  { _mResourceType     :: !(Maybe MaintenanceWindowResourceType)-  , _mOwnerInformation :: !(Maybe (Sensitive Text))-  , _mWindowTargetId   :: !(Maybe Text)-  , _mName             :: !(Maybe Text)-  , _mTargets          :: !(Maybe [Target])-  , _mDescription      :: !(Maybe (Sensitive Text))-  , _mWindowId         :: !(Maybe Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowTarget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mResourceType' - The type of target.------ * 'mOwnerInformation' - User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.------ * 'mWindowTargetId' - The ID of the target.------ * 'mName' - The target name.------ * 'mTargets' - The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.------ * 'mDescription' - A description of the target.------ * 'mWindowId' - The Maintenance Window ID where the target is registered.-maintenanceWindowTarget-    :: MaintenanceWindowTarget-maintenanceWindowTarget =-  MaintenanceWindowTarget'-  { _mResourceType = Nothing-  , _mOwnerInformation = Nothing-  , _mWindowTargetId = Nothing-  , _mName = Nothing-  , _mTargets = Nothing-  , _mDescription = Nothing-  , _mWindowId = Nothing-  }----- | The type of target.-mResourceType :: Lens' MaintenanceWindowTarget (Maybe MaintenanceWindowResourceType)-mResourceType = lens _mResourceType (\ s a -> s{_mResourceType = a});---- | 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)-mOwnerInformation = lens _mOwnerInformation (\ s a -> s{_mOwnerInformation = a}) . mapping _Sensitive;---- | The ID of the target.-mWindowTargetId :: Lens' MaintenanceWindowTarget (Maybe Text)-mWindowTargetId = lens _mWindowTargetId (\ s a -> s{_mWindowTargetId = a});---- | The target name.-mName :: Lens' MaintenanceWindowTarget (Maybe Text)-mName = lens _mName (\ s a -> s{_mName = a});---- | The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.-mTargets :: Lens' MaintenanceWindowTarget [Target]-mTargets = lens _mTargets (\ s a -> s{_mTargets = a}) . _Default . _Coerce;---- | A description of the target.-mDescription :: Lens' MaintenanceWindowTarget (Maybe Text)-mDescription = lens _mDescription (\ s a -> s{_mDescription = a}) . mapping _Sensitive;---- | The Maintenance Window ID where the target is registered.-mWindowId :: Lens' MaintenanceWindowTarget (Maybe Text)-mWindowId = lens _mWindowId (\ s a -> s{_mWindowId = a});--instance FromJSON MaintenanceWindowTarget where-        parseJSON-          = withObject "MaintenanceWindowTarget"-              (\ x ->-                 MaintenanceWindowTarget' <$>-                   (x .:? "ResourceType") <*> (x .:? "OwnerInformation")-                     <*> (x .:? "WindowTargetId")-                     <*> (x .:? "Name")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "Description")-                     <*> (x .:? "WindowId"))--instance Hashable MaintenanceWindowTarget where--instance NFData MaintenanceWindowTarget where---- | Information about a task defined for a Maintenance Window.------------ /See:/ 'maintenanceWindowTask' smart constructor.-data MaintenanceWindowTask = MaintenanceWindowTask'-  { _mwtServiceRoleARN :: !(Maybe Text)-  , _mwtWindowTaskId :: !(Maybe Text)-  , _mwtTaskParameters :: !(Maybe (Sensitive (Map Text (Sensitive MaintenanceWindowTaskParameterValueExpression))))-  , _mwtPriority :: !(Maybe Nat)-  , _mwtTaskARN :: !(Maybe Text)-  , _mwtMaxErrors :: !(Maybe Text)-  , _mwtName :: !(Maybe Text)-  , _mwtTargets :: !(Maybe [Target])-  , _mwtLoggingInfo :: !(Maybe LoggingInfo)-  , _mwtType :: !(Maybe MaintenanceWindowTaskType)-  , _mwtDescription :: !(Maybe (Sensitive Text))-  , _mwtMaxConcurrency :: !(Maybe Text)-  , _mwtWindowId :: !(Maybe Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowTask' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwtServiceRoleARN' - The role that should be assumed when executing the task------ * 'mwtWindowTaskId' - The task ID.------ * 'mwtTaskParameters' - The parameters that should be passed to the task when it is executed.------ * 'mwtPriority' - 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.------ * 'mwtTaskARN' - The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, @TaskArn@ 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.------ * 'mwtMaxErrors' - The maximum number of errors allowed before this task stops being scheduled.------ * 'mwtName' - The task name.------ * 'mwtTargets' - The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.------ * 'mwtLoggingInfo' - Information about an Amazon S3 bucket to write task-level logs to.------ * 'mwtType' - The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.------ * 'mwtDescription' - A description of the task.------ * 'mwtMaxConcurrency' - The maximum number of targets this task can be run for in parallel.------ * 'mwtWindowId' - The Maintenance Window ID where the task is registered.-maintenanceWindowTask-    :: MaintenanceWindowTask-maintenanceWindowTask =-  MaintenanceWindowTask'-  { _mwtServiceRoleARN = Nothing-  , _mwtWindowTaskId = Nothing-  , _mwtTaskParameters = Nothing-  , _mwtPriority = Nothing-  , _mwtTaskARN = Nothing-  , _mwtMaxErrors = Nothing-  , _mwtName = Nothing-  , _mwtTargets = Nothing-  , _mwtLoggingInfo = Nothing-  , _mwtType = Nothing-  , _mwtDescription = Nothing-  , _mwtMaxConcurrency = Nothing-  , _mwtWindowId = Nothing-  }----- | The role that should be assumed when executing the task-mwtServiceRoleARN :: Lens' MaintenanceWindowTask (Maybe Text)-mwtServiceRoleARN = lens _mwtServiceRoleARN (\ s a -> s{_mwtServiceRoleARN = a});---- | The task ID.-mwtWindowTaskId :: Lens' MaintenanceWindowTask (Maybe Text)-mwtWindowTaskId = lens _mwtWindowTaskId (\ s a -> s{_mwtWindowTaskId = a});---- | The parameters that should be passed to the task when it is executed.-mwtTaskParameters :: Lens' MaintenanceWindowTask (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))-mwtTaskParameters = lens _mwtTaskParameters (\ s a -> s{_mwtTaskParameters = a}) . mapping (_Sensitive . _Map);---- | 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)-mwtPriority = lens _mwtPriority (\ s a -> s{_mwtPriority = a}) . mapping _Nat;---- | The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, @TaskArn@ 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)-mwtTaskARN = lens _mwtTaskARN (\ s a -> s{_mwtTaskARN = a});---- | The maximum number of errors allowed before this task stops being scheduled.-mwtMaxErrors :: Lens' MaintenanceWindowTask (Maybe Text)-mwtMaxErrors = lens _mwtMaxErrors (\ s a -> s{_mwtMaxErrors = a});---- | The task name.-mwtName :: Lens' MaintenanceWindowTask (Maybe Text)-mwtName = lens _mwtName (\ s a -> s{_mwtName = a});---- | The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.-mwtTargets :: Lens' MaintenanceWindowTask [Target]-mwtTargets = lens _mwtTargets (\ s a -> s{_mwtTargets = a}) . _Default . _Coerce;---- | Information about an Amazon S3 bucket to write task-level logs to.-mwtLoggingInfo :: Lens' MaintenanceWindowTask (Maybe LoggingInfo)-mwtLoggingInfo = lens _mwtLoggingInfo (\ s a -> s{_mwtLoggingInfo = a});---- | The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.-mwtType :: Lens' MaintenanceWindowTask (Maybe MaintenanceWindowTaskType)-mwtType = lens _mwtType (\ s a -> s{_mwtType = a});---- | A description of the task.-mwtDescription :: Lens' MaintenanceWindowTask (Maybe Text)-mwtDescription = lens _mwtDescription (\ s a -> s{_mwtDescription = a}) . mapping _Sensitive;---- | The maximum number of targets this task can be run for in parallel.-mwtMaxConcurrency :: Lens' MaintenanceWindowTask (Maybe Text)-mwtMaxConcurrency = lens _mwtMaxConcurrency (\ s a -> s{_mwtMaxConcurrency = a});---- | The Maintenance Window ID where the task is registered.-mwtWindowId :: Lens' MaintenanceWindowTask (Maybe Text)-mwtWindowId = lens _mwtWindowId (\ s a -> s{_mwtWindowId = a});--instance FromJSON MaintenanceWindowTask where-        parseJSON-          = withObject "MaintenanceWindowTask"-              (\ x ->-                 MaintenanceWindowTask' <$>-                   (x .:? "ServiceRoleArn") <*> (x .:? "WindowTaskId")-                     <*> (x .:? "TaskParameters" .!= mempty)-                     <*> (x .:? "Priority")-                     <*> (x .:? "TaskArn")-                     <*> (x .:? "MaxErrors")-                     <*> (x .:? "Name")-                     <*> (x .:? "Targets" .!= mempty)-                     <*> (x .:? "LoggingInfo")-                     <*> (x .:? "Type")-                     <*> (x .:? "Description")-                     <*> (x .:? "MaxConcurrency")-                     <*> (x .:? "WindowId"))--instance Hashable MaintenanceWindowTask where--instance NFData MaintenanceWindowTask where---- | The parameters for task execution.------------ /See:/ 'maintenanceWindowTaskInvocationParameters' smart constructor.-data MaintenanceWindowTaskInvocationParameters = MaintenanceWindowTaskInvocationParameters'-  { _mwtipAutomation    :: !(Maybe MaintenanceWindowAutomationParameters)-  , _mwtipStepFunctions :: !(Maybe MaintenanceWindowStepFunctionsParameters)-  , _mwtipRunCommand    :: !(Maybe MaintenanceWindowRunCommandParameters)-  , _mwtipLambda        :: !(Maybe MaintenanceWindowLambdaParameters)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowTaskInvocationParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwtipAutomation' - The parameters for a AUTOMATION task type.------ * 'mwtipStepFunctions' - The parameters for a STEP_FUNCTION task type.------ * 'mwtipRunCommand' - The parameters for a RUN_COMMAND task type.------ * 'mwtipLambda' - The parameters for a LAMBDA task type.-maintenanceWindowTaskInvocationParameters-    :: MaintenanceWindowTaskInvocationParameters-maintenanceWindowTaskInvocationParameters =-  MaintenanceWindowTaskInvocationParameters'-  { _mwtipAutomation = Nothing-  , _mwtipStepFunctions = Nothing-  , _mwtipRunCommand = Nothing-  , _mwtipLambda = Nothing-  }----- | The parameters for a AUTOMATION task type.-mwtipAutomation :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowAutomationParameters)-mwtipAutomation = lens _mwtipAutomation (\ s a -> s{_mwtipAutomation = a});---- | The parameters for a STEP_FUNCTION task type.-mwtipStepFunctions :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowStepFunctionsParameters)-mwtipStepFunctions = lens _mwtipStepFunctions (\ s a -> s{_mwtipStepFunctions = a});---- | The parameters for a RUN_COMMAND task type.-mwtipRunCommand :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowRunCommandParameters)-mwtipRunCommand = lens _mwtipRunCommand (\ s a -> s{_mwtipRunCommand = a});---- | The parameters for a LAMBDA task type.-mwtipLambda :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowLambdaParameters)-mwtipLambda = lens _mwtipLambda (\ s a -> s{_mwtipLambda = a});--instance FromJSON-           MaintenanceWindowTaskInvocationParameters-         where-        parseJSON-          = withObject-              "MaintenanceWindowTaskInvocationParameters"-              (\ x ->-                 MaintenanceWindowTaskInvocationParameters' <$>-                   (x .:? "Automation") <*> (x .:? "StepFunctions") <*>-                     (x .:? "RunCommand")-                     <*> (x .:? "Lambda"))--instance Hashable-           MaintenanceWindowTaskInvocationParameters-         where--instance NFData-           MaintenanceWindowTaskInvocationParameters-         where--instance ToJSON-           MaintenanceWindowTaskInvocationParameters-         where-        toJSON MaintenanceWindowTaskInvocationParameters'{..}-          = object-              (catMaybes-                 [("Automation" .=) <$> _mwtipAutomation,-                  ("StepFunctions" .=) <$> _mwtipStepFunctions,-                  ("RunCommand" .=) <$> _mwtipRunCommand,-                  ("Lambda" .=) <$> _mwtipLambda])---- | Defines the values for a task parameter.------------ /See:/ 'maintenanceWindowTaskParameterValueExpression' smart constructor.-newtype MaintenanceWindowTaskParameterValueExpression = MaintenanceWindowTaskParameterValueExpression'-  { _mwtpveValues :: Maybe (Sensitive [Sensitive Text])-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaintenanceWindowTaskParameterValueExpression' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwtpveValues' - This field contains an array of 0 or more strings, each 1 to 255 characters in length.-maintenanceWindowTaskParameterValueExpression-    :: MaintenanceWindowTaskParameterValueExpression-maintenanceWindowTaskParameterValueExpression =-  MaintenanceWindowTaskParameterValueExpression' {_mwtpveValues = Nothing}----- | This field contains an array of 0 or more strings, each 1 to 255 characters in length.-mwtpveValues :: Lens' MaintenanceWindowTaskParameterValueExpression (Maybe [Text])-mwtpveValues = lens _mwtpveValues (\ s a -> s{_mwtpveValues = a}) . mapping (_Sensitive . _Coerce);--instance FromJSON-           MaintenanceWindowTaskParameterValueExpression-         where-        parseJSON-          = withObject-              "MaintenanceWindowTaskParameterValueExpression"-              (\ x ->-                 MaintenanceWindowTaskParameterValueExpression' <$>-                   (x .:? "Values" .!= mempty))--instance Hashable-           MaintenanceWindowTaskParameterValueExpression-         where--instance NFData-           MaintenanceWindowTaskParameterValueExpression-         where--instance ToJSON-           MaintenanceWindowTaskParameterValueExpression-         where-        toJSON-          MaintenanceWindowTaskParameterValueExpression'{..}-          = object-              (catMaybes [("Values" .=) <$> _mwtpveValues])---- | A summary of resources that are not compliant. The summary is organized according to resource type.------------ /See:/ 'nonCompliantSummary' smart constructor.-data NonCompliantSummary = NonCompliantSummary'-  { _ncsNonCompliantCount :: !(Maybe Int)-  , _ncsSeveritySummary   :: !(Maybe SeveritySummary)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NonCompliantSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncsNonCompliantCount' - The total number of compliance items that are not compliant.------ * 'ncsSeveritySummary' - A summary of the non-compliance severity by compliance type-nonCompliantSummary-    :: NonCompliantSummary-nonCompliantSummary =-  NonCompliantSummary'-  {_ncsNonCompliantCount = Nothing, _ncsSeveritySummary = Nothing}----- | The total number of compliance items that are not compliant.-ncsNonCompliantCount :: Lens' NonCompliantSummary (Maybe Int)-ncsNonCompliantCount = lens _ncsNonCompliantCount (\ s a -> s{_ncsNonCompliantCount = a});---- | A summary of the non-compliance severity by compliance type-ncsSeveritySummary :: Lens' NonCompliantSummary (Maybe SeveritySummary)-ncsSeveritySummary = lens _ncsSeveritySummary (\ s a -> s{_ncsSeveritySummary = a});--instance FromJSON NonCompliantSummary where-        parseJSON-          = withObject "NonCompliantSummary"-              (\ x ->-                 NonCompliantSummary' <$>-                   (x .:? "NonCompliantCount") <*>-                     (x .:? "SeveritySummary"))--instance Hashable NonCompliantSummary where--instance NFData NonCompliantSummary where---- | Configurations for sending notifications.------------ /See:/ 'notificationConfig' smart constructor.-data NotificationConfig = NotificationConfig'-  { _ncNotificationEvents :: !(Maybe [NotificationEvent])-  , _ncNotificationType   :: !(Maybe NotificationType)-  , _ncNotificationARN    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NotificationConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncNotificationEvents' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html Setting Up Events and Notifications> in the /Amazon EC2 Systems Manager User Guide/ .------ * 'ncNotificationType' - 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.------ * 'ncNotificationARN' - An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. Run Command pushes notifications about command status changes to this topic.-notificationConfig-    :: NotificationConfig-notificationConfig =-  NotificationConfig'-  { _ncNotificationEvents = Nothing-  , _ncNotificationType = Nothing-  , _ncNotificationARN = Nothing-  }----- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html Setting Up Events and Notifications> in the /Amazon EC2 Systems Manager User Guide/ .-ncNotificationEvents :: Lens' NotificationConfig [NotificationEvent]-ncNotificationEvents = lens _ncNotificationEvents (\ s a -> s{_ncNotificationEvents = a}) . _Default . _Coerce;---- | 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)-ncNotificationType = lens _ncNotificationType (\ s a -> s{_ncNotificationType = a});---- | 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)-ncNotificationARN = lens _ncNotificationARN (\ s a -> s{_ncNotificationARN = a});--instance FromJSON NotificationConfig where-        parseJSON-          = withObject "NotificationConfig"-              (\ x ->-                 NotificationConfig' <$>-                   (x .:? "NotificationEvents" .!= mempty) <*>-                     (x .:? "NotificationType")-                     <*> (x .:? "NotificationArn"))--instance Hashable NotificationConfig where--instance NFData NotificationConfig where--instance ToJSON NotificationConfig where-        toJSON NotificationConfig'{..}-          = object-              (catMaybes-                 [("NotificationEvents" .=) <$> _ncNotificationEvents,-                  ("NotificationType" .=) <$> _ncNotificationType,-                  ("NotificationArn" .=) <$> _ncNotificationARN])---- | An Amazon EC2 Systems Manager parameter in Parameter Store.------------ /See:/ 'parameter' smart constructor.-data Parameter = Parameter'-  { _pValue   :: !(Maybe Text)-  , _pName    :: !(Maybe Text)-  , _pVersion :: !(Maybe Integer)-  , _pType    :: !(Maybe ParameterType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Parameter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pValue' - The parameter value.------ * 'pName' - The name of the parameter.------ * 'pVersion' - The parameter version.------ * 'pType' - The type of parameter. Valid values include the following: String, String list, Secure string.-parameter-    :: Parameter-parameter =-  Parameter'-  {_pValue = Nothing, _pName = Nothing, _pVersion = Nothing, _pType = Nothing}----- | The parameter value.-pValue :: Lens' Parameter (Maybe Text)-pValue = lens _pValue (\ s a -> s{_pValue = a});---- | The name of the parameter.-pName :: Lens' Parameter (Maybe Text)-pName = lens _pName (\ s a -> s{_pName = a});---- | The parameter version.-pVersion :: Lens' Parameter (Maybe Integer)-pVersion = lens _pVersion (\ s a -> s{_pVersion = a});---- | The type of parameter. Valid values include the following: String, String list, Secure string.-pType :: Lens' Parameter (Maybe ParameterType)-pType = lens _pType (\ s a -> s{_pType = a});--instance FromJSON Parameter where-        parseJSON-          = withObject "Parameter"-              (\ x ->-                 Parameter' <$>-                   (x .:? "Value") <*> (x .:? "Name") <*>-                     (x .:? "Version")-                     <*> (x .:? "Type"))--instance Hashable Parameter where--instance NFData Parameter where---- | Information about parameter usage.------------ /See:/ 'parameterHistory' smart constructor.-data ParameterHistory = ParameterHistory'-  { _phLastModifiedDate :: !(Maybe POSIX)-  , _phKeyId            :: !(Maybe Text)-  , _phValue            :: !(Maybe Text)-  , _phName             :: !(Maybe Text)-  , _phVersion          :: !(Maybe Integer)-  , _phLastModifiedUser :: !(Maybe Text)-  , _phAllowedPattern   :: !(Maybe Text)-  , _phType             :: !(Maybe ParameterType)-  , _phDescription      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ParameterHistory' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'phLastModifiedDate' - Date the parameter was last changed or updated.------ * 'phKeyId' - The ID of the query key used for this parameter.------ * 'phValue' - The parameter value.------ * 'phName' - The name of the parameter.------ * 'phVersion' - The parameter version.------ * 'phLastModifiedUser' - Amazon Resource Name (ARN) of the AWS user who last changed the parameter.------ * 'phAllowedPattern' - Parameter names can include the following letters and symbols. a-zA-Z0-9_.------- * 'phType' - The type of parameter used.------ * 'phDescription' - Information about the parameter.-parameterHistory-    :: ParameterHistory-parameterHistory =-  ParameterHistory'-  { _phLastModifiedDate = Nothing-  , _phKeyId = Nothing-  , _phValue = Nothing-  , _phName = Nothing-  , _phVersion = Nothing-  , _phLastModifiedUser = Nothing-  , _phAllowedPattern = Nothing-  , _phType = Nothing-  , _phDescription = Nothing-  }----- | Date the parameter was last changed or updated.-phLastModifiedDate :: Lens' ParameterHistory (Maybe UTCTime)-phLastModifiedDate = lens _phLastModifiedDate (\ s a -> s{_phLastModifiedDate = a}) . mapping _Time;---- | The ID of the query key used for this parameter.-phKeyId :: Lens' ParameterHistory (Maybe Text)-phKeyId = lens _phKeyId (\ s a -> s{_phKeyId = a});---- | The parameter value.-phValue :: Lens' ParameterHistory (Maybe Text)-phValue = lens _phValue (\ s a -> s{_phValue = a});---- | The name of the parameter.-phName :: Lens' ParameterHistory (Maybe Text)-phName = lens _phName (\ s a -> s{_phName = a});---- | The parameter version.-phVersion :: Lens' ParameterHistory (Maybe Integer)-phVersion = lens _phVersion (\ s a -> s{_phVersion = a});---- | Amazon Resource Name (ARN) of the AWS user who last changed the parameter.-phLastModifiedUser :: Lens' ParameterHistory (Maybe Text)-phLastModifiedUser = lens _phLastModifiedUser (\ s a -> s{_phLastModifiedUser = a});---- | Parameter names can include the following letters and symbols. a-zA-Z0-9_.--phAllowedPattern :: Lens' ParameterHistory (Maybe Text)-phAllowedPattern = lens _phAllowedPattern (\ s a -> s{_phAllowedPattern = a});---- | The type of parameter used.-phType :: Lens' ParameterHistory (Maybe ParameterType)-phType = lens _phType (\ s a -> s{_phType = a});---- | Information about the parameter.-phDescription :: Lens' ParameterHistory (Maybe Text)-phDescription = lens _phDescription (\ s a -> s{_phDescription = a});--instance FromJSON ParameterHistory where-        parseJSON-          = withObject "ParameterHistory"-              (\ x ->-                 ParameterHistory' <$>-                   (x .:? "LastModifiedDate") <*> (x .:? "KeyId") <*>-                     (x .:? "Value")-                     <*> (x .:? "Name")-                     <*> (x .:? "Version")-                     <*> (x .:? "LastModifiedUser")-                     <*> (x .:? "AllowedPattern")-                     <*> (x .:? "Type")-                     <*> (x .:? "Description"))--instance Hashable ParameterHistory where--instance NFData ParameterHistory where---- | Metada includes information like the ARN of the last user and the date/time the parameter was last used.------------ /See:/ 'parameterMetadata' smart constructor.-data ParameterMetadata = ParameterMetadata'-  { _pmLastModifiedDate :: !(Maybe POSIX)-  , _pmKeyId            :: !(Maybe Text)-  , _pmName             :: !(Maybe Text)-  , _pmVersion          :: !(Maybe Integer)-  , _pmLastModifiedUser :: !(Maybe Text)-  , _pmAllowedPattern   :: !(Maybe Text)-  , _pmType             :: !(Maybe ParameterType)-  , _pmDescription      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ParameterMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pmLastModifiedDate' - Date the parameter was last changed or updated.------ * 'pmKeyId' - The ID of the query key used for this parameter.------ * 'pmName' - The parameter name.------ * 'pmVersion' - The parameter version.------ * 'pmLastModifiedUser' - Amazon Resource Name (ARN) of the AWS user who last changed the parameter.------ * 'pmAllowedPattern' - A parameter name can include only the following letters and symbols. a-zA-Z0-9_.------- * 'pmType' - The type of parameter. Valid parameter types include the following: String, String list, Secure string.------ * 'pmDescription' - Description of the parameter actions.-parameterMetadata-    :: ParameterMetadata-parameterMetadata =-  ParameterMetadata'-  { _pmLastModifiedDate = Nothing-  , _pmKeyId = Nothing-  , _pmName = Nothing-  , _pmVersion = Nothing-  , _pmLastModifiedUser = Nothing-  , _pmAllowedPattern = Nothing-  , _pmType = Nothing-  , _pmDescription = Nothing-  }----- | Date the parameter was last changed or updated.-pmLastModifiedDate :: Lens' ParameterMetadata (Maybe UTCTime)-pmLastModifiedDate = lens _pmLastModifiedDate (\ s a -> s{_pmLastModifiedDate = a}) . mapping _Time;---- | The ID of the query key used for this parameter.-pmKeyId :: Lens' ParameterMetadata (Maybe Text)-pmKeyId = lens _pmKeyId (\ s a -> s{_pmKeyId = a});---- | The parameter name.-pmName :: Lens' ParameterMetadata (Maybe Text)-pmName = lens _pmName (\ s a -> s{_pmName = a});---- | The parameter version.-pmVersion :: Lens' ParameterMetadata (Maybe Integer)-pmVersion = lens _pmVersion (\ s a -> s{_pmVersion = a});---- | Amazon Resource Name (ARN) of the AWS user who last changed the parameter.-pmLastModifiedUser :: Lens' ParameterMetadata (Maybe Text)-pmLastModifiedUser = lens _pmLastModifiedUser (\ s a -> s{_pmLastModifiedUser = a});---- | A parameter name can include only the following letters and symbols. a-zA-Z0-9_.--pmAllowedPattern :: Lens' ParameterMetadata (Maybe Text)-pmAllowedPattern = lens _pmAllowedPattern (\ s a -> s{_pmAllowedPattern = a});---- | The type of parameter. Valid parameter types include the following: String, String list, Secure string.-pmType :: Lens' ParameterMetadata (Maybe ParameterType)-pmType = lens _pmType (\ s a -> s{_pmType = a});---- | Description of the parameter actions.-pmDescription :: Lens' ParameterMetadata (Maybe Text)-pmDescription = lens _pmDescription (\ s a -> s{_pmDescription = a});--instance FromJSON ParameterMetadata where-        parseJSON-          = withObject "ParameterMetadata"-              (\ x ->-                 ParameterMetadata' <$>-                   (x .:? "LastModifiedDate") <*> (x .:? "KeyId") <*>-                     (x .:? "Name")-                     <*> (x .:? "Version")-                     <*> (x .:? "LastModifiedUser")-                     <*> (x .:? "AllowedPattern")-                     <*> (x .:? "Type")-                     <*> (x .:? "Description"))--instance Hashable ParameterMetadata where--instance NFData ParameterMetadata where---- | One or more filters. Use a filter to return a more specific list of results.------------ /See:/ 'parameterStringFilter' smart constructor.-data ParameterStringFilter = ParameterStringFilter'-  { _psfValues :: !(Maybe (List1 Text))-  , _psfOption :: !(Maybe Text)-  , _psfKey    :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ParameterStringFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psfValues' - The value you want to search for.------ * 'psfOption' - Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.------ * 'psfKey' - The name of the filter.-parameterStringFilter-    :: Text -- ^ 'psfKey'-    -> ParameterStringFilter-parameterStringFilter pKey_ =-  ParameterStringFilter'-  {_psfValues = Nothing, _psfOption = Nothing, _psfKey = pKey_}----- | The value you want to search for.-psfValues :: Lens' ParameterStringFilter (Maybe (NonEmpty Text))-psfValues = lens _psfValues (\ s a -> s{_psfValues = a}) . mapping _List1;---- | Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.-psfOption :: Lens' ParameterStringFilter (Maybe Text)-psfOption = lens _psfOption (\ s a -> s{_psfOption = a});---- | The name of the filter.-psfKey :: Lens' ParameterStringFilter Text-psfKey = lens _psfKey (\ s a -> s{_psfKey = a});--instance Hashable ParameterStringFilter where--instance NFData ParameterStringFilter where--instance ToJSON ParameterStringFilter where-        toJSON ParameterStringFilter'{..}-          = object-              (catMaybes-                 [("Values" .=) <$> _psfValues,-                  ("Option" .=) <$> _psfOption,-                  Just ("Key" .= _psfKey)])---- | One or more filters. Use a filter to return a more specific list of results.------------ /See:/ 'parametersFilter' smart constructor.-data ParametersFilter = ParametersFilter'-  { _pKey    :: !ParametersFilterKey-  , _pValues :: !(List1 Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ParametersFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pKey' - The name of the filter.------ * 'pValues' - The filter values.-parametersFilter-    :: ParametersFilterKey -- ^ 'pKey'-    -> NonEmpty Text -- ^ 'pValues'-    -> ParametersFilter-parametersFilter pKey_ pValues_ =-  ParametersFilter' {_pKey = pKey_, _pValues = _List1 # pValues_}----- | The name of the filter.-pKey :: Lens' ParametersFilter ParametersFilterKey-pKey = lens _pKey (\ s a -> s{_pKey = a});---- | The filter values.-pValues :: Lens' ParametersFilter (NonEmpty Text)-pValues = lens _pValues (\ s a -> s{_pValues = a}) . _List1;--instance Hashable ParametersFilter where--instance NFData ParametersFilter where--instance ToJSON ParametersFilter where-        toJSON ParametersFilter'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _pKey), Just ("Values" .= _pValues)])---- | Represents metadata about a patch.------------ /See:/ 'patch' smart constructor.-data Patch = Patch'-  { _pVendor         :: !(Maybe Text)-  , _pMsrcSeverity   :: !(Maybe Text)-  , _pProductFamily  :: !(Maybe Text)-  , _pClassification :: !(Maybe Text)-  , _pMsrcNumber     :: !(Maybe Text)-  , _pLanguage       :: !(Maybe Text)-  , _pKbNumber       :: !(Maybe Text)-  , _pContentURL     :: !(Maybe Text)-  , _pId             :: !(Maybe Text)-  , _pReleaseDate    :: !(Maybe POSIX)-  , _pTitle          :: !(Maybe Text)-  , _pProduct        :: !(Maybe Text)-  , _pDescription    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Patch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pVendor' - The name of the vendor providing the patch.------ * 'pMsrcSeverity' - The severity of the patch (for example Critical, Important, Moderate).------ * 'pProductFamily' - The product family the patch is applicable for (for example, Windows).------ * 'pClassification' - The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).------ * 'pMsrcNumber' - The ID of the MSRC bulletin the patch is related to.------ * 'pLanguage' - The language of the patch if it's language-specific.------ * 'pKbNumber' - The Microsoft Knowledge Base ID of the patch.------ * 'pContentURL' - The URL where more information can be obtained about the patch.------ * 'pId' - The ID of the patch (this is different than the Microsoft Knowledge Base ID).------ * 'pReleaseDate' - The date the patch was released.------ * 'pTitle' - The title of the patch.------ * 'pProduct' - The specific product the patch is applicable for (for example, WindowsServer2016).------ * 'pDescription' - The description of the patch.-patch-    :: Patch-patch =-  Patch'-  { _pVendor = Nothing-  , _pMsrcSeverity = Nothing-  , _pProductFamily = Nothing-  , _pClassification = Nothing-  , _pMsrcNumber = Nothing-  , _pLanguage = Nothing-  , _pKbNumber = Nothing-  , _pContentURL = Nothing-  , _pId = Nothing-  , _pReleaseDate = Nothing-  , _pTitle = Nothing-  , _pProduct = Nothing-  , _pDescription = Nothing-  }----- | The name of the vendor providing the patch.-pVendor :: Lens' Patch (Maybe Text)-pVendor = lens _pVendor (\ s a -> s{_pVendor = a});---- | The severity of the patch (for example Critical, Important, Moderate).-pMsrcSeverity :: Lens' Patch (Maybe Text)-pMsrcSeverity = lens _pMsrcSeverity (\ s a -> s{_pMsrcSeverity = a});---- | The product family the patch is applicable for (for example, Windows).-pProductFamily :: Lens' Patch (Maybe Text)-pProductFamily = lens _pProductFamily (\ s a -> s{_pProductFamily = a});---- | The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).-pClassification :: Lens' Patch (Maybe Text)-pClassification = lens _pClassification (\ s a -> s{_pClassification = a});---- | The ID of the MSRC bulletin the patch is related to.-pMsrcNumber :: Lens' Patch (Maybe Text)-pMsrcNumber = lens _pMsrcNumber (\ s a -> s{_pMsrcNumber = a});---- | The language of the patch if it's language-specific.-pLanguage :: Lens' Patch (Maybe Text)-pLanguage = lens _pLanguage (\ s a -> s{_pLanguage = a});---- | The Microsoft Knowledge Base ID of the patch.-pKbNumber :: Lens' Patch (Maybe Text)-pKbNumber = lens _pKbNumber (\ s a -> s{_pKbNumber = a});---- | The URL where more information can be obtained about the patch.-pContentURL :: Lens' Patch (Maybe Text)-pContentURL = lens _pContentURL (\ s a -> s{_pContentURL = a});---- | The ID of the patch (this is different than the Microsoft Knowledge Base ID).-pId :: Lens' Patch (Maybe Text)-pId = lens _pId (\ s a -> s{_pId = a});---- | The date the patch was released.-pReleaseDate :: Lens' Patch (Maybe UTCTime)-pReleaseDate = lens _pReleaseDate (\ s a -> s{_pReleaseDate = a}) . mapping _Time;---- | The title of the patch.-pTitle :: Lens' Patch (Maybe Text)-pTitle = lens _pTitle (\ s a -> s{_pTitle = a});---- | The specific product the patch is applicable for (for example, WindowsServer2016).-pProduct :: Lens' Patch (Maybe Text)-pProduct = lens _pProduct (\ s a -> s{_pProduct = a});---- | The description of the patch.-pDescription :: Lens' Patch (Maybe Text)-pDescription = lens _pDescription (\ s a -> s{_pDescription = a});--instance FromJSON Patch where-        parseJSON-          = withObject "Patch"-              (\ x ->-                 Patch' <$>-                   (x .:? "Vendor") <*> (x .:? "MsrcSeverity") <*>-                     (x .:? "ProductFamily")-                     <*> (x .:? "Classification")-                     <*> (x .:? "MsrcNumber")-                     <*> (x .:? "Language")-                     <*> (x .:? "KbNumber")-                     <*> (x .:? "ContentUrl")-                     <*> (x .:? "Id")-                     <*> (x .:? "ReleaseDate")-                     <*> (x .:? "Title")-                     <*> (x .:? "Product")-                     <*> (x .:? "Description"))--instance Hashable Patch where--instance NFData Patch where---- | Defines the basic information about a patch baseline.------------ /See:/ 'patchBaselineIdentity' smart constructor.-data PatchBaselineIdentity = PatchBaselineIdentity'-  { _pbiBaselineName        :: !(Maybe Text)-  , _pbiBaselineDescription :: !(Maybe Text)-  , _pbiOperatingSystem     :: !(Maybe OperatingSystem)-  , _pbiDefaultBaseline     :: !(Maybe Bool)-  , _pbiBaselineId          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchBaselineIdentity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbiBaselineName' - The name of the patch baseline.------ * 'pbiBaselineDescription' - The description of the patch baseline.------ * 'pbiOperatingSystem' - Defines the operating system the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX. The Default value is WINDOWS.------ * 'pbiDefaultBaseline' - 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.------ * 'pbiBaselineId' - The ID of the patch baseline.-patchBaselineIdentity-    :: PatchBaselineIdentity-patchBaselineIdentity =-  PatchBaselineIdentity'-  { _pbiBaselineName = Nothing-  , _pbiBaselineDescription = Nothing-  , _pbiOperatingSystem = Nothing-  , _pbiDefaultBaseline = Nothing-  , _pbiBaselineId = Nothing-  }----- | The name of the patch baseline.-pbiBaselineName :: Lens' PatchBaselineIdentity (Maybe Text)-pbiBaselineName = lens _pbiBaselineName (\ s a -> s{_pbiBaselineName = a});---- | The description of the patch baseline.-pbiBaselineDescription :: Lens' PatchBaselineIdentity (Maybe Text)-pbiBaselineDescription = lens _pbiBaselineDescription (\ s a -> s{_pbiBaselineDescription = a});---- | Defines the operating system the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX. The Default value is WINDOWS.-pbiOperatingSystem :: Lens' PatchBaselineIdentity (Maybe OperatingSystem)-pbiOperatingSystem = lens _pbiOperatingSystem (\ s a -> s{_pbiOperatingSystem = 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.-pbiDefaultBaseline :: Lens' PatchBaselineIdentity (Maybe Bool)-pbiDefaultBaseline = lens _pbiDefaultBaseline (\ s a -> s{_pbiDefaultBaseline = a});---- | The ID of the patch baseline.-pbiBaselineId :: Lens' PatchBaselineIdentity (Maybe Text)-pbiBaselineId = lens _pbiBaselineId (\ s a -> s{_pbiBaselineId = a});--instance FromJSON PatchBaselineIdentity where-        parseJSON-          = withObject "PatchBaselineIdentity"-              (\ x ->-                 PatchBaselineIdentity' <$>-                   (x .:? "BaselineName") <*>-                     (x .:? "BaselineDescription")-                     <*> (x .:? "OperatingSystem")-                     <*> (x .:? "DefaultBaseline")-                     <*> (x .:? "BaselineId"))--instance Hashable PatchBaselineIdentity where--instance NFData PatchBaselineIdentity where---- | Information about the state of a patch on a particular instance as it relates to the patch baseline used to patch the instance.------------ /See:/ 'patchComplianceData' smart constructor.-data PatchComplianceData = PatchComplianceData'-  { _pcdTitle          :: !Text-  , _pcdKBId           :: !Text-  , _pcdClassification :: !Text-  , _pcdSeverity       :: !Text-  , _pcdState          :: !PatchComplianceDataState-  , _pcdInstalledTime  :: !POSIX-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchComplianceData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcdTitle' - The title of the patch.------ * 'pcdKBId' - The operating system-specific ID of the patch.------ * 'pcdClassification' - The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).------ * 'pcdSeverity' - The severity of the patch (for example, Critical, Important, Moderate).------ * 'pcdState' - The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).------ * 'pcdInstalledTime' - The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information.-patchComplianceData-    :: Text -- ^ 'pcdTitle'-    -> Text -- ^ 'pcdKBId'-    -> Text -- ^ 'pcdClassification'-    -> Text -- ^ 'pcdSeverity'-    -> PatchComplianceDataState -- ^ 'pcdState'-    -> UTCTime -- ^ 'pcdInstalledTime'-    -> PatchComplianceData-patchComplianceData pTitle_ pKBId_ pClassification_ pSeverity_ pState_ pInstalledTime_ =-  PatchComplianceData'-  { _pcdTitle = pTitle_-  , _pcdKBId = pKBId_-  , _pcdClassification = pClassification_-  , _pcdSeverity = pSeverity_-  , _pcdState = pState_-  , _pcdInstalledTime = _Time # pInstalledTime_-  }----- | The title of the patch.-pcdTitle :: Lens' PatchComplianceData Text-pcdTitle = lens _pcdTitle (\ s a -> s{_pcdTitle = a});---- | The operating system-specific ID of the patch.-pcdKBId :: Lens' PatchComplianceData Text-pcdKBId = lens _pcdKBId (\ s a -> s{_pcdKBId = a});---- | The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).-pcdClassification :: Lens' PatchComplianceData Text-pcdClassification = lens _pcdClassification (\ s a -> s{_pcdClassification = a});---- | The severity of the patch (for example, Critical, Important, Moderate).-pcdSeverity :: Lens' PatchComplianceData Text-pcdSeverity = lens _pcdSeverity (\ s a -> s{_pcdSeverity = a});---- | The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).-pcdState :: Lens' PatchComplianceData PatchComplianceDataState-pcdState = lens _pcdState (\ s a -> s{_pcdState = a});---- | 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-pcdInstalledTime = lens _pcdInstalledTime (\ s a -> s{_pcdInstalledTime = a}) . _Time;--instance FromJSON PatchComplianceData where-        parseJSON-          = withObject "PatchComplianceData"-              (\ x ->-                 PatchComplianceData' <$>-                   (x .: "Title") <*> (x .: "KBId") <*>-                     (x .: "Classification")-                     <*> (x .: "Severity")-                     <*> (x .: "State")-                     <*> (x .: "InstalledTime"))--instance Hashable PatchComplianceData where--instance NFData PatchComplianceData where---- | Defines a patch filter.------------ /See:/ 'patchFilter' smart constructor.-data PatchFilter = PatchFilter'-  { _pfKey    :: !PatchFilterKey-  , _pfValues :: !(List1 Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pfKey' - The key for the filter (PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID)------ * 'pfValues' - The value for the filter key.-patchFilter-    :: PatchFilterKey -- ^ 'pfKey'-    -> NonEmpty Text -- ^ 'pfValues'-    -> PatchFilter-patchFilter pKey_ pValues_ =-  PatchFilter' {_pfKey = pKey_, _pfValues = _List1 # pValues_}----- | The key for the filter (PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID)-pfKey :: Lens' PatchFilter PatchFilterKey-pfKey = lens _pfKey (\ s a -> s{_pfKey = a});---- | The value for the filter key.-pfValues :: Lens' PatchFilter (NonEmpty Text)-pfValues = lens _pfValues (\ s a -> s{_pfValues = a}) . _List1;--instance FromJSON PatchFilter where-        parseJSON-          = withObject "PatchFilter"-              (\ x ->-                 PatchFilter' <$> (x .: "Key") <*> (x .: "Values"))--instance Hashable PatchFilter where--instance NFData PatchFilter where--instance ToJSON PatchFilter where-        toJSON PatchFilter'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _pfKey),-                  Just ("Values" .= _pfValues)])---- | A set of patch filters, typically used for approval rules.------------ /See:/ 'patchFilterGroup' smart constructor.-newtype PatchFilterGroup = PatchFilterGroup'-  { _pfgPatchFilters :: [PatchFilter]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchFilterGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pfgPatchFilters' - The set of patch filters that make up the group.-patchFilterGroup-    :: PatchFilterGroup-patchFilterGroup = PatchFilterGroup' {_pfgPatchFilters = mempty}----- | The set of patch filters that make up the group.-pfgPatchFilters :: Lens' PatchFilterGroup [PatchFilter]-pfgPatchFilters = lens _pfgPatchFilters (\ s a -> s{_pfgPatchFilters = a}) . _Coerce;--instance FromJSON PatchFilterGroup where-        parseJSON-          = withObject "PatchFilterGroup"-              (\ x ->-                 PatchFilterGroup' <$>-                   (x .:? "PatchFilters" .!= mempty))--instance Hashable PatchFilterGroup where--instance NFData PatchFilterGroup where--instance ToJSON PatchFilterGroup where-        toJSON PatchFilterGroup'{..}-          = object-              (catMaybes-                 [Just ("PatchFilters" .= _pfgPatchFilters)])---- | The mapping between a patch group and the patch baseline the patch group is registered with.------------ /See:/ 'patchGroupPatchBaselineMapping' smart constructor.-data PatchGroupPatchBaselineMapping = PatchGroupPatchBaselineMapping'-  { _pgpbmBaselineIdentity :: !(Maybe PatchBaselineIdentity)-  , _pgpbmPatchGroup       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchGroupPatchBaselineMapping' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgpbmBaselineIdentity' - The patch baseline the patch group is registered with.------ * 'pgpbmPatchGroup' - The name of the patch group registered with the patch baseline.-patchGroupPatchBaselineMapping-    :: PatchGroupPatchBaselineMapping-patchGroupPatchBaselineMapping =-  PatchGroupPatchBaselineMapping'-  {_pgpbmBaselineIdentity = Nothing, _pgpbmPatchGroup = Nothing}----- | The patch baseline the patch group is registered with.-pgpbmBaselineIdentity :: Lens' PatchGroupPatchBaselineMapping (Maybe PatchBaselineIdentity)-pgpbmBaselineIdentity = lens _pgpbmBaselineIdentity (\ s a -> s{_pgpbmBaselineIdentity = a});---- | The name of the patch group registered with the patch baseline.-pgpbmPatchGroup :: Lens' PatchGroupPatchBaselineMapping (Maybe Text)-pgpbmPatchGroup = lens _pgpbmPatchGroup (\ s a -> s{_pgpbmPatchGroup = a});--instance FromJSON PatchGroupPatchBaselineMapping-         where-        parseJSON-          = withObject "PatchGroupPatchBaselineMapping"-              (\ x ->-                 PatchGroupPatchBaselineMapping' <$>-                   (x .:? "BaselineIdentity") <*> (x .:? "PatchGroup"))--instance Hashable PatchGroupPatchBaselineMapping-         where--instance NFData PatchGroupPatchBaselineMapping where---- | Defines a filter used in Patch Manager APIs.------------ /See:/ 'patchOrchestratorFilter' smart constructor.-data PatchOrchestratorFilter = PatchOrchestratorFilter'-  { _pofValues :: !(Maybe [Text])-  , _pofKey    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchOrchestratorFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pofValues' - The value for the filter.------ * 'pofKey' - The key for the filter.-patchOrchestratorFilter-    :: PatchOrchestratorFilter-patchOrchestratorFilter =-  PatchOrchestratorFilter' {_pofValues = Nothing, _pofKey = Nothing}----- | The value for the filter.-pofValues :: Lens' PatchOrchestratorFilter [Text]-pofValues = lens _pofValues (\ s a -> s{_pofValues = a}) . _Default . _Coerce;---- | The key for the filter.-pofKey :: Lens' PatchOrchestratorFilter (Maybe Text)-pofKey = lens _pofKey (\ s a -> s{_pofKey = a});--instance Hashable PatchOrchestratorFilter where--instance NFData PatchOrchestratorFilter where--instance ToJSON PatchOrchestratorFilter where-        toJSON PatchOrchestratorFilter'{..}-          = object-              (catMaybes-                 [("Values" .=) <$> _pofValues,-                  ("Key" .=) <$> _pofKey])---- | Defines an approval rule for a patch baseline.------------ /See:/ 'patchRule' smart constructor.-data PatchRule = PatchRule'-  { _prComplianceLevel  :: !(Maybe PatchComplianceLevel)-  , _prPatchFilterGroup :: !PatchFilterGroup-  , _prApproveAfterDays :: !Nat-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prComplianceLevel' - 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.------ * 'prPatchFilterGroup' - The patch filter group that defines the criteria for the rule.------ * 'prApproveAfterDays' - 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.-patchRule-    :: PatchFilterGroup -- ^ 'prPatchFilterGroup'-    -> Natural -- ^ 'prApproveAfterDays'-    -> PatchRule-patchRule pPatchFilterGroup_ pApproveAfterDays_ =-  PatchRule'-  { _prComplianceLevel = Nothing-  , _prPatchFilterGroup = pPatchFilterGroup_-  , _prApproveAfterDays = _Nat # pApproveAfterDays_-  }----- | 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)-prComplianceLevel = lens _prComplianceLevel (\ s a -> s{_prComplianceLevel = a});---- | The patch filter group that defines the criteria for the rule.-prPatchFilterGroup :: Lens' PatchRule PatchFilterGroup-prPatchFilterGroup = lens _prPatchFilterGroup (\ s a -> s{_prPatchFilterGroup = 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.-prApproveAfterDays :: Lens' PatchRule Natural-prApproveAfterDays = lens _prApproveAfterDays (\ s a -> s{_prApproveAfterDays = a}) . _Nat;--instance FromJSON PatchRule where-        parseJSON-          = withObject "PatchRule"-              (\ x ->-                 PatchRule' <$>-                   (x .:? "ComplianceLevel") <*>-                     (x .: "PatchFilterGroup")-                     <*> (x .: "ApproveAfterDays"))--instance Hashable PatchRule where--instance NFData PatchRule where--instance ToJSON PatchRule where-        toJSON PatchRule'{..}-          = object-              (catMaybes-                 [("ComplianceLevel" .=) <$> _prComplianceLevel,-                  Just ("PatchFilterGroup" .= _prPatchFilterGroup),-                  Just ("ApproveAfterDays" .= _prApproveAfterDays)])---- | A set of rules defining the approval rules for a patch baseline.------------ /See:/ 'patchRuleGroup' smart constructor.-newtype PatchRuleGroup = PatchRuleGroup'-  { _prgPatchRules :: [PatchRule]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchRuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prgPatchRules' - The rules that make up the rule group.-patchRuleGroup-    :: PatchRuleGroup-patchRuleGroup = PatchRuleGroup' {_prgPatchRules = mempty}----- | The rules that make up the rule group.-prgPatchRules :: Lens' PatchRuleGroup [PatchRule]-prgPatchRules = lens _prgPatchRules (\ s a -> s{_prgPatchRules = a}) . _Coerce;--instance FromJSON PatchRuleGroup where-        parseJSON-          = withObject "PatchRuleGroup"-              (\ x ->-                 PatchRuleGroup' <$> (x .:? "PatchRules" .!= mempty))--instance Hashable PatchRuleGroup where--instance NFData PatchRuleGroup where--instance ToJSON PatchRuleGroup where-        toJSON PatchRuleGroup'{..}-          = object-              (catMaybes [Just ("PatchRules" .= _prgPatchRules)])---- | Information about the approval status of a patch.------------ /See:/ 'patchStatus' smart constructor.-data PatchStatus = PatchStatus'-  { _psApprovalDate     :: !(Maybe POSIX)-  , _psDeploymentStatus :: !(Maybe PatchDeploymentStatus)-  , _psComplianceLevel  :: !(Maybe PatchComplianceLevel)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PatchStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psApprovalDate' - The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).------ * 'psDeploymentStatus' - The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).------ * 'psComplianceLevel' - The compliance severity level for a patch.-patchStatus-    :: PatchStatus-patchStatus =-  PatchStatus'-  { _psApprovalDate = Nothing-  , _psDeploymentStatus = Nothing-  , _psComplianceLevel = Nothing-  }----- | The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).-psApprovalDate :: Lens' PatchStatus (Maybe UTCTime)-psApprovalDate = lens _psApprovalDate (\ s a -> s{_psApprovalDate = a}) . mapping _Time;---- | The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).-psDeploymentStatus :: Lens' PatchStatus (Maybe PatchDeploymentStatus)-psDeploymentStatus = lens _psDeploymentStatus (\ s a -> s{_psDeploymentStatus = a});---- | The compliance severity level for a patch.-psComplianceLevel :: Lens' PatchStatus (Maybe PatchComplianceLevel)-psComplianceLevel = lens _psComplianceLevel (\ s a -> s{_psComplianceLevel = a});--instance FromJSON PatchStatus where-        parseJSON-          = withObject "PatchStatus"-              (\ x ->-                 PatchStatus' <$>-                   (x .:? "ApprovalDate") <*> (x .:? "DeploymentStatus")-                     <*> (x .:? "ComplianceLevel"))--instance Hashable PatchStatus where--instance NFData PatchStatus where---- | Compliance summary information for a specific resource.------------ /See:/ 'resourceComplianceSummaryItem' smart constructor.-data ResourceComplianceSummaryItem = ResourceComplianceSummaryItem'-  { _rcsiNonCompliantSummary :: !(Maybe NonCompliantSummary)-  , _rcsiStatus              :: !(Maybe ComplianceStatus)-  , _rcsiResourceId          :: !(Maybe Text)-  , _rcsiResourceType        :: !(Maybe Text)-  , _rcsiCompliantSummary    :: !(Maybe CompliantSummary)-  , _rcsiExecutionSummary    :: !(Maybe ComplianceExecutionSummary)-  , _rcsiOverallSeverity     :: !(Maybe ComplianceSeverity)-  , _rcsiComplianceType      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceComplianceSummaryItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcsiNonCompliantSummary' - A list of items that aren't compliant for the resource.------ * 'rcsiStatus' - The compliance status for the resource.------ * 'rcsiResourceId' - The resource ID.------ * 'rcsiResourceType' - The resource type.------ * 'rcsiCompliantSummary' - A list of items that are compliant for the resource.------ * 'rcsiExecutionSummary' - Information about the execution.------ * 'rcsiOverallSeverity' - The highest severity item found for the resource. The resource is compliant for this item.------ * 'rcsiComplianceType' - The compliance type.-resourceComplianceSummaryItem-    :: ResourceComplianceSummaryItem-resourceComplianceSummaryItem =-  ResourceComplianceSummaryItem'-  { _rcsiNonCompliantSummary = Nothing-  , _rcsiStatus = Nothing-  , _rcsiResourceId = Nothing-  , _rcsiResourceType = Nothing-  , _rcsiCompliantSummary = Nothing-  , _rcsiExecutionSummary = Nothing-  , _rcsiOverallSeverity = Nothing-  , _rcsiComplianceType = Nothing-  }----- | A list of items that aren't compliant for the resource.-rcsiNonCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe NonCompliantSummary)-rcsiNonCompliantSummary = lens _rcsiNonCompliantSummary (\ s a -> s{_rcsiNonCompliantSummary = a});---- | The compliance status for the resource.-rcsiStatus :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceStatus)-rcsiStatus = lens _rcsiStatus (\ s a -> s{_rcsiStatus = a});---- | The resource ID.-rcsiResourceId :: Lens' ResourceComplianceSummaryItem (Maybe Text)-rcsiResourceId = lens _rcsiResourceId (\ s a -> s{_rcsiResourceId = a});---- | The resource type.-rcsiResourceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)-rcsiResourceType = lens _rcsiResourceType (\ s a -> s{_rcsiResourceType = a});---- | A list of items that are compliant for the resource.-rcsiCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe CompliantSummary)-rcsiCompliantSummary = lens _rcsiCompliantSummary (\ s a -> s{_rcsiCompliantSummary = a});---- | Information about the execution.-rcsiExecutionSummary :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceExecutionSummary)-rcsiExecutionSummary = lens _rcsiExecutionSummary (\ s a -> s{_rcsiExecutionSummary = a});---- | The highest severity item found for the resource. The resource is compliant for this item.-rcsiOverallSeverity :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceSeverity)-rcsiOverallSeverity = lens _rcsiOverallSeverity (\ s a -> s{_rcsiOverallSeverity = a});---- | The compliance type.-rcsiComplianceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)-rcsiComplianceType = lens _rcsiComplianceType (\ s a -> s{_rcsiComplianceType = a});--instance FromJSON ResourceComplianceSummaryItem where-        parseJSON-          = withObject "ResourceComplianceSummaryItem"-              (\ x ->-                 ResourceComplianceSummaryItem' <$>-                   (x .:? "NonCompliantSummary") <*> (x .:? "Status")-                     <*> (x .:? "ResourceId")-                     <*> (x .:? "ResourceType")-                     <*> (x .:? "CompliantSummary")-                     <*> (x .:? "ExecutionSummary")-                     <*> (x .:? "OverallSeverity")-                     <*> (x .:? "ComplianceType"))--instance Hashable ResourceComplianceSummaryItem where--instance NFData ResourceComplianceSummaryItem where---- | Information about a Resource Data Sync configuration, including its current status and last successful sync.------------ /See:/ 'resourceDataSyncItem' smart constructor.-data ResourceDataSyncItem = ResourceDataSyncItem'-  { _rdsiSyncCreatedTime        :: !(Maybe POSIX)-  , _rdsiLastSyncTime           :: !(Maybe POSIX)-  , _rdsiSyncName               :: !(Maybe Text)-  , _rdsiLastStatus             :: !(Maybe LastResourceDataSyncStatus)-  , _rdsiS3Destination          :: !(Maybe ResourceDataSyncS3Destination)-  , _rdsiLastSuccessfulSyncTime :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceDataSyncItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdsiSyncCreatedTime' - The date and time the configuration was created (UTC).------ * 'rdsiLastSyncTime' - The last time the configuration attempted to sync (UTC).------ * 'rdsiSyncName' - The name of the Resource Data Sync.------ * 'rdsiLastStatus' - The status reported by the last sync.------ * 'rdsiS3Destination' - Configuration information for the target Amazon S3 bucket.------ * 'rdsiLastSuccessfulSyncTime' - The last time the sync operations returned a status of @SUCCESSFUL@ (UTC).-resourceDataSyncItem-    :: ResourceDataSyncItem-resourceDataSyncItem =-  ResourceDataSyncItem'-  { _rdsiSyncCreatedTime = Nothing-  , _rdsiLastSyncTime = Nothing-  , _rdsiSyncName = Nothing-  , _rdsiLastStatus = Nothing-  , _rdsiS3Destination = Nothing-  , _rdsiLastSuccessfulSyncTime = Nothing-  }----- | The date and time the configuration was created (UTC).-rdsiSyncCreatedTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)-rdsiSyncCreatedTime = lens _rdsiSyncCreatedTime (\ s a -> s{_rdsiSyncCreatedTime = a}) . mapping _Time;---- | The last time the configuration attempted to sync (UTC).-rdsiLastSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)-rdsiLastSyncTime = lens _rdsiLastSyncTime (\ s a -> s{_rdsiLastSyncTime = a}) . mapping _Time;---- | The name of the Resource Data Sync.-rdsiSyncName :: Lens' ResourceDataSyncItem (Maybe Text)-rdsiSyncName = lens _rdsiSyncName (\ s a -> s{_rdsiSyncName = a});---- | The status reported by the last sync.-rdsiLastStatus :: Lens' ResourceDataSyncItem (Maybe LastResourceDataSyncStatus)-rdsiLastStatus = lens _rdsiLastStatus (\ s a -> s{_rdsiLastStatus = a});---- | Configuration information for the target Amazon S3 bucket.-rdsiS3Destination :: Lens' ResourceDataSyncItem (Maybe ResourceDataSyncS3Destination)-rdsiS3Destination = lens _rdsiS3Destination (\ s a -> s{_rdsiS3Destination = a});---- | The last time the sync operations returned a status of @SUCCESSFUL@ (UTC).-rdsiLastSuccessfulSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)-rdsiLastSuccessfulSyncTime = lens _rdsiLastSuccessfulSyncTime (\ s a -> s{_rdsiLastSuccessfulSyncTime = a}) . mapping _Time;--instance FromJSON ResourceDataSyncItem where-        parseJSON-          = withObject "ResourceDataSyncItem"-              (\ x ->-                 ResourceDataSyncItem' <$>-                   (x .:? "SyncCreatedTime") <*> (x .:? "LastSyncTime")-                     <*> (x .:? "SyncName")-                     <*> (x .:? "LastStatus")-                     <*> (x .:? "S3Destination")-                     <*> (x .:? "LastSuccessfulSyncTime"))--instance Hashable ResourceDataSyncItem where--instance NFData ResourceDataSyncItem where---- | Information about the target Amazon S3 bucket for the Resource Data Sync.------------ /See:/ 'resourceDataSyncS3Destination' smart constructor.-data ResourceDataSyncS3Destination = ResourceDataSyncS3Destination'-  { _rdssdPrefix       :: !(Maybe Text)-  , _rdssdAWSKMSKeyARN :: !(Maybe Text)-  , _rdssdBucketName   :: !Text-  , _rdssdSyncFormat   :: !ResourceDataSyncS3Format-  , _rdssdRegion       :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceDataSyncS3Destination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdssdPrefix' - An Amazon S3 prefix for the bucket.------ * 'rdssdAWSKMSKeyARN' - The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket.------ * 'rdssdBucketName' - The name of the Amazon S3 bucket where the aggregated data is stored.------ * 'rdssdSyncFormat' - A supported sync format. The following format is currently supported: JsonSerDe------ * 'rdssdRegion' - The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.-resourceDataSyncS3Destination-    :: Text -- ^ 'rdssdBucketName'-    -> ResourceDataSyncS3Format -- ^ 'rdssdSyncFormat'-    -> Text -- ^ 'rdssdRegion'-    -> ResourceDataSyncS3Destination-resourceDataSyncS3Destination pBucketName_ pSyncFormat_ pRegion_ =-  ResourceDataSyncS3Destination'-  { _rdssdPrefix = Nothing-  , _rdssdAWSKMSKeyARN = Nothing-  , _rdssdBucketName = pBucketName_-  , _rdssdSyncFormat = pSyncFormat_-  , _rdssdRegion = pRegion_-  }----- | An Amazon S3 prefix for the bucket.-rdssdPrefix :: Lens' ResourceDataSyncS3Destination (Maybe Text)-rdssdPrefix = lens _rdssdPrefix (\ s a -> s{_rdssdPrefix = 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.-rdssdAWSKMSKeyARN :: Lens' ResourceDataSyncS3Destination (Maybe Text)-rdssdAWSKMSKeyARN = lens _rdssdAWSKMSKeyARN (\ s a -> s{_rdssdAWSKMSKeyARN = a});---- | The name of the Amazon S3 bucket where the aggregated data is stored.-rdssdBucketName :: Lens' ResourceDataSyncS3Destination Text-rdssdBucketName = lens _rdssdBucketName (\ s a -> s{_rdssdBucketName = a});---- | A supported sync format. The following format is currently supported: JsonSerDe-rdssdSyncFormat :: Lens' ResourceDataSyncS3Destination ResourceDataSyncS3Format-rdssdSyncFormat = lens _rdssdSyncFormat (\ s a -> s{_rdssdSyncFormat = a});---- | The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.-rdssdRegion :: Lens' ResourceDataSyncS3Destination Text-rdssdRegion = lens _rdssdRegion (\ s a -> s{_rdssdRegion = a});--instance FromJSON ResourceDataSyncS3Destination where-        parseJSON-          = withObject "ResourceDataSyncS3Destination"-              (\ x ->-                 ResourceDataSyncS3Destination' <$>-                   (x .:? "Prefix") <*> (x .:? "AWSKMSKeyARN") <*>-                     (x .: "BucketName")-                     <*> (x .: "SyncFormat")-                     <*> (x .: "Region"))--instance Hashable ResourceDataSyncS3Destination where--instance NFData ResourceDataSyncS3Destination where--instance ToJSON ResourceDataSyncS3Destination where-        toJSON ResourceDataSyncS3Destination'{..}-          = object-              (catMaybes-                 [("Prefix" .=) <$> _rdssdPrefix,-                  ("AWSKMSKeyARN" .=) <$> _rdssdAWSKMSKeyARN,-                  Just ("BucketName" .= _rdssdBucketName),-                  Just ("SyncFormat" .= _rdssdSyncFormat),-                  Just ("Region" .= _rdssdRegion)])---- | The inventory item result attribute.------------ /See:/ 'resultAttribute' smart constructor.-newtype ResultAttribute = ResultAttribute'-  { _raTypeName :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResultAttribute' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'raTypeName' - Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.-resultAttribute-    :: Text -- ^ 'raTypeName'-    -> ResultAttribute-resultAttribute pTypeName_ = ResultAttribute' {_raTypeName = pTypeName_}----- | Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.-raTypeName :: Lens' ResultAttribute Text-raTypeName = lens _raTypeName (\ s a -> s{_raTypeName = a});--instance Hashable ResultAttribute where--instance NFData ResultAttribute where--instance ToJSON ResultAttribute where-        toJSON ResultAttribute'{..}-          = object-              (catMaybes [Just ("TypeName" .= _raTypeName)])---- | An Amazon S3 bucket where you want to store the results of this request.------------ /See:/ 's3OutputLocation' smart constructor.-data S3OutputLocation = S3OutputLocation'-  { _solOutputS3KeyPrefix  :: !(Maybe Text)-  , _solOutputS3Region     :: !(Maybe Text)-  , _solOutputS3BucketName :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'S3OutputLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'solOutputS3KeyPrefix' - The Amazon S3 bucket subfolder.------ * 'solOutputS3Region' - (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.------ * 'solOutputS3BucketName' - The name of the Amazon S3 bucket.-s3OutputLocation-    :: S3OutputLocation-s3OutputLocation =-  S3OutputLocation'-  { _solOutputS3KeyPrefix = Nothing-  , _solOutputS3Region = Nothing-  , _solOutputS3BucketName = Nothing-  }----- | The Amazon S3 bucket subfolder.-solOutputS3KeyPrefix :: Lens' S3OutputLocation (Maybe Text)-solOutputS3KeyPrefix = lens _solOutputS3KeyPrefix (\ s a -> s{_solOutputS3KeyPrefix = a});---- | (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)-solOutputS3Region = lens _solOutputS3Region (\ s a -> s{_solOutputS3Region = a});---- | The name of the Amazon S3 bucket.-solOutputS3BucketName :: Lens' S3OutputLocation (Maybe Text)-solOutputS3BucketName = lens _solOutputS3BucketName (\ s a -> s{_solOutputS3BucketName = a});--instance FromJSON S3OutputLocation where-        parseJSON-          = withObject "S3OutputLocation"-              (\ x ->-                 S3OutputLocation' <$>-                   (x .:? "OutputS3KeyPrefix") <*>-                     (x .:? "OutputS3Region")-                     <*> (x .:? "OutputS3BucketName"))--instance Hashable S3OutputLocation where--instance NFData S3OutputLocation where--instance ToJSON S3OutputLocation where-        toJSON S3OutputLocation'{..}-          = object-              (catMaybes-                 [("OutputS3KeyPrefix" .=) <$> _solOutputS3KeyPrefix,-                  ("OutputS3Region" .=) <$> _solOutputS3Region,-                  ("OutputS3BucketName" .=) <$>-                    _solOutputS3BucketName])---- | A URL for the Amazon S3 bucket where you want to store the results of this request.------------ /See:/ 's3OutputURL' smart constructor.-newtype S3OutputURL = S3OutputURL'-  { _souOutputURL :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'S3OutputURL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'souOutputURL' - A URL for an Amazon S3 bucket where you want to store the results of this request.-s3OutputURL-    :: S3OutputURL-s3OutputURL = S3OutputURL' {_souOutputURL = Nothing}----- | A URL for an Amazon S3 bucket where you want to store the results of this request.-souOutputURL :: Lens' S3OutputURL (Maybe Text)-souOutputURL = lens _souOutputURL (\ s a -> s{_souOutputURL = a});--instance FromJSON S3OutputURL where-        parseJSON-          = withObject "S3OutputURL"-              (\ x -> S3OutputURL' <$> (x .:? "OutputUrl"))--instance Hashable S3OutputURL where--instance NFData S3OutputURL where---- | The number of managed instances found for each patch severity level defined in the request filter.------------ /See:/ 'severitySummary' smart constructor.-data SeveritySummary = SeveritySummary'-  { _ssLowCount           :: !(Maybe Int)-  , _ssUnspecifiedCount   :: !(Maybe Int)-  , _ssHighCount          :: !(Maybe Int)-  , _ssMediumCount        :: !(Maybe Int)-  , _ssInformationalCount :: !(Maybe Int)-  , _ssCriticalCount      :: !(Maybe Int)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SeveritySummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssLowCount' - 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.------ * 'ssUnspecifiedCount' - 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.------ * 'ssHighCount' - 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.------ * 'ssMediumCount' - 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.------ * 'ssInformationalCount' - 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.------ * 'ssCriticalCount' - 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.-severitySummary-    :: SeveritySummary-severitySummary =-  SeveritySummary'-  { _ssLowCount = Nothing-  , _ssUnspecifiedCount = Nothing-  , _ssHighCount = Nothing-  , _ssMediumCount = Nothing-  , _ssInformationalCount = Nothing-  , _ssCriticalCount = Nothing-  }----- | 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)-ssLowCount = lens _ssLowCount (\ s a -> s{_ssLowCount = 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.-ssUnspecifiedCount :: Lens' SeveritySummary (Maybe Int)-ssUnspecifiedCount = lens _ssUnspecifiedCount (\ s a -> s{_ssUnspecifiedCount = 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.-ssHighCount :: Lens' SeveritySummary (Maybe Int)-ssHighCount = lens _ssHighCount (\ s a -> s{_ssHighCount = 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.-ssMediumCount :: Lens' SeveritySummary (Maybe Int)-ssMediumCount = lens _ssMediumCount (\ s a -> s{_ssMediumCount = 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.-ssInformationalCount :: Lens' SeveritySummary (Maybe Int)-ssInformationalCount = lens _ssInformationalCount (\ s a -> s{_ssInformationalCount = 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.-ssCriticalCount :: Lens' SeveritySummary (Maybe Int)-ssCriticalCount = lens _ssCriticalCount (\ s a -> s{_ssCriticalCount = a});--instance FromJSON SeveritySummary where-        parseJSON-          = withObject "SeveritySummary"-              (\ x ->-                 SeveritySummary' <$>-                   (x .:? "LowCount") <*> (x .:? "UnspecifiedCount") <*>-                     (x .:? "HighCount")-                     <*> (x .:? "MediumCount")-                     <*> (x .:? "InformationalCount")-                     <*> (x .:? "CriticalCount"))--instance Hashable SeveritySummary where--instance NFData SeveritySummary where---- | Detailed information about an the execution state of an Automation step.------------ /See:/ 'stepExecution' smart constructor.-data StepExecution = StepExecution'-  { _seFailureDetails     :: !(Maybe FailureDetails)-  , _seInputs             :: !(Maybe (Map Text Text))-  , _seStepName           :: !(Maybe Text)-  , _seExecutionEndTime   :: !(Maybe POSIX)-  , _seFailureMessage     :: !(Maybe Text)-  , _seResponse           :: !(Maybe Text)-  , _seAction             :: !(Maybe Text)-  , _seResponseCode       :: !(Maybe Text)-  , _seStepStatus         :: !(Maybe AutomationExecutionStatus)-  , _seOutputs            :: !(Maybe (Map Text [Text]))-  , _seExecutionStartTime :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StepExecution' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'seFailureDetails' - Information about the Automation failure.------ * 'seInputs' - Fully-resolved values passed into the step before execution.------ * 'seStepName' - The name of this execution step.------ * 'seExecutionEndTime' - 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.------ * 'seFailureMessage' - If a step failed, this message explains why the execution failed.------ * 'seResponse' - A message associated with the response code for an execution.------ * 'seAction' - The action this step performs. The action determines the behavior of the step.------ * 'seResponseCode' - The response code returned by the execution of the step.------ * 'seStepStatus' - The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.------ * 'seOutputs' - Returned values from the execution of the step.------ * 'seExecutionStartTime' - 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.-stepExecution-    :: StepExecution-stepExecution =-  StepExecution'-  { _seFailureDetails = Nothing-  , _seInputs = Nothing-  , _seStepName = Nothing-  , _seExecutionEndTime = Nothing-  , _seFailureMessage = Nothing-  , _seResponse = Nothing-  , _seAction = Nothing-  , _seResponseCode = Nothing-  , _seStepStatus = Nothing-  , _seOutputs = Nothing-  , _seExecutionStartTime = Nothing-  }----- | Information about the Automation failure.-seFailureDetails :: Lens' StepExecution (Maybe FailureDetails)-seFailureDetails = lens _seFailureDetails (\ s a -> s{_seFailureDetails = a});---- | Fully-resolved values passed into the step before execution.-seInputs :: Lens' StepExecution (HashMap Text Text)-seInputs = lens _seInputs (\ s a -> s{_seInputs = a}) . _Default . _Map;---- | The name of this execution step.-seStepName :: Lens' StepExecution (Maybe Text)-seStepName = lens _seStepName (\ s a -> s{_seStepName = 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.-seExecutionEndTime :: Lens' StepExecution (Maybe UTCTime)-seExecutionEndTime = lens _seExecutionEndTime (\ s a -> s{_seExecutionEndTime = a}) . mapping _Time;---- | If a step failed, this message explains why the execution failed.-seFailureMessage :: Lens' StepExecution (Maybe Text)-seFailureMessage = lens _seFailureMessage (\ s a -> s{_seFailureMessage = a});---- | A message associated with the response code for an execution.-seResponse :: Lens' StepExecution (Maybe Text)-seResponse = lens _seResponse (\ s a -> s{_seResponse = a});---- | The action this step performs. The action determines the behavior of the step.-seAction :: Lens' StepExecution (Maybe Text)-seAction = lens _seAction (\ s a -> s{_seAction = a});---- | The response code returned by the execution of the step.-seResponseCode :: Lens' StepExecution (Maybe Text)-seResponseCode = lens _seResponseCode (\ s a -> s{_seResponseCode = a});---- | The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.-seStepStatus :: Lens' StepExecution (Maybe AutomationExecutionStatus)-seStepStatus = lens _seStepStatus (\ s a -> s{_seStepStatus = a});---- | Returned values from the execution of the step.-seOutputs :: Lens' StepExecution (HashMap Text [Text])-seOutputs = lens _seOutputs (\ s a -> s{_seOutputs = a}) . _Default . _Map;---- | 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)-seExecutionStartTime = lens _seExecutionStartTime (\ s a -> s{_seExecutionStartTime = a}) . mapping _Time;--instance FromJSON StepExecution where-        parseJSON-          = withObject "StepExecution"-              (\ x ->-                 StepExecution' <$>-                   (x .:? "FailureDetails") <*>-                     (x .:? "Inputs" .!= mempty)-                     <*> (x .:? "StepName")-                     <*> (x .:? "ExecutionEndTime")-                     <*> (x .:? "FailureMessage")-                     <*> (x .:? "Response")-                     <*> (x .:? "Action")-                     <*> (x .:? "ResponseCode")-                     <*> (x .:? "StepStatus")-                     <*> (x .:? "Outputs" .!= mempty)-                     <*> (x .:? "ExecutionStartTime"))--instance Hashable StepExecution where--instance NFData StepExecution where---- | 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.------------ /See:/ 'tag' smart constructor.-data Tag = Tag'-  { _tagKey   :: !Text-  , _tagValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Tag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tagKey' - The name of the tag.------ * 'tagValue' - The value of the tag.-tag-    :: Text -- ^ 'tagKey'-    -> Text -- ^ 'tagValue'-    -> Tag-tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}----- | The name of the tag.-tagKey :: Lens' Tag Text-tagKey = lens _tagKey (\ s a -> s{_tagKey = a});---- | The value of the tag.-tagValue :: Lens' Tag Text-tagValue = lens _tagValue (\ s a -> s{_tagValue = a});--instance FromJSON Tag where-        parseJSON-          = withObject "Tag"-              (\ x -> Tag' <$> (x .: "Key") <*> (x .: "Value"))--instance Hashable Tag where--instance NFData Tag where--instance ToJSON Tag where-        toJSON Tag'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _tagKey),-                  Just ("Value" .= _tagValue)])---- | 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.------------------ /See:/ 'target' smart constructor.-data Target = Target'-  { _tValues :: !(Maybe [Text])-  , _tKey    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Target' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tValues' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .------ * 'tKey' - User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .-target-    :: Target-target = Target' {_tValues = Nothing, _tKey = Nothing}----- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .-tValues :: Lens' Target [Text]-tValues = lens _tValues (\ s a -> s{_tValues = a}) . _Default . _Coerce;---- | User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .-tKey :: Lens' Target (Maybe Text)-tKey = lens _tKey (\ s a -> s{_tKey = a});+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.SSM.Types.Product where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.SSM.Types.Sum++-- | 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.+--+--+--+-- /See:/ 'activation' smart constructor.+data Activation = Activation'+  { _aExpired             :: !(Maybe Bool)+  , _aDefaultInstanceName :: !(Maybe Text)+  , _aActivationId        :: !(Maybe Text)+  , _aCreatedDate         :: !(Maybe POSIX)+  , _aRegistrationLimit   :: !(Maybe Nat)+  , _aExpirationDate      :: !(Maybe POSIX)+  , _aDescription         :: !(Maybe Text)+  , _aRegistrationsCount  :: !(Maybe Nat)+  , _aIAMRole             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Activation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aExpired' - Whether or not the activation is expired.+--+-- * 'aDefaultInstanceName' - A name for the managed instance when it is created.+--+-- * 'aActivationId' - The ID created by Systems Manager when you submitted the activation.+--+-- * 'aCreatedDate' - The date the activation was created.+--+-- * 'aRegistrationLimit' - The maximum number of managed instances that can be registered using this activation.+--+-- * 'aExpirationDate' - The date when this activation can no longer be used to register managed instances.+--+-- * 'aDescription' - A user defined description of the activation.+--+-- * 'aRegistrationsCount' - The number of managed instances already registered with this activation.+--+-- * 'aIAMRole' - The Amazon Identity and Access Management (IAM) role to assign to the managed instance.+activation+    :: Activation+activation =+  Activation'+    { _aExpired = Nothing+    , _aDefaultInstanceName = Nothing+    , _aActivationId = Nothing+    , _aCreatedDate = Nothing+    , _aRegistrationLimit = Nothing+    , _aExpirationDate = Nothing+    , _aDescription = Nothing+    , _aRegistrationsCount = Nothing+    , _aIAMRole = Nothing+    }+++-- | Whether or not the activation is expired.+aExpired :: Lens' Activation (Maybe Bool)+aExpired = lens _aExpired (\ s a -> s{_aExpired = a})++-- | A name for the managed instance when it is created.+aDefaultInstanceName :: Lens' Activation (Maybe Text)+aDefaultInstanceName = lens _aDefaultInstanceName (\ s a -> s{_aDefaultInstanceName = a})++-- | The ID created by Systems Manager when you submitted the activation.+aActivationId :: Lens' Activation (Maybe Text)+aActivationId = lens _aActivationId (\ s a -> s{_aActivationId = a})++-- | The date the activation was created.+aCreatedDate :: Lens' Activation (Maybe UTCTime)+aCreatedDate = lens _aCreatedDate (\ s a -> s{_aCreatedDate = a}) . mapping _Time++-- | The maximum number of managed instances that can be registered using this activation.+aRegistrationLimit :: Lens' Activation (Maybe Natural)+aRegistrationLimit = lens _aRegistrationLimit (\ s a -> s{_aRegistrationLimit = a}) . mapping _Nat++-- | The date when this activation can no longer be used to register managed instances.+aExpirationDate :: Lens' Activation (Maybe UTCTime)+aExpirationDate = lens _aExpirationDate (\ s a -> s{_aExpirationDate = a}) . mapping _Time++-- | A user defined description of the activation.+aDescription :: Lens' Activation (Maybe Text)+aDescription = lens _aDescription (\ s a -> s{_aDescription = a})++-- | The number of managed instances already registered with this activation.+aRegistrationsCount :: Lens' Activation (Maybe Natural)+aRegistrationsCount = lens _aRegistrationsCount (\ s a -> s{_aRegistrationsCount = a}) . mapping _Nat++-- | The Amazon Identity and Access Management (IAM) role to assign to the managed instance.+aIAMRole :: Lens' Activation (Maybe Text)+aIAMRole = lens _aIAMRole (\ s a -> s{_aIAMRole = a})++instance FromJSON Activation where+        parseJSON+          = withObject "Activation"+              (\ x ->+                 Activation' <$>+                   (x .:? "Expired") <*> (x .:? "DefaultInstanceName")+                     <*> (x .:? "ActivationId")+                     <*> (x .:? "CreatedDate")+                     <*> (x .:? "RegistrationLimit")+                     <*> (x .:? "ExpirationDate")+                     <*> (x .:? "Description")+                     <*> (x .:? "RegistrationsCount")+                     <*> (x .:? "IamRole"))++instance Hashable Activation where++instance NFData Activation where++-- | Describes an association of a Systems Manager document and an instance.+--+--+--+-- /See:/ 'association' smart constructor.+data Association = Association'+  { _aAssociationId      :: !(Maybe Text)+  , _aInstanceId         :: !(Maybe Text)+  , _aOverview           :: !(Maybe AssociationOverview)+  , _aLastExecutionDate  :: !(Maybe POSIX)+  , _aScheduleExpression :: !(Maybe Text)+  , _aName               :: !(Maybe Text)+  , _aTargets            :: !(Maybe [Target])+  , _aDocumentVersion    :: !(Maybe Text)+  , _aAssociationVersion :: !(Maybe Text)+  , _aAssociationName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Association' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAssociationId' - 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.+--+-- * 'aInstanceId' - The ID of the instance.+--+-- * 'aOverview' - Information about the association.+--+-- * 'aLastExecutionDate' - The date on which the association was last run.+--+-- * 'aScheduleExpression' - A cron expression that specifies a schedule when the association runs.+--+-- * 'aName' - The name of the Systems Manager document.+--+-- * 'aTargets' - The instances targeted by the request to create an association.+--+-- * 'aDocumentVersion' - The version of the document used in the association.+--+-- * 'aAssociationVersion' - The association version.+--+-- * 'aAssociationName' - The association name.+association+    :: Association+association =+  Association'+    { _aAssociationId = Nothing+    , _aInstanceId = Nothing+    , _aOverview = Nothing+    , _aLastExecutionDate = Nothing+    , _aScheduleExpression = Nothing+    , _aName = Nothing+    , _aTargets = Nothing+    , _aDocumentVersion = Nothing+    , _aAssociationVersion = Nothing+    , _aAssociationName = Nothing+    }+++-- | 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)+aAssociationId = lens _aAssociationId (\ s a -> s{_aAssociationId = a})++-- | The ID of the instance.+aInstanceId :: Lens' Association (Maybe Text)+aInstanceId = lens _aInstanceId (\ s a -> s{_aInstanceId = a})++-- | Information about the association.+aOverview :: Lens' Association (Maybe AssociationOverview)+aOverview = lens _aOverview (\ s a -> s{_aOverview = a})++-- | The date on which the association was last run.+aLastExecutionDate :: Lens' Association (Maybe UTCTime)+aLastExecutionDate = lens _aLastExecutionDate (\ s a -> s{_aLastExecutionDate = a}) . mapping _Time++-- | A cron expression that specifies a schedule when the association runs.+aScheduleExpression :: Lens' Association (Maybe Text)+aScheduleExpression = lens _aScheduleExpression (\ s a -> s{_aScheduleExpression = a})++-- | The name of the Systems Manager document.+aName :: Lens' Association (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | The instances targeted by the request to create an association.+aTargets :: Lens' Association [Target]+aTargets = lens _aTargets (\ s a -> s{_aTargets = a}) . _Default . _Coerce++-- | The version of the document used in the association.+aDocumentVersion :: Lens' Association (Maybe Text)+aDocumentVersion = lens _aDocumentVersion (\ s a -> s{_aDocumentVersion = a})++-- | The association version.+aAssociationVersion :: Lens' Association (Maybe Text)+aAssociationVersion = lens _aAssociationVersion (\ s a -> s{_aAssociationVersion = a})++-- | The association name.+aAssociationName :: Lens' Association (Maybe Text)+aAssociationName = lens _aAssociationName (\ s a -> s{_aAssociationName = a})++instance FromJSON Association where+        parseJSON+          = withObject "Association"+              (\ x ->+                 Association' <$>+                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>+                     (x .:? "Overview")+                     <*> (x .:? "LastExecutionDate")+                     <*> (x .:? "ScheduleExpression")+                     <*> (x .:? "Name")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AssociationVersion")+                     <*> (x .:? "AssociationName"))++instance Hashable Association where++instance NFData Association where++-- | Describes the parameters for a document.+--+--+--+-- /See:/ 'associationDescription' smart constructor.+data AssociationDescription = AssociationDescription'+  { _adAssociationId               :: !(Maybe Text)+  , _adInstanceId                  :: !(Maybe Text)+  , _adStatus                      :: !(Maybe AssociationStatus)+  , _adLastSuccessfulExecutionDate :: !(Maybe POSIX)+  , _adOverview                    :: !(Maybe AssociationOverview)+  , _adLastUpdateAssociationDate   :: !(Maybe POSIX)+  , _adDate                        :: !(Maybe POSIX)+  , _adLastExecutionDate           :: !(Maybe POSIX)+  , _adScheduleExpression          :: !(Maybe Text)+  , _adName                        :: !(Maybe Text)+  , _adOutputLocation              :: !(Maybe InstanceAssociationOutputLocation)+  , _adTargets                     :: !(Maybe [Target])+  , _adParameters                  :: !(Maybe (Map Text [Text]))+  , _adDocumentVersion             :: !(Maybe Text)+  , _adAssociationVersion          :: !(Maybe Text)+  , _adAssociationName             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociationDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adAssociationId' - The association ID.+--+-- * 'adInstanceId' - The ID of the instance.+--+-- * 'adStatus' - The association status.+--+-- * 'adLastSuccessfulExecutionDate' - The last date on which the association was successfully run.+--+-- * 'adOverview' - Information about the association.+--+-- * 'adLastUpdateAssociationDate' - The date when the association was last updated.+--+-- * 'adDate' - The date when the association was made.+--+-- * 'adLastExecutionDate' - The date on which the association was last run.+--+-- * 'adScheduleExpression' - A cron expression that specifies a schedule when the association runs.+--+-- * 'adName' - The name of the Systems Manager document.+--+-- * 'adOutputLocation' - An Amazon S3 bucket where you want to store the output details of the request.+--+-- * 'adTargets' - The instances targeted by the request.+--+-- * 'adParameters' - A description of the parameters for a document.+--+-- * 'adDocumentVersion' - The document version.+--+-- * 'adAssociationVersion' - The association version.+--+-- * 'adAssociationName' - The association name.+associationDescription+    :: AssociationDescription+associationDescription =+  AssociationDescription'+    { _adAssociationId = Nothing+    , _adInstanceId = Nothing+    , _adStatus = Nothing+    , _adLastSuccessfulExecutionDate = Nothing+    , _adOverview = Nothing+    , _adLastUpdateAssociationDate = Nothing+    , _adDate = Nothing+    , _adLastExecutionDate = Nothing+    , _adScheduleExpression = Nothing+    , _adName = Nothing+    , _adOutputLocation = Nothing+    , _adTargets = Nothing+    , _adParameters = Nothing+    , _adDocumentVersion = Nothing+    , _adAssociationVersion = Nothing+    , _adAssociationName = Nothing+    }+++-- | The association ID.+adAssociationId :: Lens' AssociationDescription (Maybe Text)+adAssociationId = lens _adAssociationId (\ s a -> s{_adAssociationId = a})++-- | The ID of the instance.+adInstanceId :: Lens' AssociationDescription (Maybe Text)+adInstanceId = lens _adInstanceId (\ s a -> s{_adInstanceId = a})++-- | The association status.+adStatus :: Lens' AssociationDescription (Maybe AssociationStatus)+adStatus = lens _adStatus (\ s a -> s{_adStatus = a})++-- | The last date on which the association was successfully run.+adLastSuccessfulExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)+adLastSuccessfulExecutionDate = lens _adLastSuccessfulExecutionDate (\ s a -> s{_adLastSuccessfulExecutionDate = a}) . mapping _Time++-- | Information about the association.+adOverview :: Lens' AssociationDescription (Maybe AssociationOverview)+adOverview = lens _adOverview (\ s a -> s{_adOverview = a})++-- | The date when the association was last updated.+adLastUpdateAssociationDate :: Lens' AssociationDescription (Maybe UTCTime)+adLastUpdateAssociationDate = lens _adLastUpdateAssociationDate (\ s a -> s{_adLastUpdateAssociationDate = a}) . mapping _Time++-- | The date when the association was made.+adDate :: Lens' AssociationDescription (Maybe UTCTime)+adDate = lens _adDate (\ s a -> s{_adDate = a}) . mapping _Time++-- | The date on which the association was last run.+adLastExecutionDate :: Lens' AssociationDescription (Maybe UTCTime)+adLastExecutionDate = lens _adLastExecutionDate (\ s a -> s{_adLastExecutionDate = a}) . mapping _Time++-- | A cron expression that specifies a schedule when the association runs.+adScheduleExpression :: Lens' AssociationDescription (Maybe Text)+adScheduleExpression = lens _adScheduleExpression (\ s a -> s{_adScheduleExpression = a})++-- | The name of the Systems Manager document.+adName :: Lens' AssociationDescription (Maybe Text)+adName = lens _adName (\ s a -> s{_adName = a})++-- | An Amazon S3 bucket where you want to store the output details of the request.+adOutputLocation :: Lens' AssociationDescription (Maybe InstanceAssociationOutputLocation)+adOutputLocation = lens _adOutputLocation (\ s a -> s{_adOutputLocation = a})++-- | The instances targeted by the request.+adTargets :: Lens' AssociationDescription [Target]+adTargets = lens _adTargets (\ s a -> s{_adTargets = a}) . _Default . _Coerce++-- | A description of the parameters for a document.+adParameters :: Lens' AssociationDescription (HashMap Text [Text])+adParameters = lens _adParameters (\ s a -> s{_adParameters = a}) . _Default . _Map++-- | The document version.+adDocumentVersion :: Lens' AssociationDescription (Maybe Text)+adDocumentVersion = lens _adDocumentVersion (\ s a -> s{_adDocumentVersion = a})++-- | The association version.+adAssociationVersion :: Lens' AssociationDescription (Maybe Text)+adAssociationVersion = lens _adAssociationVersion (\ s a -> s{_adAssociationVersion = a})++-- | The association name.+adAssociationName :: Lens' AssociationDescription (Maybe Text)+adAssociationName = lens _adAssociationName (\ s a -> s{_adAssociationName = a})++instance FromJSON AssociationDescription where+        parseJSON+          = withObject "AssociationDescription"+              (\ x ->+                 AssociationDescription' <$>+                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>+                     (x .:? "Status")+                     <*> (x .:? "LastSuccessfulExecutionDate")+                     <*> (x .:? "Overview")+                     <*> (x .:? "LastUpdateAssociationDate")+                     <*> (x .:? "Date")+                     <*> (x .:? "LastExecutionDate")+                     <*> (x .:? "ScheduleExpression")+                     <*> (x .:? "Name")+                     <*> (x .:? "OutputLocation")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AssociationVersion")+                     <*> (x .:? "AssociationName"))++instance Hashable AssociationDescription where++instance NFData AssociationDescription where++-- | Describes a filter.+--+--+--+-- /See:/ 'associationFilter' smart constructor.+data AssociationFilter = AssociationFilter'+  { _afKey   :: !AssociationFilterKey+  , _afValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociationFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'afKey' - The name of the filter.+--+-- * 'afValue' - The filter value.+associationFilter+    :: AssociationFilterKey -- ^ 'afKey'+    -> Text -- ^ 'afValue'+    -> AssociationFilter+associationFilter pKey_ pValue_ =+  AssociationFilter' {_afKey = pKey_, _afValue = pValue_}+++-- | The name of the filter.+afKey :: Lens' AssociationFilter AssociationFilterKey+afKey = lens _afKey (\ s a -> s{_afKey = a})++-- | The filter value.+afValue :: Lens' AssociationFilter Text+afValue = lens _afValue (\ s a -> s{_afValue = a})++instance Hashable AssociationFilter where++instance NFData AssociationFilter where++instance ToJSON AssociationFilter where+        toJSON AssociationFilter'{..}+          = object+              (catMaybes+                 [Just ("key" .= _afKey), Just ("value" .= _afValue)])++-- | Information about the association.+--+--+--+-- /See:/ 'associationOverview' smart constructor.+data AssociationOverview = AssociationOverview'+  { _aoDetailedStatus                   :: !(Maybe Text)+  , _aoStatus                           :: !(Maybe Text)+  , _aoAssociationStatusAggregatedCount :: !(Maybe (Map Text Int))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociationOverview' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aoDetailedStatus' - A detailed status of the association.+--+-- * 'aoStatus' - The status of the association. Status can be: Pending, Success, or Failed.+--+-- * 'aoAssociationStatusAggregatedCount' - 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.+associationOverview+    :: AssociationOverview+associationOverview =+  AssociationOverview'+    { _aoDetailedStatus = Nothing+    , _aoStatus = Nothing+    , _aoAssociationStatusAggregatedCount = Nothing+    }+++-- | A detailed status of the association.+aoDetailedStatus :: Lens' AssociationOverview (Maybe Text)+aoDetailedStatus = lens _aoDetailedStatus (\ s a -> s{_aoDetailedStatus = a})++-- | The status of the association. Status can be: Pending, Success, or Failed.+aoStatus :: Lens' AssociationOverview (Maybe Text)+aoStatus = lens _aoStatus (\ s a -> s{_aoStatus = 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.+aoAssociationStatusAggregatedCount :: Lens' AssociationOverview (HashMap Text Int)+aoAssociationStatusAggregatedCount = lens _aoAssociationStatusAggregatedCount (\ s a -> s{_aoAssociationStatusAggregatedCount = a}) . _Default . _Map++instance FromJSON AssociationOverview where+        parseJSON+          = withObject "AssociationOverview"+              (\ x ->+                 AssociationOverview' <$>+                   (x .:? "DetailedStatus") <*> (x .:? "Status") <*>+                     (x .:? "AssociationStatusAggregatedCount" .!=+                        mempty))++instance Hashable AssociationOverview where++instance NFData AssociationOverview where++-- | Describes an association status.+--+--+--+-- /See:/ 'associationStatus' smart constructor.+data AssociationStatus = AssociationStatus'+  { _asAdditionalInfo :: !(Maybe Text)+  , _asDate           :: !POSIX+  , _asName           :: !AssociationStatusName+  , _asMessage        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociationStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asAdditionalInfo' - A user-defined string.+--+-- * 'asDate' - The date when the status changed.+--+-- * 'asName' - The status.+--+-- * 'asMessage' - The reason for the status.+associationStatus+    :: UTCTime -- ^ 'asDate'+    -> AssociationStatusName -- ^ 'asName'+    -> Text -- ^ 'asMessage'+    -> AssociationStatus+associationStatus pDate_ pName_ pMessage_ =+  AssociationStatus'+    { _asAdditionalInfo = Nothing+    , _asDate = _Time # pDate_+    , _asName = pName_+    , _asMessage = pMessage_+    }+++-- | A user-defined string.+asAdditionalInfo :: Lens' AssociationStatus (Maybe Text)+asAdditionalInfo = lens _asAdditionalInfo (\ s a -> s{_asAdditionalInfo = a})++-- | The date when the status changed.+asDate :: Lens' AssociationStatus UTCTime+asDate = lens _asDate (\ s a -> s{_asDate = a}) . _Time++-- | The status.+asName :: Lens' AssociationStatus AssociationStatusName+asName = lens _asName (\ s a -> s{_asName = a})++-- | The reason for the status.+asMessage :: Lens' AssociationStatus Text+asMessage = lens _asMessage (\ s a -> s{_asMessage = a})++instance FromJSON AssociationStatus where+        parseJSON+          = withObject "AssociationStatus"+              (\ x ->+                 AssociationStatus' <$>+                   (x .:? "AdditionalInfo") <*> (x .: "Date") <*>+                     (x .: "Name")+                     <*> (x .: "Message"))++instance Hashable AssociationStatus where++instance NFData AssociationStatus where++instance ToJSON AssociationStatus where+        toJSON AssociationStatus'{..}+          = object+              (catMaybes+                 [("AdditionalInfo" .=) <$> _asAdditionalInfo,+                  Just ("Date" .= _asDate), Just ("Name" .= _asName),+                  Just ("Message" .= _asMessage)])++-- | Information about the association version.+--+--+--+-- /See:/ 'associationVersionInfo' smart constructor.+data AssociationVersionInfo = AssociationVersionInfo'+  { _aviAssociationId      :: !(Maybe Text)+  , _aviCreatedDate        :: !(Maybe POSIX)+  , _aviScheduleExpression :: !(Maybe Text)+  , _aviName               :: !(Maybe Text)+  , _aviOutputLocation     :: !(Maybe InstanceAssociationOutputLocation)+  , _aviTargets            :: !(Maybe [Target])+  , _aviParameters         :: !(Maybe (Map Text [Text]))+  , _aviDocumentVersion    :: !(Maybe Text)+  , _aviAssociationVersion :: !(Maybe Text)+  , _aviAssociationName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociationVersionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aviAssociationId' - The ID created by the system when the association was created.+--+-- * 'aviCreatedDate' - The date the association version was created.+--+-- * 'aviScheduleExpression' - The cron or rate schedule specified for the association when the association version was created.+--+-- * 'aviName' - The name specified when the association was created.+--+-- * 'aviOutputLocation' - The location in Amazon S3 specified for the association when the association version was created.+--+-- * 'aviTargets' - The targets specified for the association when the association version was created.+--+-- * 'aviParameters' - Parameters specified when the association version was created.+--+-- * 'aviDocumentVersion' - The version of a Systems Manager document used when the association version was created.+--+-- * 'aviAssociationVersion' - The association version.+--+-- * 'aviAssociationName' - The name specified for the association version when the association version was created.+associationVersionInfo+    :: AssociationVersionInfo+associationVersionInfo =+  AssociationVersionInfo'+    { _aviAssociationId = Nothing+    , _aviCreatedDate = Nothing+    , _aviScheduleExpression = Nothing+    , _aviName = Nothing+    , _aviOutputLocation = Nothing+    , _aviTargets = Nothing+    , _aviParameters = Nothing+    , _aviDocumentVersion = Nothing+    , _aviAssociationVersion = Nothing+    , _aviAssociationName = Nothing+    }+++-- | The ID created by the system when the association was created.+aviAssociationId :: Lens' AssociationVersionInfo (Maybe Text)+aviAssociationId = lens _aviAssociationId (\ s a -> s{_aviAssociationId = a})++-- | The date the association version was created.+aviCreatedDate :: Lens' AssociationVersionInfo (Maybe UTCTime)+aviCreatedDate = lens _aviCreatedDate (\ s a -> s{_aviCreatedDate = a}) . mapping _Time++-- | The cron or rate schedule specified for the association when the association version was created.+aviScheduleExpression :: Lens' AssociationVersionInfo (Maybe Text)+aviScheduleExpression = lens _aviScheduleExpression (\ s a -> s{_aviScheduleExpression = a})++-- | The name specified when the association was created.+aviName :: Lens' AssociationVersionInfo (Maybe Text)+aviName = lens _aviName (\ s a -> s{_aviName = a})++-- | The location in Amazon S3 specified for the association when the association version was created.+aviOutputLocation :: Lens' AssociationVersionInfo (Maybe InstanceAssociationOutputLocation)+aviOutputLocation = lens _aviOutputLocation (\ s a -> s{_aviOutputLocation = a})++-- | The targets specified for the association when the association version was created.+aviTargets :: Lens' AssociationVersionInfo [Target]+aviTargets = lens _aviTargets (\ s a -> s{_aviTargets = a}) . _Default . _Coerce++-- | Parameters specified when the association version was created.+aviParameters :: Lens' AssociationVersionInfo (HashMap Text [Text])+aviParameters = lens _aviParameters (\ s a -> s{_aviParameters = a}) . _Default . _Map++-- | The version of a Systems Manager document used when the association version was created.+aviDocumentVersion :: Lens' AssociationVersionInfo (Maybe Text)+aviDocumentVersion = lens _aviDocumentVersion (\ s a -> s{_aviDocumentVersion = a})++-- | The association version.+aviAssociationVersion :: Lens' AssociationVersionInfo (Maybe Text)+aviAssociationVersion = lens _aviAssociationVersion (\ s a -> s{_aviAssociationVersion = a})++-- | The name specified for the association version when the association version was created.+aviAssociationName :: Lens' AssociationVersionInfo (Maybe Text)+aviAssociationName = lens _aviAssociationName (\ s a -> s{_aviAssociationName = a})++instance FromJSON AssociationVersionInfo where+        parseJSON+          = withObject "AssociationVersionInfo"+              (\ x ->+                 AssociationVersionInfo' <$>+                   (x .:? "AssociationId") <*> (x .:? "CreatedDate") <*>+                     (x .:? "ScheduleExpression")+                     <*> (x .:? "Name")+                     <*> (x .:? "OutputLocation")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AssociationVersion")+                     <*> (x .:? "AssociationName"))++instance Hashable AssociationVersionInfo where++instance NFData AssociationVersionInfo where++-- | Detailed information about the current state of an individual Automation execution.+--+--+--+-- /See:/ 'automationExecution' smart constructor.+data AutomationExecution = AutomationExecution'+  { _aeCurrentStepName             :: !(Maybe Text)+  , _aeTargetParameterName         :: !(Maybe Text)+  , _aeExecutedBy                  :: !(Maybe Text)+  , _aeDocumentName                :: !(Maybe Text)+  , _aeExecutionEndTime            :: !(Maybe POSIX)+  , _aeFailureMessage              :: !(Maybe Text)+  , _aeMode                        :: !(Maybe ExecutionMode)+  , _aeStepExecutionsTruncated     :: !(Maybe Bool)+  , _aeAutomationExecutionStatus   :: !(Maybe AutomationExecutionStatus)+  , _aeParentAutomationExecutionId :: !(Maybe Text)+  , _aeOutputs                     :: !(Maybe (Map Text [Text]))+  , _aeMaxErrors                   :: !(Maybe Text)+  , _aeExecutionStartTime          :: !(Maybe POSIX)+  , _aeCurrentAction               :: !(Maybe Text)+  , _aeTargets                     :: !(Maybe [Target])+  , _aeResolvedTargets             :: !(Maybe ResolvedTargets)+  , _aeParameters                  :: !(Maybe (Map Text [Text]))+  , _aeDocumentVersion             :: !(Maybe Text)+  , _aeAutomationExecutionId       :: !(Maybe Text)+  , _aeStepExecutions              :: !(Maybe [StepExecution])+  , _aeMaxConcurrency              :: !(Maybe Text)+  , _aeTarget                      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutomationExecution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aeCurrentStepName' - The name of the currently executing step.+--+-- * 'aeTargetParameterName' - The parameter name.+--+-- * 'aeExecutedBy' - The Amazon Resource Name (ARN) of the user who executed the automation.+--+-- * 'aeDocumentName' - The name of the Automation document used during the execution.+--+-- * 'aeExecutionEndTime' - The time the execution finished.+--+-- * 'aeFailureMessage' - A message describing why an execution has failed, if the status is set to Failed.+--+-- * 'aeMode' - The automation execution mode.+--+-- * 'aeStepExecutionsTruncated' - 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.+--+-- * 'aeAutomationExecutionStatus' - The execution status of the Automation.+--+-- * 'aeParentAutomationExecutionId' - The AutomationExecutionId of the parent automation.+--+-- * 'aeOutputs' - The list of execution outputs as defined in the automation document.+--+-- * 'aeMaxErrors' - The MaxErrors value specified by the user when the execution started.+--+-- * 'aeExecutionStartTime' - The time the execution started.+--+-- * 'aeCurrentAction' - The action of the currently executing step.+--+-- * 'aeTargets' - The specified targets.+--+-- * 'aeResolvedTargets' - A list of resolved targets in the rate control execution.+--+-- * 'aeParameters' - The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.+--+-- * 'aeDocumentVersion' - The version of the document to use during execution.+--+-- * 'aeAutomationExecutionId' - The execution ID.+--+-- * 'aeStepExecutions' - 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.+--+-- * 'aeMaxConcurrency' - The MaxConcurrency value specified by the user when the execution started.+--+-- * 'aeTarget' - The target of the execution.+automationExecution+    :: AutomationExecution+automationExecution =+  AutomationExecution'+    { _aeCurrentStepName = Nothing+    , _aeTargetParameterName = Nothing+    , _aeExecutedBy = Nothing+    , _aeDocumentName = Nothing+    , _aeExecutionEndTime = Nothing+    , _aeFailureMessage = Nothing+    , _aeMode = Nothing+    , _aeStepExecutionsTruncated = Nothing+    , _aeAutomationExecutionStatus = Nothing+    , _aeParentAutomationExecutionId = Nothing+    , _aeOutputs = Nothing+    , _aeMaxErrors = Nothing+    , _aeExecutionStartTime = Nothing+    , _aeCurrentAction = Nothing+    , _aeTargets = Nothing+    , _aeResolvedTargets = Nothing+    , _aeParameters = Nothing+    , _aeDocumentVersion = Nothing+    , _aeAutomationExecutionId = Nothing+    , _aeStepExecutions = Nothing+    , _aeMaxConcurrency = Nothing+    , _aeTarget = Nothing+    }+++-- | The name of the currently executing step.+aeCurrentStepName :: Lens' AutomationExecution (Maybe Text)+aeCurrentStepName = lens _aeCurrentStepName (\ s a -> s{_aeCurrentStepName = a})++-- | The parameter name.+aeTargetParameterName :: Lens' AutomationExecution (Maybe Text)+aeTargetParameterName = lens _aeTargetParameterName (\ s a -> s{_aeTargetParameterName = a})++-- | The Amazon Resource Name (ARN) of the user who executed the automation.+aeExecutedBy :: Lens' AutomationExecution (Maybe Text)+aeExecutedBy = lens _aeExecutedBy (\ s a -> s{_aeExecutedBy = a})++-- | The name of the Automation document used during the execution.+aeDocumentName :: Lens' AutomationExecution (Maybe Text)+aeDocumentName = lens _aeDocumentName (\ s a -> s{_aeDocumentName = a})++-- | The time the execution finished.+aeExecutionEndTime :: Lens' AutomationExecution (Maybe UTCTime)+aeExecutionEndTime = lens _aeExecutionEndTime (\ s a -> s{_aeExecutionEndTime = a}) . mapping _Time++-- | A message describing why an execution has failed, if the status is set to Failed.+aeFailureMessage :: Lens' AutomationExecution (Maybe Text)+aeFailureMessage = lens _aeFailureMessage (\ s a -> s{_aeFailureMessage = a})++-- | The automation execution mode.+aeMode :: Lens' AutomationExecution (Maybe ExecutionMode)+aeMode = lens _aeMode (\ s a -> s{_aeMode = 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.+aeStepExecutionsTruncated :: Lens' AutomationExecution (Maybe Bool)+aeStepExecutionsTruncated = lens _aeStepExecutionsTruncated (\ s a -> s{_aeStepExecutionsTruncated = a})++-- | The execution status of the Automation.+aeAutomationExecutionStatus :: Lens' AutomationExecution (Maybe AutomationExecutionStatus)+aeAutomationExecutionStatus = lens _aeAutomationExecutionStatus (\ s a -> s{_aeAutomationExecutionStatus = a})++-- | The AutomationExecutionId of the parent automation.+aeParentAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)+aeParentAutomationExecutionId = lens _aeParentAutomationExecutionId (\ s a -> s{_aeParentAutomationExecutionId = a})++-- | The list of execution outputs as defined in the automation document.+aeOutputs :: Lens' AutomationExecution (HashMap Text [Text])+aeOutputs = lens _aeOutputs (\ s a -> s{_aeOutputs = a}) . _Default . _Map++-- | The MaxErrors value specified by the user when the execution started.+aeMaxErrors :: Lens' AutomationExecution (Maybe Text)+aeMaxErrors = lens _aeMaxErrors (\ s a -> s{_aeMaxErrors = a})++-- | The time the execution started.+aeExecutionStartTime :: Lens' AutomationExecution (Maybe UTCTime)+aeExecutionStartTime = lens _aeExecutionStartTime (\ s a -> s{_aeExecutionStartTime = a}) . mapping _Time++-- | The action of the currently executing step.+aeCurrentAction :: Lens' AutomationExecution (Maybe Text)+aeCurrentAction = lens _aeCurrentAction (\ s a -> s{_aeCurrentAction = a})++-- | The specified targets.+aeTargets :: Lens' AutomationExecution [Target]+aeTargets = lens _aeTargets (\ s a -> s{_aeTargets = a}) . _Default . _Coerce++-- | A list of resolved targets in the rate control execution.+aeResolvedTargets :: Lens' AutomationExecution (Maybe ResolvedTargets)+aeResolvedTargets = lens _aeResolvedTargets (\ s a -> s{_aeResolvedTargets = a})++-- | The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.+aeParameters :: Lens' AutomationExecution (HashMap Text [Text])+aeParameters = lens _aeParameters (\ s a -> s{_aeParameters = a}) . _Default . _Map++-- | The version of the document to use during execution.+aeDocumentVersion :: Lens' AutomationExecution (Maybe Text)+aeDocumentVersion = lens _aeDocumentVersion (\ s a -> s{_aeDocumentVersion = a})++-- | The execution ID.+aeAutomationExecutionId :: Lens' AutomationExecution (Maybe Text)+aeAutomationExecutionId = lens _aeAutomationExecutionId (\ s a -> s{_aeAutomationExecutionId = 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.+aeStepExecutions :: Lens' AutomationExecution [StepExecution]+aeStepExecutions = lens _aeStepExecutions (\ s a -> s{_aeStepExecutions = a}) . _Default . _Coerce++-- | The MaxConcurrency value specified by the user when the execution started.+aeMaxConcurrency :: Lens' AutomationExecution (Maybe Text)+aeMaxConcurrency = lens _aeMaxConcurrency (\ s a -> s{_aeMaxConcurrency = a})++-- | The target of the execution.+aeTarget :: Lens' AutomationExecution (Maybe Text)+aeTarget = lens _aeTarget (\ s a -> s{_aeTarget = a})++instance FromJSON AutomationExecution where+        parseJSON+          = withObject "AutomationExecution"+              (\ x ->+                 AutomationExecution' <$>+                   (x .:? "CurrentStepName") <*>+                     (x .:? "TargetParameterName")+                     <*> (x .:? "ExecutedBy")+                     <*> (x .:? "DocumentName")+                     <*> (x .:? "ExecutionEndTime")+                     <*> (x .:? "FailureMessage")+                     <*> (x .:? "Mode")+                     <*> (x .:? "StepExecutionsTruncated")+                     <*> (x .:? "AutomationExecutionStatus")+                     <*> (x .:? "ParentAutomationExecutionId")+                     <*> (x .:? "Outputs" .!= mempty)+                     <*> (x .:? "MaxErrors")+                     <*> (x .:? "ExecutionStartTime")+                     <*> (x .:? "CurrentAction")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "ResolvedTargets")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AutomationExecutionId")+                     <*> (x .:? "StepExecutions" .!= mempty)+                     <*> (x .:? "MaxConcurrency")+                     <*> (x .:? "Target"))++instance Hashable AutomationExecution where++instance NFData AutomationExecution where++-- | A filter used to match specific automation executions. This is used to limit the scope of Automation execution information returned.+--+--+--+-- /See:/ 'automationExecutionFilter' smart constructor.+data AutomationExecutionFilter = AutomationExecutionFilter'+  { _aefKey    :: !AutomationExecutionFilterKey+  , _aefValues :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutomationExecutionFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aefKey' - One or more keys to limit the results. Valid filter keys include the following: DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter.+--+-- * 'aefValues' - The values used to limit the execution information associated with the filter's key.+automationExecutionFilter+    :: AutomationExecutionFilterKey -- ^ 'aefKey'+    -> NonEmpty Text -- ^ 'aefValues'+    -> AutomationExecutionFilter+automationExecutionFilter pKey_ pValues_ =+  AutomationExecutionFilter' {_aefKey = pKey_, _aefValues = _List1 # pValues_}+++-- | 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+aefKey = lens _aefKey (\ s a -> s{_aefKey = a})++-- | The values used to limit the execution information associated with the filter's key.+aefValues :: Lens' AutomationExecutionFilter (NonEmpty Text)+aefValues = lens _aefValues (\ s a -> s{_aefValues = a}) . _List1++instance Hashable AutomationExecutionFilter where++instance NFData AutomationExecutionFilter where++instance ToJSON AutomationExecutionFilter where+        toJSON AutomationExecutionFilter'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _aefKey),+                  Just ("Values" .= _aefValues)])++-- | Details about a specific Automation execution.+--+--+--+-- /See:/ 'automationExecutionMetadata' smart constructor.+data AutomationExecutionMetadata = AutomationExecutionMetadata'+  { _aemCurrentStepName             :: !(Maybe Text)+  , _aemTargetParameterName         :: !(Maybe Text)+  , _aemLogFile                     :: !(Maybe Text)+  , _aemExecutedBy                  :: !(Maybe Text)+  , _aemDocumentName                :: !(Maybe Text)+  , _aemExecutionEndTime            :: !(Maybe POSIX)+  , _aemFailureMessage              :: !(Maybe Text)+  , _aemMode                        :: !(Maybe ExecutionMode)+  , _aemAutomationExecutionStatus   :: !(Maybe AutomationExecutionStatus)+  , _aemParentAutomationExecutionId :: !(Maybe Text)+  , _aemOutputs                     :: !(Maybe (Map Text [Text]))+  , _aemMaxErrors                   :: !(Maybe Text)+  , _aemExecutionStartTime          :: !(Maybe POSIX)+  , _aemCurrentAction               :: !(Maybe Text)+  , _aemTargets                     :: !(Maybe [Target])+  , _aemResolvedTargets             :: !(Maybe ResolvedTargets)+  , _aemDocumentVersion             :: !(Maybe Text)+  , _aemAutomationExecutionId       :: !(Maybe Text)+  , _aemMaxConcurrency              :: !(Maybe Text)+  , _aemTarget                      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutomationExecutionMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aemCurrentStepName' - The name of the currently executing step.+--+-- * 'aemTargetParameterName' - The list of execution outputs as defined in the Automation document.+--+-- * 'aemLogFile' - An Amazon S3 bucket where execution information is stored.+--+-- * 'aemExecutedBy' - The IAM role ARN of the user who executed the Automation.+--+-- * 'aemDocumentName' - The name of the Automation document used during execution.+--+-- * 'aemExecutionEndTime' - The time the execution finished. This is not populated if the execution is still in progress.+--+-- * 'aemFailureMessage' - The list of execution outputs as defined in the Automation document.+--+-- * 'aemMode' - The Automation execution mode.+--+-- * 'aemAutomationExecutionStatus' - The status of the execution. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.+--+-- * 'aemParentAutomationExecutionId' - The ExecutionId of the parent Automation.+--+-- * 'aemOutputs' - The list of execution outputs as defined in the Automation document.+--+-- * 'aemMaxErrors' - The MaxErrors value specified by the user when starting the Automation.+--+-- * 'aemExecutionStartTime' - The time the execution started.>+--+-- * 'aemCurrentAction' - The action of the currently executing step.+--+-- * 'aemTargets' - The targets defined by the user when starting the Automation.+--+-- * 'aemResolvedTargets' - A list of targets that resolved during the execution.+--+-- * 'aemDocumentVersion' - The document version used during the execution.+--+-- * 'aemAutomationExecutionId' - The execution ID.+--+-- * 'aemMaxConcurrency' - The MaxConcurrency value specified by the user when starting the Automation.+--+-- * 'aemTarget' - The list of execution outputs as defined in the Automation document.+automationExecutionMetadata+    :: AutomationExecutionMetadata+automationExecutionMetadata =+  AutomationExecutionMetadata'+    { _aemCurrentStepName = Nothing+    , _aemTargetParameterName = Nothing+    , _aemLogFile = Nothing+    , _aemExecutedBy = Nothing+    , _aemDocumentName = Nothing+    , _aemExecutionEndTime = Nothing+    , _aemFailureMessage = Nothing+    , _aemMode = Nothing+    , _aemAutomationExecutionStatus = Nothing+    , _aemParentAutomationExecutionId = Nothing+    , _aemOutputs = Nothing+    , _aemMaxErrors = Nothing+    , _aemExecutionStartTime = Nothing+    , _aemCurrentAction = Nothing+    , _aemTargets = Nothing+    , _aemResolvedTargets = Nothing+    , _aemDocumentVersion = Nothing+    , _aemAutomationExecutionId = Nothing+    , _aemMaxConcurrency = Nothing+    , _aemTarget = Nothing+    }+++-- | The name of the currently executing step.+aemCurrentStepName :: Lens' AutomationExecutionMetadata (Maybe Text)+aemCurrentStepName = lens _aemCurrentStepName (\ s a -> s{_aemCurrentStepName = a})++-- | The list of execution outputs as defined in the Automation document.+aemTargetParameterName :: Lens' AutomationExecutionMetadata (Maybe Text)+aemTargetParameterName = lens _aemTargetParameterName (\ s a -> s{_aemTargetParameterName = a})++-- | An Amazon S3 bucket where execution information is stored.+aemLogFile :: Lens' AutomationExecutionMetadata (Maybe Text)+aemLogFile = lens _aemLogFile (\ s a -> s{_aemLogFile = a})++-- | The IAM role ARN of the user who executed the Automation.+aemExecutedBy :: Lens' AutomationExecutionMetadata (Maybe Text)+aemExecutedBy = lens _aemExecutedBy (\ s a -> s{_aemExecutedBy = a})++-- | The name of the Automation document used during execution.+aemDocumentName :: Lens' AutomationExecutionMetadata (Maybe Text)+aemDocumentName = lens _aemDocumentName (\ s a -> s{_aemDocumentName = a})++-- | The time the execution finished. This is not populated if the execution is still in progress.+aemExecutionEndTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)+aemExecutionEndTime = lens _aemExecutionEndTime (\ s a -> s{_aemExecutionEndTime = a}) . mapping _Time++-- | The list of execution outputs as defined in the Automation document.+aemFailureMessage :: Lens' AutomationExecutionMetadata (Maybe Text)+aemFailureMessage = lens _aemFailureMessage (\ s a -> s{_aemFailureMessage = a})++-- | The Automation execution mode.+aemMode :: Lens' AutomationExecutionMetadata (Maybe ExecutionMode)+aemMode = lens _aemMode (\ s a -> s{_aemMode = a})++-- | The status of the execution. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.+aemAutomationExecutionStatus :: Lens' AutomationExecutionMetadata (Maybe AutomationExecutionStatus)+aemAutomationExecutionStatus = lens _aemAutomationExecutionStatus (\ s a -> s{_aemAutomationExecutionStatus = a})++-- | The ExecutionId of the parent Automation.+aemParentAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)+aemParentAutomationExecutionId = lens _aemParentAutomationExecutionId (\ s a -> s{_aemParentAutomationExecutionId = a})++-- | The list of execution outputs as defined in the Automation document.+aemOutputs :: Lens' AutomationExecutionMetadata (HashMap Text [Text])+aemOutputs = lens _aemOutputs (\ s a -> s{_aemOutputs = a}) . _Default . _Map++-- | The MaxErrors value specified by the user when starting the Automation.+aemMaxErrors :: Lens' AutomationExecutionMetadata (Maybe Text)+aemMaxErrors = lens _aemMaxErrors (\ s a -> s{_aemMaxErrors = a})++-- | The time the execution started.>+aemExecutionStartTime :: Lens' AutomationExecutionMetadata (Maybe UTCTime)+aemExecutionStartTime = lens _aemExecutionStartTime (\ s a -> s{_aemExecutionStartTime = a}) . mapping _Time++-- | The action of the currently executing step.+aemCurrentAction :: Lens' AutomationExecutionMetadata (Maybe Text)+aemCurrentAction = lens _aemCurrentAction (\ s a -> s{_aemCurrentAction = a})++-- | The targets defined by the user when starting the Automation.+aemTargets :: Lens' AutomationExecutionMetadata [Target]+aemTargets = lens _aemTargets (\ s a -> s{_aemTargets = a}) . _Default . _Coerce++-- | A list of targets that resolved during the execution.+aemResolvedTargets :: Lens' AutomationExecutionMetadata (Maybe ResolvedTargets)+aemResolvedTargets = lens _aemResolvedTargets (\ s a -> s{_aemResolvedTargets = a})++-- | The document version used during the execution.+aemDocumentVersion :: Lens' AutomationExecutionMetadata (Maybe Text)+aemDocumentVersion = lens _aemDocumentVersion (\ s a -> s{_aemDocumentVersion = a})++-- | The execution ID.+aemAutomationExecutionId :: Lens' AutomationExecutionMetadata (Maybe Text)+aemAutomationExecutionId = lens _aemAutomationExecutionId (\ s a -> s{_aemAutomationExecutionId = a})++-- | The MaxConcurrency value specified by the user when starting the Automation.+aemMaxConcurrency :: Lens' AutomationExecutionMetadata (Maybe Text)+aemMaxConcurrency = lens _aemMaxConcurrency (\ s a -> s{_aemMaxConcurrency = a})++-- | The list of execution outputs as defined in the Automation document.+aemTarget :: Lens' AutomationExecutionMetadata (Maybe Text)+aemTarget = lens _aemTarget (\ s a -> s{_aemTarget = a})++instance FromJSON AutomationExecutionMetadata where+        parseJSON+          = withObject "AutomationExecutionMetadata"+              (\ x ->+                 AutomationExecutionMetadata' <$>+                   (x .:? "CurrentStepName") <*>+                     (x .:? "TargetParameterName")+                     <*> (x .:? "LogFile")+                     <*> (x .:? "ExecutedBy")+                     <*> (x .:? "DocumentName")+                     <*> (x .:? "ExecutionEndTime")+                     <*> (x .:? "FailureMessage")+                     <*> (x .:? "Mode")+                     <*> (x .:? "AutomationExecutionStatus")+                     <*> (x .:? "ParentAutomationExecutionId")+                     <*> (x .:? "Outputs" .!= mempty)+                     <*> (x .:? "MaxErrors")+                     <*> (x .:? "ExecutionStartTime")+                     <*> (x .:? "CurrentAction")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "ResolvedTargets")+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AutomationExecutionId")+                     <*> (x .:? "MaxConcurrency")+                     <*> (x .:? "Target"))++instance Hashable AutomationExecutionMetadata where++instance NFData AutomationExecutionMetadata where++-- | Describes a command request.+--+--+--+-- /See:/ 'command' smart constructor.+data Command = Command'+  { _cStatus             :: !(Maybe CommandStatus)+  , _cExpiresAfter       :: !(Maybe POSIX)+  , _cNotificationConfig :: !(Maybe NotificationConfig)+  , _cTargetCount        :: !(Maybe Int)+  , _cOutputS3KeyPrefix  :: !(Maybe Text)+  , _cDocumentName       :: !(Maybe Text)+  , _cErrorCount         :: !(Maybe Int)+  , _cStatusDetails      :: !(Maybe Text)+  , _cMaxErrors          :: !(Maybe Text)+  , _cInstanceIds        :: !(Maybe [Text])+  , _cOutputS3Region     :: !(Maybe Text)+  , _cTargets            :: !(Maybe [Target])+  , _cCommandId          :: !(Maybe Text)+  , _cParameters         :: !(Maybe (Map Text [Text]))+  , _cDocumentVersion    :: !(Maybe Text)+  , _cComment            :: !(Maybe Text)+  , _cCompletedCount     :: !(Maybe Int)+  , _cOutputS3BucketName :: !(Maybe Text)+  , _cMaxConcurrency     :: !(Maybe Text)+  , _cRequestedDateTime  :: !(Maybe POSIX)+  , _cServiceRole        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Command' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus' - The status of the command.+--+-- * 'cExpiresAfter' - 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.+--+-- * 'cNotificationConfig' - Configurations for sending notifications about command status changes.+--+-- * 'cTargetCount' - The number of targets for the command.+--+-- * 'cOutputS3KeyPrefix' - The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.+--+-- * 'cDocumentName' - The name of the document requested for execution.+--+-- * 'cErrorCount' - The number of targets for which the status is Failed or Execution Timed Out.+--+-- * 'cStatusDetails' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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.+--+-- * 'cMaxErrors' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .+--+-- * 'cInstanceIds' - The instance IDs against which this command was requested.+--+-- * 'cOutputS3Region' - (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.+--+-- * 'cTargets' - 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.+--+-- * 'cCommandId' - A unique identifier for this command.+--+-- * 'cParameters' - The parameter values to be inserted in the document when executing the command.+--+-- * 'cDocumentVersion' - The SSM document version.+--+-- * 'cComment' - User-specified information about the command, such as a brief description of what the command should do.+--+-- * 'cCompletedCount' - 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.+--+-- * 'cOutputS3BucketName' - The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.+--+-- * 'cMaxConcurrency' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .+--+-- * 'cRequestedDateTime' - The date and time the command was requested.+--+-- * 'cServiceRole' - The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes.+command+    :: Command+command =+  Command'+    { _cStatus = Nothing+    , _cExpiresAfter = Nothing+    , _cNotificationConfig = Nothing+    , _cTargetCount = Nothing+    , _cOutputS3KeyPrefix = Nothing+    , _cDocumentName = Nothing+    , _cErrorCount = Nothing+    , _cStatusDetails = Nothing+    , _cMaxErrors = Nothing+    , _cInstanceIds = Nothing+    , _cOutputS3Region = Nothing+    , _cTargets = Nothing+    , _cCommandId = Nothing+    , _cParameters = Nothing+    , _cDocumentVersion = Nothing+    , _cComment = Nothing+    , _cCompletedCount = Nothing+    , _cOutputS3BucketName = Nothing+    , _cMaxConcurrency = Nothing+    , _cRequestedDateTime = Nothing+    , _cServiceRole = Nothing+    }+++-- | The status of the command.+cStatus :: Lens' Command (Maybe CommandStatus)+cStatus = lens _cStatus (\ s a -> s{_cStatus = 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.+cExpiresAfter :: Lens' Command (Maybe UTCTime)+cExpiresAfter = lens _cExpiresAfter (\ s a -> s{_cExpiresAfter = a}) . mapping _Time++-- | Configurations for sending notifications about command status changes.+cNotificationConfig :: Lens' Command (Maybe NotificationConfig)+cNotificationConfig = lens _cNotificationConfig (\ s a -> s{_cNotificationConfig = a})++-- | The number of targets for the command.+cTargetCount :: Lens' Command (Maybe Int)+cTargetCount = lens _cTargetCount (\ s a -> s{_cTargetCount = 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.+cOutputS3KeyPrefix :: Lens' Command (Maybe Text)+cOutputS3KeyPrefix = lens _cOutputS3KeyPrefix (\ s a -> s{_cOutputS3KeyPrefix = a})++-- | The name of the document requested for execution.+cDocumentName :: Lens' Command (Maybe Text)+cDocumentName = lens _cDocumentName (\ s a -> s{_cDocumentName = a})++-- | The number of targets for which the status is Failed or Execution Timed Out.+cErrorCount :: Lens' Command (Maybe Int)+cErrorCount = lens _cErrorCount (\ s a -> s{_cErrorCount = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)+cStatusDetails = lens _cStatusDetails (\ s a -> s{_cStatusDetails = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .+cMaxErrors :: Lens' Command (Maybe Text)+cMaxErrors = lens _cMaxErrors (\ s a -> s{_cMaxErrors = a})++-- | The instance IDs against which this command was requested.+cInstanceIds :: Lens' Command [Text]+cInstanceIds = lens _cInstanceIds (\ s a -> s{_cInstanceIds = a}) . _Default . _Coerce++-- | (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)+cOutputS3Region = lens _cOutputS3Region (\ s a -> s{_cOutputS3Region = 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.+cTargets :: Lens' Command [Target]+cTargets = lens _cTargets (\ s a -> s{_cTargets = a}) . _Default . _Coerce++-- | A unique identifier for this command.+cCommandId :: Lens' Command (Maybe Text)+cCommandId = lens _cCommandId (\ s a -> s{_cCommandId = a})++-- | The parameter values to be inserted in the document when executing the command.+cParameters :: Lens' Command (HashMap Text [Text])+cParameters = lens _cParameters (\ s a -> s{_cParameters = a}) . _Default . _Map++-- | The SSM document version.+cDocumentVersion :: Lens' Command (Maybe Text)+cDocumentVersion = lens _cDocumentVersion (\ s a -> s{_cDocumentVersion = a})++-- | User-specified information about the command, such as a brief description of what the command should do.+cComment :: Lens' Command (Maybe Text)+cComment = lens _cComment (\ s a -> s{_cComment = 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.+cCompletedCount :: Lens' Command (Maybe Int)+cCompletedCount = lens _cCompletedCount (\ s a -> s{_cCompletedCount = a})++-- | 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)+cOutputS3BucketName = lens _cOutputS3BucketName (\ s a -> s{_cOutputS3BucketName = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html Executing a Command Using Systems Manager Run Command> .+cMaxConcurrency :: Lens' Command (Maybe Text)+cMaxConcurrency = lens _cMaxConcurrency (\ s a -> s{_cMaxConcurrency = a})++-- | The date and time the command was requested.+cRequestedDateTime :: Lens' Command (Maybe UTCTime)+cRequestedDateTime = lens _cRequestedDateTime (\ s a -> s{_cRequestedDateTime = a}) . mapping _Time++-- | 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)+cServiceRole = lens _cServiceRole (\ s a -> s{_cServiceRole = a})++instance FromJSON Command where+        parseJSON+          = withObject "Command"+              (\ x ->+                 Command' <$>+                   (x .:? "Status") <*> (x .:? "ExpiresAfter") <*>+                     (x .:? "NotificationConfig")+                     <*> (x .:? "TargetCount")+                     <*> (x .:? "OutputS3KeyPrefix")+                     <*> (x .:? "DocumentName")+                     <*> (x .:? "ErrorCount")+                     <*> (x .:? "StatusDetails")+                     <*> (x .:? "MaxErrors")+                     <*> (x .:? "InstanceIds" .!= mempty)+                     <*> (x .:? "OutputS3Region")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "CommandId")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "Comment")+                     <*> (x .:? "CompletedCount")+                     <*> (x .:? "OutputS3BucketName")+                     <*> (x .:? "MaxConcurrency")+                     <*> (x .:? "RequestedDateTime")+                     <*> (x .:? "ServiceRole"))++instance Hashable Command where++instance NFData Command where++-- | Describes a command filter.+--+--+--+-- /See:/ 'commandFilter' smart constructor.+data CommandFilter = CommandFilter'+  { _cfKey   :: !CommandFilterKey+  , _cfValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CommandFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfKey' - The name of the filter.+--+-- * 'cfValue' - The filter value.+commandFilter+    :: CommandFilterKey -- ^ 'cfKey'+    -> Text -- ^ 'cfValue'+    -> CommandFilter+commandFilter pKey_ pValue_ =+  CommandFilter' {_cfKey = pKey_, _cfValue = pValue_}+++-- | The name of the filter.+cfKey :: Lens' CommandFilter CommandFilterKey+cfKey = lens _cfKey (\ s a -> s{_cfKey = a})++-- | The filter value.+cfValue :: Lens' CommandFilter Text+cfValue = lens _cfValue (\ s a -> s{_cfValue = a})++instance Hashable CommandFilter where++instance NFData CommandFilter where++instance ToJSON CommandFilter where+        toJSON CommandFilter'{..}+          = object+              (catMaybes+                 [Just ("key" .= _cfKey), Just ("value" .= _cfValue)])++-- | 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.+--+--+--+-- /See:/ 'commandInvocation' smart constructor.+data CommandInvocation = CommandInvocation'+  { _comInstanceId         :: !(Maybe Text)+  , _comStatus             :: !(Maybe CommandInvocationStatus)+  , _comNotificationConfig :: !(Maybe NotificationConfig)+  , _comCommandPlugins     :: !(Maybe [CommandPlugin])+  , _comDocumentName       :: !(Maybe Text)+  , _comStandardErrorURL   :: !(Maybe Text)+  , _comStatusDetails      :: !(Maybe Text)+  , _comStandardOutputURL  :: !(Maybe Text)+  , _comCommandId          :: !(Maybe Text)+  , _comDocumentVersion    :: !(Maybe Text)+  , _comComment            :: !(Maybe Text)+  , _comTraceOutput        :: !(Maybe Text)+  , _comInstanceName       :: !(Maybe Text)+  , _comRequestedDateTime  :: !(Maybe POSIX)+  , _comServiceRole        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CommandInvocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comInstanceId' - The instance ID in which this invocation was requested.+--+-- * 'comStatus' - Whether or not the invocation succeeded, failed, or is pending.+--+-- * 'comNotificationConfig' - Configurations for sending notifications about command status changes on a per instance basis.+--+-- * 'comCommandPlugins' - Undocumented member.+--+-- * 'comDocumentName' - The document name that was requested for execution.+--+-- * 'comStandardErrorURL' - 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.+--+-- * 'comStatusDetails' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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.+--+-- * 'comStandardOutputURL' - 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.+--+-- * 'comCommandId' - The command against which this invocation was requested.+--+-- * 'comDocumentVersion' - The SSM document version.+--+-- * 'comComment' - User-specified information about the command, such as a brief description of what the command should do.+--+-- * 'comTraceOutput' - Gets the trace output sent by the agent.+--+-- * 'comInstanceName' - 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.+--+-- * 'comRequestedDateTime' - The time and date the request was sent to this instance.+--+-- * 'comServiceRole' - 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.+commandInvocation+    :: CommandInvocation+commandInvocation =+  CommandInvocation'+    { _comInstanceId = Nothing+    , _comStatus = Nothing+    , _comNotificationConfig = Nothing+    , _comCommandPlugins = Nothing+    , _comDocumentName = Nothing+    , _comStandardErrorURL = Nothing+    , _comStatusDetails = Nothing+    , _comStandardOutputURL = Nothing+    , _comCommandId = Nothing+    , _comDocumentVersion = Nothing+    , _comComment = Nothing+    , _comTraceOutput = Nothing+    , _comInstanceName = Nothing+    , _comRequestedDateTime = Nothing+    , _comServiceRole = Nothing+    }+++-- | The instance ID in which this invocation was requested.+comInstanceId :: Lens' CommandInvocation (Maybe Text)+comInstanceId = lens _comInstanceId (\ s a -> s{_comInstanceId = a})++-- | Whether or not the invocation succeeded, failed, or is pending.+comStatus :: Lens' CommandInvocation (Maybe CommandInvocationStatus)+comStatus = lens _comStatus (\ s a -> s{_comStatus = a})++-- | Configurations for sending notifications about command status changes on a per instance basis.+comNotificationConfig :: Lens' CommandInvocation (Maybe NotificationConfig)+comNotificationConfig = lens _comNotificationConfig (\ s a -> s{_comNotificationConfig = a})++-- | Undocumented member.+comCommandPlugins :: Lens' CommandInvocation [CommandPlugin]+comCommandPlugins = lens _comCommandPlugins (\ s a -> s{_comCommandPlugins = a}) . _Default . _Coerce++-- | The document name that was requested for execution.+comDocumentName :: Lens' CommandInvocation (Maybe Text)+comDocumentName = lens _comDocumentName (\ s a -> s{_comDocumentName = 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.+comStandardErrorURL :: Lens' CommandInvocation (Maybe Text)+comStandardErrorURL = lens _comStandardErrorURL (\ s a -> s{_comStandardErrorURL = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)+comStatusDetails = lens _comStatusDetails (\ s a -> s{_comStatusDetails = 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.+comStandardOutputURL :: Lens' CommandInvocation (Maybe Text)+comStandardOutputURL = lens _comStandardOutputURL (\ s a -> s{_comStandardOutputURL = a})++-- | The command against which this invocation was requested.+comCommandId :: Lens' CommandInvocation (Maybe Text)+comCommandId = lens _comCommandId (\ s a -> s{_comCommandId = a})++-- | The SSM document version.+comDocumentVersion :: Lens' CommandInvocation (Maybe Text)+comDocumentVersion = lens _comDocumentVersion (\ s a -> s{_comDocumentVersion = a})++-- | User-specified information about the command, such as a brief description of what the command should do.+comComment :: Lens' CommandInvocation (Maybe Text)+comComment = lens _comComment (\ s a -> s{_comComment = a})++-- | Gets the trace output sent by the agent.+comTraceOutput :: Lens' CommandInvocation (Maybe Text)+comTraceOutput = lens _comTraceOutput (\ s a -> s{_comTraceOutput = 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.+comInstanceName :: Lens' CommandInvocation (Maybe Text)+comInstanceName = lens _comInstanceName (\ s a -> s{_comInstanceName = a})++-- | The time and date the request was sent to this instance.+comRequestedDateTime :: Lens' CommandInvocation (Maybe UTCTime)+comRequestedDateTime = lens _comRequestedDateTime (\ s a -> s{_comRequestedDateTime = a}) . mapping _Time++-- | 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)+comServiceRole = lens _comServiceRole (\ s a -> s{_comServiceRole = a})++instance FromJSON CommandInvocation where+        parseJSON+          = withObject "CommandInvocation"+              (\ x ->+                 CommandInvocation' <$>+                   (x .:? "InstanceId") <*> (x .:? "Status") <*>+                     (x .:? "NotificationConfig")+                     <*> (x .:? "CommandPlugins" .!= mempty)+                     <*> (x .:? "DocumentName")+                     <*> (x .:? "StandardErrorUrl")+                     <*> (x .:? "StatusDetails")+                     <*> (x .:? "StandardOutputUrl")+                     <*> (x .:? "CommandId")+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "Comment")+                     <*> (x .:? "TraceOutput")+                     <*> (x .:? "InstanceName")+                     <*> (x .:? "RequestedDateTime")+                     <*> (x .:? "ServiceRole"))++instance Hashable CommandInvocation where++instance NFData CommandInvocation where++-- | Describes plugin details.+--+--+--+-- /See:/ 'commandPlugin' smart constructor.+data CommandPlugin = CommandPlugin'+  { _cpStatus                 :: !(Maybe CommandPluginStatus)+  , _cpResponseStartDateTime  :: !(Maybe POSIX)+  , _cpOutputS3KeyPrefix      :: !(Maybe Text)+  , _cpStandardErrorURL       :: !(Maybe Text)+  , _cpResponseCode           :: !(Maybe Int)+  , _cpStatusDetails          :: !(Maybe Text)+  , _cpOutput                 :: !(Maybe Text)+  , _cpStandardOutputURL      :: !(Maybe Text)+  , _cpName                   :: !(Maybe Text)+  , _cpOutputS3Region         :: !(Maybe Text)+  , _cpOutputS3BucketName     :: !(Maybe Text)+  , _cpResponseFinishDateTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CommandPlugin' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpStatus' - The status of this plugin. You can execute a document with multiple plugins.+--+-- * 'cpResponseStartDateTime' - The time the plugin started executing.+--+-- * 'cpOutputS3KeyPrefix' - 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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.+--+-- * 'cpStandardErrorURL' - The URL for the complete text written by the plugin to stderr. If execution is not yet complete, then this string is empty.+--+-- * 'cpResponseCode' - A numeric response code generated after executing the plugin.+--+-- * 'cpStatusDetails' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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.+--+-- * 'cpOutput' - Output of the plugin execution.+--+-- * 'cpStandardOutputURL' - 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.+--+-- * 'cpName' - 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.+--+-- * 'cpOutputS3Region' - (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.+--+-- * 'cpOutputS3BucketName' - 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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.+--+-- * 'cpResponseFinishDateTime' - The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.+commandPlugin+    :: CommandPlugin+commandPlugin =+  CommandPlugin'+    { _cpStatus = Nothing+    , _cpResponseStartDateTime = Nothing+    , _cpOutputS3KeyPrefix = Nothing+    , _cpStandardErrorURL = Nothing+    , _cpResponseCode = Nothing+    , _cpStatusDetails = Nothing+    , _cpOutput = Nothing+    , _cpStandardOutputURL = Nothing+    , _cpName = Nothing+    , _cpOutputS3Region = Nothing+    , _cpOutputS3BucketName = Nothing+    , _cpResponseFinishDateTime = Nothing+    }+++-- | The status of this plugin. You can execute a document with multiple plugins.+cpStatus :: Lens' CommandPlugin (Maybe CommandPluginStatus)+cpStatus = lens _cpStatus (\ s a -> s{_cpStatus = a})++-- | The time the plugin started executing.+cpResponseStartDateTime :: Lens' CommandPlugin (Maybe UTCTime)+cpResponseStartDateTime = lens _cpResponseStartDateTime (\ s a -> s{_cpResponseStartDateTime = a}) . mapping _Time++-- | 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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)+cpOutputS3KeyPrefix = lens _cpOutputS3KeyPrefix (\ s a -> s{_cpOutputS3KeyPrefix = a})++-- | 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)+cpStandardErrorURL = lens _cpStandardErrorURL (\ s a -> s{_cpStandardErrorURL = a})++-- | A numeric response code generated after executing the plugin.+cpResponseCode :: Lens' CommandPlugin (Maybe Int)+cpResponseCode = lens _cpResponseCode (\ s a -> s{_cpResponseCode = 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html Run Command Status> . 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)+cpStatusDetails = lens _cpStatusDetails (\ s a -> s{_cpStatusDetails = a})++-- | Output of the plugin execution.+cpOutput :: Lens' CommandPlugin (Maybe Text)+cpOutput = lens _cpOutput (\ s a -> s{_cpOutput = 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.+cpStandardOutputURL :: Lens' CommandPlugin (Maybe Text)+cpStandardOutputURL = lens _cpStandardOutputURL (\ s a -> s{_cpStandardOutputURL = 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.+cpName :: Lens' CommandPlugin (Maybe Text)+cpName = lens _cpName (\ s a -> s{_cpName = a})++-- | (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)+cpOutputS3Region = lens _cpOutputS3Region (\ s a -> s{_cpOutputS3Region = 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/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/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)+cpOutputS3BucketName = lens _cpOutputS3BucketName (\ s a -> s{_cpOutputS3BucketName = a})++-- | The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.+cpResponseFinishDateTime :: Lens' CommandPlugin (Maybe UTCTime)+cpResponseFinishDateTime = lens _cpResponseFinishDateTime (\ s a -> s{_cpResponseFinishDateTime = a}) . mapping _Time++instance FromJSON CommandPlugin where+        parseJSON+          = withObject "CommandPlugin"+              (\ x ->+                 CommandPlugin' <$>+                   (x .:? "Status") <*> (x .:? "ResponseStartDateTime")+                     <*> (x .:? "OutputS3KeyPrefix")+                     <*> (x .:? "StandardErrorUrl")+                     <*> (x .:? "ResponseCode")+                     <*> (x .:? "StatusDetails")+                     <*> (x .:? "Output")+                     <*> (x .:? "StandardOutputUrl")+                     <*> (x .:? "Name")+                     <*> (x .:? "OutputS3Region")+                     <*> (x .:? "OutputS3BucketName")+                     <*> (x .:? "ResponseFinishDateTime"))++instance Hashable CommandPlugin where++instance NFData CommandPlugin where++-- | A summary of the call execution that includes an execution ID, the type of execution (for example, @Command@ ), 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'.+--+--+--+-- /See:/ 'complianceExecutionSummary' smart constructor.+data ComplianceExecutionSummary = ComplianceExecutionSummary'+  { _cesExecutionId   :: !(Maybe Text)+  , _cesExecutionType :: !(Maybe Text)+  , _cesExecutionTime :: !POSIX+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ComplianceExecutionSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cesExecutionId' - An ID created by the system when @PutComplianceItems@ was called. For example, @CommandID@ is a valid execution ID. You can use this ID in subsequent calls.+--+-- * 'cesExecutionType' - The type of execution. For example, @Command@ is a valid execution type.+--+-- * 'cesExecutionTime' - The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.+complianceExecutionSummary+    :: UTCTime -- ^ 'cesExecutionTime'+    -> ComplianceExecutionSummary+complianceExecutionSummary pExecutionTime_ =+  ComplianceExecutionSummary'+    { _cesExecutionId = Nothing+    , _cesExecutionType = Nothing+    , _cesExecutionTime = _Time # pExecutionTime_+    }+++-- | An ID created by the system when @PutComplianceItems@ was called. For example, @CommandID@ is a valid execution ID. You can use this ID in subsequent calls.+cesExecutionId :: Lens' ComplianceExecutionSummary (Maybe Text)+cesExecutionId = lens _cesExecutionId (\ s a -> s{_cesExecutionId = a})++-- | The type of execution. For example, @Command@ is a valid execution type.+cesExecutionType :: Lens' ComplianceExecutionSummary (Maybe Text)+cesExecutionType = lens _cesExecutionType (\ s a -> s{_cesExecutionType = 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'.+cesExecutionTime :: Lens' ComplianceExecutionSummary UTCTime+cesExecutionTime = lens _cesExecutionTime (\ s a -> s{_cesExecutionTime = a}) . _Time++instance FromJSON ComplianceExecutionSummary where+        parseJSON+          = withObject "ComplianceExecutionSummary"+              (\ x ->+                 ComplianceExecutionSummary' <$>+                   (x .:? "ExecutionId") <*> (x .:? "ExecutionType") <*>+                     (x .: "ExecutionTime"))++instance Hashable ComplianceExecutionSummary where++instance NFData ComplianceExecutionSummary where++instance ToJSON ComplianceExecutionSummary where+        toJSON ComplianceExecutionSummary'{..}+          = object+              (catMaybes+                 [("ExecutionId" .=) <$> _cesExecutionId,+                  ("ExecutionType" .=) <$> _cesExecutionType,+                  Just ("ExecutionTime" .= _cesExecutionTime)])++-- | Information about the compliance as defined by the resource type. For example, for a patch resource type, @Items@ includes information about the PatchSeverity, Classification, etc.+--+--+--+-- /See:/ 'complianceItem' smart constructor.+data ComplianceItem = ComplianceItem'+  { _ciStatus           :: !(Maybe ComplianceStatus)+  , _ciResourceId       :: !(Maybe Text)+  , _ciResourceType     :: !(Maybe Text)+  , _ciSeverity         :: !(Maybe ComplianceSeverity)+  , _ciExecutionSummary :: !(Maybe ComplianceExecutionSummary)+  , _ciDetails          :: !(Maybe (Map Text Text))+  , _ciId               :: !(Maybe Text)+  , _ciComplianceType   :: !(Maybe Text)+  , _ciTitle            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ComplianceItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciStatus' - The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.+--+-- * 'ciResourceId' - An ID for the resource. For a managed instance, this is the instance ID.+--+-- * 'ciResourceType' - The type of resource. @ManagedInstance@ is currently the only supported resource type.+--+-- * 'ciSeverity' - The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.+--+-- * 'ciExecutionSummary' - A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.+--+-- * 'ciDetails' - A "Key": "Value" tag combination for the compliance item.+--+-- * 'ciId' - 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.+--+-- * 'ciComplianceType' - The compliance type. For example, Association (for a State Manager association), Patch, or Custom:@string@ are all valid compliance types.+--+-- * 'ciTitle' - 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.+complianceItem+    :: ComplianceItem+complianceItem =+  ComplianceItem'+    { _ciStatus = Nothing+    , _ciResourceId = Nothing+    , _ciResourceType = Nothing+    , _ciSeverity = Nothing+    , _ciExecutionSummary = Nothing+    , _ciDetails = Nothing+    , _ciId = Nothing+    , _ciComplianceType = Nothing+    , _ciTitle = Nothing+    }+++-- | The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.+ciStatus :: Lens' ComplianceItem (Maybe ComplianceStatus)+ciStatus = lens _ciStatus (\ s a -> s{_ciStatus = a})++-- | An ID for the resource. For a managed instance, this is the instance ID.+ciResourceId :: Lens' ComplianceItem (Maybe Text)+ciResourceId = lens _ciResourceId (\ s a -> s{_ciResourceId = a})++-- | The type of resource. @ManagedInstance@ is currently the only supported resource type.+ciResourceType :: Lens' ComplianceItem (Maybe Text)+ciResourceType = lens _ciResourceType (\ s a -> s{_ciResourceType = a})++-- | The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.+ciSeverity :: Lens' ComplianceItem (Maybe ComplianceSeverity)+ciSeverity = lens _ciSeverity (\ s a -> s{_ciSeverity = a})++-- | 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)+ciExecutionSummary = lens _ciExecutionSummary (\ s a -> s{_ciExecutionSummary = a})++-- | A "Key": "Value" tag combination for the compliance item.+ciDetails :: Lens' ComplianceItem (HashMap Text Text)+ciDetails = lens _ciDetails (\ s a -> s{_ciDetails = a}) . _Default . _Map++-- | 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)+ciId = lens _ciId (\ s a -> s{_ciId = a})++-- | The compliance type. For example, Association (for a State Manager association), Patch, or Custom:@string@ are all valid compliance types.+ciComplianceType :: Lens' ComplianceItem (Maybe Text)+ciComplianceType = lens _ciComplianceType (\ s a -> s{_ciComplianceType = 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.+ciTitle :: Lens' ComplianceItem (Maybe Text)+ciTitle = lens _ciTitle (\ s a -> s{_ciTitle = a})++instance FromJSON ComplianceItem where+        parseJSON+          = withObject "ComplianceItem"+              (\ x ->+                 ComplianceItem' <$>+                   (x .:? "Status") <*> (x .:? "ResourceId") <*>+                     (x .:? "ResourceType")+                     <*> (x .:? "Severity")+                     <*> (x .:? "ExecutionSummary")+                     <*> (x .:? "Details" .!= mempty)+                     <*> (x .:? "Id")+                     <*> (x .:? "ComplianceType")+                     <*> (x .:? "Title"))++instance Hashable ComplianceItem where++instance NFData ComplianceItem where++-- | Information about a compliance item.+--+--+--+-- /See:/ 'complianceItemEntry' smart constructor.+data ComplianceItemEntry = ComplianceItemEntry'+  { _cieDetails  :: !(Maybe (Map Text Text))+  , _cieId       :: !(Maybe Text)+  , _cieTitle    :: !(Maybe Text)+  , _cieSeverity :: !ComplianceSeverity+  , _cieStatus   :: !ComplianceStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ComplianceItemEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cieDetails' - A "Key": "Value" tag combination for the compliance item.+--+-- * 'cieId' - The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.+--+-- * 'cieTitle' - 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.+--+-- * 'cieSeverity' - The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.+--+-- * 'cieStatus' - The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.+complianceItemEntry+    :: ComplianceSeverity -- ^ 'cieSeverity'+    -> ComplianceStatus -- ^ 'cieStatus'+    -> ComplianceItemEntry+complianceItemEntry pSeverity_ pStatus_ =+  ComplianceItemEntry'+    { _cieDetails = Nothing+    , _cieId = Nothing+    , _cieTitle = Nothing+    , _cieSeverity = pSeverity_+    , _cieStatus = pStatus_+    }+++-- | A "Key": "Value" tag combination for the compliance item.+cieDetails :: Lens' ComplianceItemEntry (HashMap Text Text)+cieDetails = lens _cieDetails (\ s a -> s{_cieDetails = a}) . _Default . _Map++-- | 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)+cieId = lens _cieId (\ s a -> s{_cieId = 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.+cieTitle :: Lens' ComplianceItemEntry (Maybe Text)+cieTitle = lens _cieTitle (\ s a -> s{_cieTitle = a})++-- | The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.+cieSeverity :: Lens' ComplianceItemEntry ComplianceSeverity+cieSeverity = lens _cieSeverity (\ s a -> s{_cieSeverity = a})++-- | The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.+cieStatus :: Lens' ComplianceItemEntry ComplianceStatus+cieStatus = lens _cieStatus (\ s a -> s{_cieStatus = a})++instance Hashable ComplianceItemEntry where++instance NFData ComplianceItemEntry where++instance ToJSON ComplianceItemEntry where+        toJSON ComplianceItemEntry'{..}+          = object+              (catMaybes+                 [("Details" .=) <$> _cieDetails,+                  ("Id" .=) <$> _cieId, ("Title" .=) <$> _cieTitle,+                  Just ("Severity" .= _cieSeverity),+                  Just ("Status" .= _cieStatus)])++-- | One or more filters. Use a filter to return a more specific list of results.+--+--+--+-- /See:/ 'complianceStringFilter' smart constructor.+data ComplianceStringFilter = ComplianceStringFilter'+  { _csfValues :: !(Maybe (List1 Text))+  , _csfKey    :: !(Maybe Text)+  , _csfType   :: !(Maybe ComplianceQueryOperatorType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ComplianceStringFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csfValues' - The value for which to search.+--+-- * 'csfKey' - The name of the filter.+--+-- * 'csfType' - The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.+complianceStringFilter+    :: ComplianceStringFilter+complianceStringFilter =+  ComplianceStringFilter'+    {_csfValues = Nothing, _csfKey = Nothing, _csfType = Nothing}+++-- | The value for which to search.+csfValues :: Lens' ComplianceStringFilter (Maybe (NonEmpty Text))+csfValues = lens _csfValues (\ s a -> s{_csfValues = a}) . mapping _List1++-- | The name of the filter.+csfKey :: Lens' ComplianceStringFilter (Maybe Text)+csfKey = lens _csfKey (\ s a -> s{_csfKey = a})++-- | The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.+csfType :: Lens' ComplianceStringFilter (Maybe ComplianceQueryOperatorType)+csfType = lens _csfType (\ s a -> s{_csfType = a})++instance Hashable ComplianceStringFilter where++instance NFData ComplianceStringFilter where++instance ToJSON ComplianceStringFilter where+        toJSON ComplianceStringFilter'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _csfValues,+                  ("Key" .=) <$> _csfKey, ("Type" .=) <$> _csfType])++-- | A summary of compliance information by compliance type.+--+--+--+-- /See:/ 'complianceSummaryItem' smart constructor.+data ComplianceSummaryItem = ComplianceSummaryItem'+  { _csiNonCompliantSummary :: !(Maybe NonCompliantSummary)+  , _csiCompliantSummary    :: !(Maybe CompliantSummary)+  , _csiComplianceType      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ComplianceSummaryItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csiNonCompliantSummary' - A list of NON_COMPLIANT items for the specified compliance type.+--+-- * 'csiCompliantSummary' - A list of COMPLIANT items for the specified compliance type.+--+-- * 'csiComplianceType' - The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.+complianceSummaryItem+    :: ComplianceSummaryItem+complianceSummaryItem =+  ComplianceSummaryItem'+    { _csiNonCompliantSummary = Nothing+    , _csiCompliantSummary = Nothing+    , _csiComplianceType = Nothing+    }+++-- | A list of NON_COMPLIANT items for the specified compliance type.+csiNonCompliantSummary :: Lens' ComplianceSummaryItem (Maybe NonCompliantSummary)+csiNonCompliantSummary = lens _csiNonCompliantSummary (\ s a -> s{_csiNonCompliantSummary = a})++-- | A list of COMPLIANT items for the specified compliance type.+csiCompliantSummary :: Lens' ComplianceSummaryItem (Maybe CompliantSummary)+csiCompliantSummary = lens _csiCompliantSummary (\ s a -> s{_csiCompliantSummary = a})++-- | The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.+csiComplianceType :: Lens' ComplianceSummaryItem (Maybe Text)+csiComplianceType = lens _csiComplianceType (\ s a -> s{_csiComplianceType = a})++instance FromJSON ComplianceSummaryItem where+        parseJSON+          = withObject "ComplianceSummaryItem"+              (\ x ->+                 ComplianceSummaryItem' <$>+                   (x .:? "NonCompliantSummary") <*>+                     (x .:? "CompliantSummary")+                     <*> (x .:? "ComplianceType"))++instance Hashable ComplianceSummaryItem where++instance NFData ComplianceSummaryItem where++-- | A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.+--+--+--+-- /See:/ 'compliantSummary' smart constructor.+data CompliantSummary = CompliantSummary'+  { _csCompliantCount  :: !(Maybe Int)+  , _csSeveritySummary :: !(Maybe SeveritySummary)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CompliantSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csCompliantCount' - The total number of resources that are compliant.+--+-- * 'csSeveritySummary' - A summary of the compliance severity by compliance type.+compliantSummary+    :: CompliantSummary+compliantSummary =+  CompliantSummary' {_csCompliantCount = Nothing, _csSeveritySummary = Nothing}+++-- | The total number of resources that are compliant.+csCompliantCount :: Lens' CompliantSummary (Maybe Int)+csCompliantCount = lens _csCompliantCount (\ s a -> s{_csCompliantCount = a})++-- | A summary of the compliance severity by compliance type.+csSeveritySummary :: Lens' CompliantSummary (Maybe SeveritySummary)+csSeveritySummary = lens _csSeveritySummary (\ s a -> s{_csSeveritySummary = a})++instance FromJSON CompliantSummary where+        parseJSON+          = withObject "CompliantSummary"+              (\ x ->+                 CompliantSummary' <$>+                   (x .:? "CompliantCount") <*>+                     (x .:? "SeveritySummary"))++instance Hashable CompliantSummary where++instance NFData CompliantSummary where++-- | Describes the association of a Systems Manager document and an instance.+--+--+--+-- /See:/ 'createAssociationBatchRequestEntry' smart constructor.+data CreateAssociationBatchRequestEntry = CreateAssociationBatchRequestEntry'+  { _cabreInstanceId         :: !(Maybe Text)+  , _cabreScheduleExpression :: !(Maybe Text)+  , _cabreOutputLocation     :: !(Maybe InstanceAssociationOutputLocation)+  , _cabreTargets            :: !(Maybe [Target])+  , _cabreParameters         :: !(Maybe (Map Text [Text]))+  , _cabreDocumentVersion    :: !(Maybe Text)+  , _cabreAssociationName    :: !(Maybe Text)+  , _cabreName               :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateAssociationBatchRequestEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cabreInstanceId' - The ID of the instance.+--+-- * 'cabreScheduleExpression' - A cron expression that specifies a schedule when the association runs.+--+-- * 'cabreOutputLocation' - An Amazon S3 bucket where you want to store the results of this request.+--+-- * 'cabreTargets' - The instances targeted by the request.+--+-- * 'cabreParameters' - A description of the parameters for a document.+--+-- * 'cabreDocumentVersion' - The document version.+--+-- * 'cabreAssociationName' - Specify a descriptive name for the association.+--+-- * 'cabreName' - The name of the configuration document.+createAssociationBatchRequestEntry+    :: Text -- ^ 'cabreName'+    -> CreateAssociationBatchRequestEntry+createAssociationBatchRequestEntry pName_ =+  CreateAssociationBatchRequestEntry'+    { _cabreInstanceId = Nothing+    , _cabreScheduleExpression = Nothing+    , _cabreOutputLocation = Nothing+    , _cabreTargets = Nothing+    , _cabreParameters = Nothing+    , _cabreDocumentVersion = Nothing+    , _cabreAssociationName = Nothing+    , _cabreName = pName_+    }+++-- | The ID of the instance.+cabreInstanceId :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)+cabreInstanceId = lens _cabreInstanceId (\ s a -> s{_cabreInstanceId = a})++-- | A cron expression that specifies a schedule when the association runs.+cabreScheduleExpression :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)+cabreScheduleExpression = lens _cabreScheduleExpression (\ s a -> s{_cabreScheduleExpression = a})++-- | An Amazon S3 bucket where you want to store the results of this request.+cabreOutputLocation :: Lens' CreateAssociationBatchRequestEntry (Maybe InstanceAssociationOutputLocation)+cabreOutputLocation = lens _cabreOutputLocation (\ s a -> s{_cabreOutputLocation = a})++-- | The instances targeted by the request.+cabreTargets :: Lens' CreateAssociationBatchRequestEntry [Target]+cabreTargets = lens _cabreTargets (\ s a -> s{_cabreTargets = a}) . _Default . _Coerce++-- | A description of the parameters for a document.+cabreParameters :: Lens' CreateAssociationBatchRequestEntry (HashMap Text [Text])+cabreParameters = lens _cabreParameters (\ s a -> s{_cabreParameters = a}) . _Default . _Map++-- | The document version.+cabreDocumentVersion :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)+cabreDocumentVersion = lens _cabreDocumentVersion (\ s a -> s{_cabreDocumentVersion = a})++-- | Specify a descriptive name for the association.+cabreAssociationName :: Lens' CreateAssociationBatchRequestEntry (Maybe Text)+cabreAssociationName = lens _cabreAssociationName (\ s a -> s{_cabreAssociationName = a})++-- | The name of the configuration document.+cabreName :: Lens' CreateAssociationBatchRequestEntry Text+cabreName = lens _cabreName (\ s a -> s{_cabreName = a})++instance FromJSON CreateAssociationBatchRequestEntry+         where+        parseJSON+          = withObject "CreateAssociationBatchRequestEntry"+              (\ x ->+                 CreateAssociationBatchRequestEntry' <$>+                   (x .:? "InstanceId") <*> (x .:? "ScheduleExpression")+                     <*> (x .:? "OutputLocation")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AssociationName")+                     <*> (x .: "Name"))++instance Hashable CreateAssociationBatchRequestEntry+         where++instance NFData CreateAssociationBatchRequestEntry+         where++instance ToJSON CreateAssociationBatchRequestEntry+         where+        toJSON CreateAssociationBatchRequestEntry'{..}+          = object+              (catMaybes+                 [("InstanceId" .=) <$> _cabreInstanceId,+                  ("ScheduleExpression" .=) <$>+                    _cabreScheduleExpression,+                  ("OutputLocation" .=) <$> _cabreOutputLocation,+                  ("Targets" .=) <$> _cabreTargets,+                  ("Parameters" .=) <$> _cabreParameters,+                  ("DocumentVersion" .=) <$> _cabreDocumentVersion,+                  ("AssociationName" .=) <$> _cabreAssociationName,+                  Just ("Name" .= _cabreName)])++-- | Filter for the DescribeActivation API.+--+--+--+-- /See:/ 'describeActivationsFilter' smart constructor.+data DescribeActivationsFilter = DescribeActivationsFilter'+  { _dafFilterKey    :: !(Maybe DescribeActivationsFilterKeys)+  , _dafFilterValues :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeActivationsFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dafFilterKey' - The name of the filter.+--+-- * 'dafFilterValues' - The filter values.+describeActivationsFilter+    :: DescribeActivationsFilter+describeActivationsFilter =+  DescribeActivationsFilter'+    {_dafFilterKey = Nothing, _dafFilterValues = Nothing}+++-- | The name of the filter.+dafFilterKey :: Lens' DescribeActivationsFilter (Maybe DescribeActivationsFilterKeys)+dafFilterKey = lens _dafFilterKey (\ s a -> s{_dafFilterKey = a})++-- | The filter values.+dafFilterValues :: Lens' DescribeActivationsFilter [Text]+dafFilterValues = lens _dafFilterValues (\ s a -> s{_dafFilterValues = a}) . _Default . _Coerce++instance Hashable DescribeActivationsFilter where++instance NFData DescribeActivationsFilter where++instance ToJSON DescribeActivationsFilter where+        toJSON DescribeActivationsFilter'{..}+          = object+              (catMaybes+                 [("FilterKey" .=) <$> _dafFilterKey,+                  ("FilterValues" .=) <$> _dafFilterValues])++-- | A default version of a document.+--+--+--+-- /See:/ 'documentDefaultVersionDescription' smart constructor.+data DocumentDefaultVersionDescription = DocumentDefaultVersionDescription'+  { _ddvdDefaultVersion :: !(Maybe Text)+  , _ddvdName           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentDefaultVersionDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddvdDefaultVersion' - The default version of the document.+--+-- * 'ddvdName' - The name of the document.+documentDefaultVersionDescription+    :: DocumentDefaultVersionDescription+documentDefaultVersionDescription =+  DocumentDefaultVersionDescription'+    {_ddvdDefaultVersion = Nothing, _ddvdName = Nothing}+++-- | The default version of the document.+ddvdDefaultVersion :: Lens' DocumentDefaultVersionDescription (Maybe Text)+ddvdDefaultVersion = lens _ddvdDefaultVersion (\ s a -> s{_ddvdDefaultVersion = a})++-- | The name of the document.+ddvdName :: Lens' DocumentDefaultVersionDescription (Maybe Text)+ddvdName = lens _ddvdName (\ s a -> s{_ddvdName = a})++instance FromJSON DocumentDefaultVersionDescription+         where+        parseJSON+          = withObject "DocumentDefaultVersionDescription"+              (\ x ->+                 DocumentDefaultVersionDescription' <$>+                   (x .:? "DefaultVersion") <*> (x .:? "Name"))++instance Hashable DocumentDefaultVersionDescription+         where++instance NFData DocumentDefaultVersionDescription+         where++-- | Describes a Systems Manager document.+--+--+--+-- /See:/ 'documentDescription' smart constructor.+data DocumentDescription = DocumentDescription'+  { _dStatus          :: !(Maybe DocumentStatus)+  , _dDocumentType    :: !(Maybe DocumentType)+  , _dHash            :: !(Maybe Text)+  , _dSchemaVersion   :: !(Maybe Text)+  , _dSha1            :: !(Maybe Text)+  , _dDefaultVersion  :: !(Maybe Text)+  , _dTargetType      :: !(Maybe Text)+  , _dOwner           :: !(Maybe Text)+  , _dPlatformTypes   :: !(Maybe [PlatformType])+  , _dCreatedDate     :: !(Maybe POSIX)+  , _dDocumentFormat  :: !(Maybe DocumentFormat)+  , _dName            :: !(Maybe Text)+  , _dHashType        :: !(Maybe DocumentHashType)+  , _dParameters      :: !(Maybe [DocumentParameter])+  , _dDocumentVersion :: !(Maybe Text)+  , _dDescription     :: !(Maybe Text)+  , _dTags            :: !(Maybe [Tag])+  , _dLatestVersion   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dStatus' - The status of the Systems Manager document.+--+-- * 'dDocumentType' - The type of document.+--+-- * 'dHash' - The Sha256 or Sha1 hash created by the system when the document was created.+--+-- * 'dSchemaVersion' - The schema version.+--+-- * 'dSha1' - The SHA1 hash of the document, which you can use for verification.+--+-- * 'dDefaultVersion' - The default version.+--+-- * 'dTargetType' - The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the /AWS CloudFormation User Guide/ .+--+-- * 'dOwner' - The AWS user account that created the document.+--+-- * 'dPlatformTypes' - The list of OS platforms compatible with this Systems Manager document.+--+-- * 'dCreatedDate' - The date when the document was created.+--+-- * 'dDocumentFormat' - The document format, either JSON or YAML.+--+-- * 'dName' - The name of the Systems Manager document.+--+-- * 'dHashType' - Sha256 or Sha1.+--+-- * 'dParameters' - A description of the parameters for a document.+--+-- * 'dDocumentVersion' - The document version.+--+-- * 'dDescription' - A description of the document.+--+-- * 'dTags' - The tags, or metadata, that have been applied to the document.+--+-- * 'dLatestVersion' - The latest version of the document.+documentDescription+    :: DocumentDescription+documentDescription =+  DocumentDescription'+    { _dStatus = Nothing+    , _dDocumentType = Nothing+    , _dHash = Nothing+    , _dSchemaVersion = Nothing+    , _dSha1 = Nothing+    , _dDefaultVersion = Nothing+    , _dTargetType = Nothing+    , _dOwner = Nothing+    , _dPlatformTypes = Nothing+    , _dCreatedDate = Nothing+    , _dDocumentFormat = Nothing+    , _dName = Nothing+    , _dHashType = Nothing+    , _dParameters = Nothing+    , _dDocumentVersion = Nothing+    , _dDescription = Nothing+    , _dTags = Nothing+    , _dLatestVersion = Nothing+    }+++-- | The status of the Systems Manager document.+dStatus :: Lens' DocumentDescription (Maybe DocumentStatus)+dStatus = lens _dStatus (\ s a -> s{_dStatus = a})++-- | The type of document.+dDocumentType :: Lens' DocumentDescription (Maybe DocumentType)+dDocumentType = lens _dDocumentType (\ s a -> s{_dDocumentType = a})++-- | The Sha256 or Sha1 hash created by the system when the document was created.+dHash :: Lens' DocumentDescription (Maybe Text)+dHash = lens _dHash (\ s a -> s{_dHash = a})++-- | The schema version.+dSchemaVersion :: Lens' DocumentDescription (Maybe Text)+dSchemaVersion = lens _dSchemaVersion (\ s a -> s{_dSchemaVersion = a})++-- | The SHA1 hash of the document, which you can use for verification.+dSha1 :: Lens' DocumentDescription (Maybe Text)+dSha1 = lens _dSha1 (\ s a -> s{_dSha1 = a})++-- | The default version.+dDefaultVersion :: Lens' DocumentDescription (Maybe Text)+dDefaultVersion = lens _dDefaultVersion (\ s a -> s{_dDefaultVersion = a})++-- | The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the /AWS CloudFormation User Guide/ .+dTargetType :: Lens' DocumentDescription (Maybe Text)+dTargetType = lens _dTargetType (\ s a -> s{_dTargetType = a})++-- | The AWS user account that created the document.+dOwner :: Lens' DocumentDescription (Maybe Text)+dOwner = lens _dOwner (\ s a -> s{_dOwner = a})++-- | The list of OS platforms compatible with this Systems Manager document.+dPlatformTypes :: Lens' DocumentDescription [PlatformType]+dPlatformTypes = lens _dPlatformTypes (\ s a -> s{_dPlatformTypes = a}) . _Default . _Coerce++-- | The date when the document was created.+dCreatedDate :: Lens' DocumentDescription (Maybe UTCTime)+dCreatedDate = lens _dCreatedDate (\ s a -> s{_dCreatedDate = a}) . mapping _Time++-- | The document format, either JSON or YAML.+dDocumentFormat :: Lens' DocumentDescription (Maybe DocumentFormat)+dDocumentFormat = lens _dDocumentFormat (\ s a -> s{_dDocumentFormat = a})++-- | The name of the Systems Manager document.+dName :: Lens' DocumentDescription (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | Sha256 or Sha1.+dHashType :: Lens' DocumentDescription (Maybe DocumentHashType)+dHashType = lens _dHashType (\ s a -> s{_dHashType = a})++-- | A description of the parameters for a document.+dParameters :: Lens' DocumentDescription [DocumentParameter]+dParameters = lens _dParameters (\ s a -> s{_dParameters = a}) . _Default . _Coerce++-- | The document version.+dDocumentVersion :: Lens' DocumentDescription (Maybe Text)+dDocumentVersion = lens _dDocumentVersion (\ s a -> s{_dDocumentVersion = a})++-- | A description of the document.+dDescription :: Lens' DocumentDescription (Maybe Text)+dDescription = lens _dDescription (\ s a -> s{_dDescription = a})++-- | The tags, or metadata, that have been applied to the document.+dTags :: Lens' DocumentDescription [Tag]+dTags = lens _dTags (\ s a -> s{_dTags = a}) . _Default . _Coerce++-- | The latest version of the document.+dLatestVersion :: Lens' DocumentDescription (Maybe Text)+dLatestVersion = lens _dLatestVersion (\ s a -> s{_dLatestVersion = a})++instance FromJSON DocumentDescription where+        parseJSON+          = withObject "DocumentDescription"+              (\ x ->+                 DocumentDescription' <$>+                   (x .:? "Status") <*> (x .:? "DocumentType") <*>+                     (x .:? "Hash")+                     <*> (x .:? "SchemaVersion")+                     <*> (x .:? "Sha1")+                     <*> (x .:? "DefaultVersion")+                     <*> (x .:? "TargetType")+                     <*> (x .:? "Owner")+                     <*> (x .:? "PlatformTypes" .!= mempty)+                     <*> (x .:? "CreatedDate")+                     <*> (x .:? "DocumentFormat")+                     <*> (x .:? "Name")+                     <*> (x .:? "HashType")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "Description")+                     <*> (x .:? "Tags" .!= mempty)+                     <*> (x .:? "LatestVersion"))++instance Hashable DocumentDescription where++instance NFData DocumentDescription where++-- | Describes a filter.+--+--+--+-- /See:/ 'documentFilter' smart constructor.+data DocumentFilter = DocumentFilter'+  { _dfKey   :: !DocumentFilterKey+  , _dfValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfKey' - The name of the filter.+--+-- * 'dfValue' - The value of the filter.+documentFilter+    :: DocumentFilterKey -- ^ 'dfKey'+    -> Text -- ^ 'dfValue'+    -> DocumentFilter+documentFilter pKey_ pValue_ =+  DocumentFilter' {_dfKey = pKey_, _dfValue = pValue_}+++-- | The name of the filter.+dfKey :: Lens' DocumentFilter DocumentFilterKey+dfKey = lens _dfKey (\ s a -> s{_dfKey = a})++-- | The value of the filter.+dfValue :: Lens' DocumentFilter Text+dfValue = lens _dfValue (\ s a -> s{_dfValue = a})++instance Hashable DocumentFilter where++instance NFData DocumentFilter where++instance ToJSON DocumentFilter where+        toJSON DocumentFilter'{..}+          = object+              (catMaybes+                 [Just ("key" .= _dfKey), Just ("value" .= _dfValue)])++-- | Describes the name of a Systems Manager document.+--+--+--+-- /See:/ 'documentIdentifier' smart constructor.+data DocumentIdentifier = DocumentIdentifier'+  { _diDocumentType    :: !(Maybe DocumentType)+  , _diSchemaVersion   :: !(Maybe Text)+  , _diTargetType      :: !(Maybe Text)+  , _diOwner           :: !(Maybe Text)+  , _diPlatformTypes   :: !(Maybe [PlatformType])+  , _diDocumentFormat  :: !(Maybe DocumentFormat)+  , _diName            :: !(Maybe Text)+  , _diDocumentVersion :: !(Maybe Text)+  , _diTags            :: !(Maybe [Tag])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentIdentifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diDocumentType' - The document type.+--+-- * 'diSchemaVersion' - The schema version.+--+-- * 'diTargetType' - The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the /AWS CloudFormation User Guide/ .+--+-- * 'diOwner' - The AWS user account that created the document.+--+-- * 'diPlatformTypes' - The operating system platform.+--+-- * 'diDocumentFormat' - The document format, either JSON or YAML.+--+-- * 'diName' - The name of the Systems Manager document.+--+-- * 'diDocumentVersion' - The document version.+--+-- * 'diTags' - The tags, or metadata, that have been applied to the document.+documentIdentifier+    :: DocumentIdentifier+documentIdentifier =+  DocumentIdentifier'+    { _diDocumentType = Nothing+    , _diSchemaVersion = Nothing+    , _diTargetType = Nothing+    , _diOwner = Nothing+    , _diPlatformTypes = Nothing+    , _diDocumentFormat = Nothing+    , _diName = Nothing+    , _diDocumentVersion = Nothing+    , _diTags = Nothing+    }+++-- | The document type.+diDocumentType :: Lens' DocumentIdentifier (Maybe DocumentType)+diDocumentType = lens _diDocumentType (\ s a -> s{_diDocumentType = a})++-- | The schema version.+diSchemaVersion :: Lens' DocumentIdentifier (Maybe Text)+diSchemaVersion = lens _diSchemaVersion (\ s a -> s{_diSchemaVersion = a})++-- | The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the /AWS CloudFormation User Guide/ .+diTargetType :: Lens' DocumentIdentifier (Maybe Text)+diTargetType = lens _diTargetType (\ s a -> s{_diTargetType = a})++-- | The AWS user account that created the document.+diOwner :: Lens' DocumentIdentifier (Maybe Text)+diOwner = lens _diOwner (\ s a -> s{_diOwner = a})++-- | The operating system platform.+diPlatformTypes :: Lens' DocumentIdentifier [PlatformType]+diPlatformTypes = lens _diPlatformTypes (\ s a -> s{_diPlatformTypes = a}) . _Default . _Coerce++-- | The document format, either JSON or YAML.+diDocumentFormat :: Lens' DocumentIdentifier (Maybe DocumentFormat)+diDocumentFormat = lens _diDocumentFormat (\ s a -> s{_diDocumentFormat = a})++-- | The name of the Systems Manager document.+diName :: Lens' DocumentIdentifier (Maybe Text)+diName = lens _diName (\ s a -> s{_diName = a})++-- | The document version.+diDocumentVersion :: Lens' DocumentIdentifier (Maybe Text)+diDocumentVersion = lens _diDocumentVersion (\ s a -> s{_diDocumentVersion = a})++-- | The tags, or metadata, that have been applied to the document.+diTags :: Lens' DocumentIdentifier [Tag]+diTags = lens _diTags (\ s a -> s{_diTags = a}) . _Default . _Coerce++instance FromJSON DocumentIdentifier where+        parseJSON+          = withObject "DocumentIdentifier"+              (\ x ->+                 DocumentIdentifier' <$>+                   (x .:? "DocumentType") <*> (x .:? "SchemaVersion")+                     <*> (x .:? "TargetType")+                     <*> (x .:? "Owner")+                     <*> (x .:? "PlatformTypes" .!= mempty)+                     <*> (x .:? "DocumentFormat")+                     <*> (x .:? "Name")+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "Tags" .!= mempty))++instance Hashable DocumentIdentifier where++instance NFData DocumentIdentifier where++-- | 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: @Key=Owner,Values=Self@ .+--+-- 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 @Te@ , run the following command:+--+-- @aws ssm list-documents --filters Key=Name,Values=Te@+--+-- 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 @Key=tag:[tagName],Values=[valueName]@ .+--+-- For example, if you created a Key called region and are using the AWS CLI to call the @list-documents@ command:+--+-- @aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self@+--+--+-- /See:/ 'documentKeyValuesFilter' smart constructor.+data DocumentKeyValuesFilter = DocumentKeyValuesFilter'+  { _dkvfValues :: !(Maybe [Text])+  , _dkvfKey    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentKeyValuesFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dkvfValues' - The value for the filter key.+--+-- * 'dkvfKey' - The name of the filter key.+documentKeyValuesFilter+    :: DocumentKeyValuesFilter+documentKeyValuesFilter =+  DocumentKeyValuesFilter' {_dkvfValues = Nothing, _dkvfKey = Nothing}+++-- | The value for the filter key.+dkvfValues :: Lens' DocumentKeyValuesFilter [Text]+dkvfValues = lens _dkvfValues (\ s a -> s{_dkvfValues = a}) . _Default . _Coerce++-- | The name of the filter key.+dkvfKey :: Lens' DocumentKeyValuesFilter (Maybe Text)+dkvfKey = lens _dkvfKey (\ s a -> s{_dkvfKey = a})++instance Hashable DocumentKeyValuesFilter where++instance NFData DocumentKeyValuesFilter where++instance ToJSON DocumentKeyValuesFilter where+        toJSON DocumentKeyValuesFilter'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _dkvfValues,+                  ("Key" .=) <$> _dkvfKey])++-- | Parameters specified in a System Manager document that execute on the server when the command is run.+--+--+--+-- /See:/ 'documentParameter' smart constructor.+data DocumentParameter = DocumentParameter'+  { _dpName         :: !(Maybe Text)+  , _dpDefaultValue :: !(Maybe Text)+  , _dpType         :: !(Maybe DocumentParameterType)+  , _dpDescription  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentParameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpName' - The name of the parameter.+--+-- * 'dpDefaultValue' - If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.+--+-- * 'dpType' - The type of parameter. The type can be either String or StringList.+--+-- * 'dpDescription' - A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.+documentParameter+    :: DocumentParameter+documentParameter =+  DocumentParameter'+    { _dpName = Nothing+    , _dpDefaultValue = Nothing+    , _dpType = Nothing+    , _dpDescription = Nothing+    }+++-- | The name of the parameter.+dpName :: Lens' DocumentParameter (Maybe Text)+dpName = lens _dpName (\ s a -> s{_dpName = a})++-- | 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)+dpDefaultValue = lens _dpDefaultValue (\ s a -> s{_dpDefaultValue = a})++-- | The type of parameter. The type can be either String or StringList.+dpType :: Lens' DocumentParameter (Maybe DocumentParameterType)+dpType = lens _dpType (\ s a -> s{_dpType = a})++-- | 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)+dpDescription = lens _dpDescription (\ s a -> s{_dpDescription = a})++instance FromJSON DocumentParameter where+        parseJSON+          = withObject "DocumentParameter"+              (\ x ->+                 DocumentParameter' <$>+                   (x .:? "Name") <*> (x .:? "DefaultValue") <*>+                     (x .:? "Type")+                     <*> (x .:? "Description"))++instance Hashable DocumentParameter where++instance NFData DocumentParameter where++-- | Version information about the document.+--+--+--+-- /See:/ 'documentVersionInfo' smart constructor.+data DocumentVersionInfo = DocumentVersionInfo'+  { _dviCreatedDate      :: !(Maybe POSIX)+  , _dviDocumentFormat   :: !(Maybe DocumentFormat)+  , _dviName             :: !(Maybe Text)+  , _dviDocumentVersion  :: !(Maybe Text)+  , _dviIsDefaultVersion :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentVersionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dviCreatedDate' - The date the document was created.+--+-- * 'dviDocumentFormat' - The document format, either JSON or YAML.+--+-- * 'dviName' - The document name.+--+-- * 'dviDocumentVersion' - The document version.+--+-- * 'dviIsDefaultVersion' - An identifier for the default version of the document.+documentVersionInfo+    :: DocumentVersionInfo+documentVersionInfo =+  DocumentVersionInfo'+    { _dviCreatedDate = Nothing+    , _dviDocumentFormat = Nothing+    , _dviName = Nothing+    , _dviDocumentVersion = Nothing+    , _dviIsDefaultVersion = Nothing+    }+++-- | The date the document was created.+dviCreatedDate :: Lens' DocumentVersionInfo (Maybe UTCTime)+dviCreatedDate = lens _dviCreatedDate (\ s a -> s{_dviCreatedDate = a}) . mapping _Time++-- | The document format, either JSON or YAML.+dviDocumentFormat :: Lens' DocumentVersionInfo (Maybe DocumentFormat)+dviDocumentFormat = lens _dviDocumentFormat (\ s a -> s{_dviDocumentFormat = a})++-- | The document name.+dviName :: Lens' DocumentVersionInfo (Maybe Text)+dviName = lens _dviName (\ s a -> s{_dviName = a})++-- | The document version.+dviDocumentVersion :: Lens' DocumentVersionInfo (Maybe Text)+dviDocumentVersion = lens _dviDocumentVersion (\ s a -> s{_dviDocumentVersion = a})++-- | An identifier for the default version of the document.+dviIsDefaultVersion :: Lens' DocumentVersionInfo (Maybe Bool)+dviIsDefaultVersion = lens _dviIsDefaultVersion (\ s a -> s{_dviIsDefaultVersion = a})++instance FromJSON DocumentVersionInfo where+        parseJSON+          = withObject "DocumentVersionInfo"+              (\ x ->+                 DocumentVersionInfo' <$>+                   (x .:? "CreatedDate") <*> (x .:? "DocumentFormat")+                     <*> (x .:? "Name")+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "IsDefaultVersion"))++instance Hashable DocumentVersionInfo where++instance NFData DocumentVersionInfo where++-- | 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.+--+--+--+-- /See:/ 'effectivePatch' smart constructor.+data EffectivePatch = EffectivePatch'+  { _epPatch       :: !(Maybe Patch)+  , _epPatchStatus :: !(Maybe PatchStatus)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EffectivePatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epPatch' - 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.+--+-- * 'epPatchStatus' - 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.+effectivePatch+    :: EffectivePatch+effectivePatch = EffectivePatch' {_epPatch = Nothing, _epPatchStatus = Nothing}+++-- | 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)+epPatch = lens _epPatch (\ s a -> s{_epPatch = 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.+epPatchStatus :: Lens' EffectivePatch (Maybe PatchStatus)+epPatchStatus = lens _epPatchStatus (\ s a -> s{_epPatchStatus = a})++instance FromJSON EffectivePatch where+        parseJSON+          = withObject "EffectivePatch"+              (\ x ->+                 EffectivePatch' <$>+                   (x .:? "Patch") <*> (x .:? "PatchStatus"))++instance Hashable EffectivePatch where++instance NFData EffectivePatch where++-- | Describes a failed association.+--+--+--+-- /See:/ 'failedCreateAssociation' smart constructor.+data FailedCreateAssociation = FailedCreateAssociation'+  { _fcaEntry   :: !(Maybe CreateAssociationBatchRequestEntry)+  , _fcaFault   :: !(Maybe Fault)+  , _fcaMessage :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FailedCreateAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcaEntry' - The association.+--+-- * 'fcaFault' - The source of the failure.+--+-- * 'fcaMessage' - A description of the failure.+failedCreateAssociation+    :: FailedCreateAssociation+failedCreateAssociation =+  FailedCreateAssociation'+    {_fcaEntry = Nothing, _fcaFault = Nothing, _fcaMessage = Nothing}+++-- | The association.+fcaEntry :: Lens' FailedCreateAssociation (Maybe CreateAssociationBatchRequestEntry)+fcaEntry = lens _fcaEntry (\ s a -> s{_fcaEntry = a})++-- | The source of the failure.+fcaFault :: Lens' FailedCreateAssociation (Maybe Fault)+fcaFault = lens _fcaFault (\ s a -> s{_fcaFault = a})++-- | A description of the failure.+fcaMessage :: Lens' FailedCreateAssociation (Maybe Text)+fcaMessage = lens _fcaMessage (\ s a -> s{_fcaMessage = a})++instance FromJSON FailedCreateAssociation where+        parseJSON+          = withObject "FailedCreateAssociation"+              (\ x ->+                 FailedCreateAssociation' <$>+                   (x .:? "Entry") <*> (x .:? "Fault") <*>+                     (x .:? "Message"))++instance Hashable FailedCreateAssociation where++instance NFData FailedCreateAssociation where++-- | Information about an Automation failure.+--+--+--+-- /See:/ 'failureDetails' smart constructor.+data FailureDetails = FailureDetails'+  { _fdFailureType  :: !(Maybe Text)+  , _fdFailureStage :: !(Maybe Text)+  , _fdDetails      :: !(Maybe (Map Text [Text]))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FailureDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdFailureType' - The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.+--+-- * 'fdFailureStage' - The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.+--+-- * 'fdDetails' - Detailed information about the Automation step failure.+failureDetails+    :: FailureDetails+failureDetails =+  FailureDetails'+    {_fdFailureType = Nothing, _fdFailureStage = Nothing, _fdDetails = Nothing}+++-- | The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.+fdFailureType :: Lens' FailureDetails (Maybe Text)+fdFailureType = lens _fdFailureType (\ s a -> s{_fdFailureType = a})++-- | The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.+fdFailureStage :: Lens' FailureDetails (Maybe Text)+fdFailureStage = lens _fdFailureStage (\ s a -> s{_fdFailureStage = a})++-- | Detailed information about the Automation step failure.+fdDetails :: Lens' FailureDetails (HashMap Text [Text])+fdDetails = lens _fdDetails (\ s a -> s{_fdDetails = a}) . _Default . _Map++instance FromJSON FailureDetails where+        parseJSON+          = withObject "FailureDetails"+              (\ x ->+                 FailureDetails' <$>+                   (x .:? "FailureType") <*> (x .:? "FailureStage") <*>+                     (x .:? "Details" .!= mempty))++instance Hashable FailureDetails where++instance NFData FailureDetails where++-- | Status information about the aggregated associations.+--+--+--+-- /See:/ 'instanceAggregatedAssociationOverview' smart constructor.+data InstanceAggregatedAssociationOverview = InstanceAggregatedAssociationOverview'+  { _iaaoDetailedStatus                           :: !(Maybe Text)+  , _iaaoInstanceAssociationStatusAggregatedCount :: !(Maybe (Map Text Int))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAggregatedAssociationOverview' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaaoDetailedStatus' - Detailed status information about the aggregated associations.+--+-- * 'iaaoInstanceAssociationStatusAggregatedCount' - The number of associations for the instance(s).+instanceAggregatedAssociationOverview+    :: InstanceAggregatedAssociationOverview+instanceAggregatedAssociationOverview =+  InstanceAggregatedAssociationOverview'+    { _iaaoDetailedStatus = Nothing+    , _iaaoInstanceAssociationStatusAggregatedCount = Nothing+    }+++-- | Detailed status information about the aggregated associations.+iaaoDetailedStatus :: Lens' InstanceAggregatedAssociationOverview (Maybe Text)+iaaoDetailedStatus = lens _iaaoDetailedStatus (\ s a -> s{_iaaoDetailedStatus = a})++-- | The number of associations for the instance(s).+iaaoInstanceAssociationStatusAggregatedCount :: Lens' InstanceAggregatedAssociationOverview (HashMap Text Int)+iaaoInstanceAssociationStatusAggregatedCount = lens _iaaoInstanceAssociationStatusAggregatedCount (\ s a -> s{_iaaoInstanceAssociationStatusAggregatedCount = a}) . _Default . _Map++instance FromJSON+           InstanceAggregatedAssociationOverview+         where+        parseJSON+          = withObject "InstanceAggregatedAssociationOverview"+              (\ x ->+                 InstanceAggregatedAssociationOverview' <$>+                   (x .:? "DetailedStatus") <*>+                     (x .:? "InstanceAssociationStatusAggregatedCount" .!=+                        mempty))++instance Hashable+           InstanceAggregatedAssociationOverview+         where++instance NFData InstanceAggregatedAssociationOverview+         where++-- | One or more association documents on the instance.+--+--+--+-- /See:/ 'instanceAssociation' smart constructor.+data InstanceAssociation = InstanceAssociation'+  { _iaAssociationId      :: !(Maybe Text)+  , _iaInstanceId         :: !(Maybe Text)+  , _iaContent            :: !(Maybe Text)+  , _iaAssociationVersion :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaAssociationId' - The association ID.+--+-- * 'iaInstanceId' - The instance ID.+--+-- * 'iaContent' - The content of the association document for the instance(s).+--+-- * 'iaAssociationVersion' - Version information for the association on the instance.+instanceAssociation+    :: InstanceAssociation+instanceAssociation =+  InstanceAssociation'+    { _iaAssociationId = Nothing+    , _iaInstanceId = Nothing+    , _iaContent = Nothing+    , _iaAssociationVersion = Nothing+    }+++-- | The association ID.+iaAssociationId :: Lens' InstanceAssociation (Maybe Text)+iaAssociationId = lens _iaAssociationId (\ s a -> s{_iaAssociationId = a})++-- | The instance ID.+iaInstanceId :: Lens' InstanceAssociation (Maybe Text)+iaInstanceId = lens _iaInstanceId (\ s a -> s{_iaInstanceId = a})++-- | The content of the association document for the instance(s).+iaContent :: Lens' InstanceAssociation (Maybe Text)+iaContent = lens _iaContent (\ s a -> s{_iaContent = a})++-- | Version information for the association on the instance.+iaAssociationVersion :: Lens' InstanceAssociation (Maybe Text)+iaAssociationVersion = lens _iaAssociationVersion (\ s a -> s{_iaAssociationVersion = a})++instance FromJSON InstanceAssociation where+        parseJSON+          = withObject "InstanceAssociation"+              (\ x ->+                 InstanceAssociation' <$>+                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>+                     (x .:? "Content")+                     <*> (x .:? "AssociationVersion"))++instance Hashable InstanceAssociation where++instance NFData InstanceAssociation where++-- | An Amazon S3 bucket where you want to store the results of this request.+--+--+--+-- /See:/ 'instanceAssociationOutputLocation' smart constructor.+newtype InstanceAssociationOutputLocation = InstanceAssociationOutputLocation'+  { _iaolS3Location :: Maybe S3OutputLocation+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAssociationOutputLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaolS3Location' - An Amazon S3 bucket where you want to store the results of this request.+instanceAssociationOutputLocation+    :: InstanceAssociationOutputLocation+instanceAssociationOutputLocation =+  InstanceAssociationOutputLocation' {_iaolS3Location = Nothing}+++-- | An Amazon S3 bucket where you want to store the results of this request.+iaolS3Location :: Lens' InstanceAssociationOutputLocation (Maybe S3OutputLocation)+iaolS3Location = lens _iaolS3Location (\ s a -> s{_iaolS3Location = a})++instance FromJSON InstanceAssociationOutputLocation+         where+        parseJSON+          = withObject "InstanceAssociationOutputLocation"+              (\ x ->+                 InstanceAssociationOutputLocation' <$>+                   (x .:? "S3Location"))++instance Hashable InstanceAssociationOutputLocation+         where++instance NFData InstanceAssociationOutputLocation+         where++instance ToJSON InstanceAssociationOutputLocation+         where+        toJSON InstanceAssociationOutputLocation'{..}+          = object+              (catMaybes [("S3Location" .=) <$> _iaolS3Location])++-- | The URL of Amazon S3 bucket where you want to store the results of this request.+--+--+--+-- /See:/ 'instanceAssociationOutputURL' smart constructor.+newtype InstanceAssociationOutputURL = InstanceAssociationOutputURL'+  { _iaouS3OutputURL :: Maybe S3OutputURL+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAssociationOutputURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaouS3OutputURL' - The URL of Amazon S3 bucket where you want to store the results of this request.+instanceAssociationOutputURL+    :: InstanceAssociationOutputURL+instanceAssociationOutputURL =+  InstanceAssociationOutputURL' {_iaouS3OutputURL = Nothing}+++-- | The URL of Amazon S3 bucket where you want to store the results of this request.+iaouS3OutputURL :: Lens' InstanceAssociationOutputURL (Maybe S3OutputURL)+iaouS3OutputURL = lens _iaouS3OutputURL (\ s a -> s{_iaouS3OutputURL = a})++instance FromJSON InstanceAssociationOutputURL where+        parseJSON+          = withObject "InstanceAssociationOutputURL"+              (\ x ->+                 InstanceAssociationOutputURL' <$>+                   (x .:? "S3OutputUrl"))++instance Hashable InstanceAssociationOutputURL where++instance NFData InstanceAssociationOutputURL where++-- | Status information about the instance association.+--+--+--+-- /See:/ 'instanceAssociationStatusInfo' smart constructor.+data InstanceAssociationStatusInfo = InstanceAssociationStatusInfo'+  { _iasiAssociationId      :: !(Maybe Text)+  , _iasiInstanceId         :: !(Maybe Text)+  , _iasiDetailedStatus     :: !(Maybe Text)+  , _iasiStatus             :: !(Maybe Text)+  , _iasiOutputURL          :: !(Maybe InstanceAssociationOutputURL)+  , _iasiExecutionSummary   :: !(Maybe Text)+  , _iasiName               :: !(Maybe Text)+  , _iasiErrorCode          :: !(Maybe Text)+  , _iasiDocumentVersion    :: !(Maybe Text)+  , _iasiAssociationVersion :: !(Maybe Text)+  , _iasiExecutionDate      :: !(Maybe POSIX)+  , _iasiAssociationName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAssociationStatusInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iasiAssociationId' - The association ID.+--+-- * 'iasiInstanceId' - The instance ID where the association was created.+--+-- * 'iasiDetailedStatus' - Detailed status information about the instance association.+--+-- * 'iasiStatus' - Status information about the instance association.+--+-- * 'iasiOutputURL' - A URL for an Amazon S3 bucket where you want to store the results of this request.+--+-- * 'iasiExecutionSummary' - Summary information about association execution.+--+-- * 'iasiName' - The name of the association.+--+-- * 'iasiErrorCode' - An error code returned by the request to create the association.+--+-- * 'iasiDocumentVersion' - The association document verions.+--+-- * 'iasiAssociationVersion' - The version of the association applied to the instance.+--+-- * 'iasiExecutionDate' - The date the instance association executed.+--+-- * 'iasiAssociationName' - The name of the association applied to the instance.+instanceAssociationStatusInfo+    :: InstanceAssociationStatusInfo+instanceAssociationStatusInfo =+  InstanceAssociationStatusInfo'+    { _iasiAssociationId = Nothing+    , _iasiInstanceId = Nothing+    , _iasiDetailedStatus = Nothing+    , _iasiStatus = Nothing+    , _iasiOutputURL = Nothing+    , _iasiExecutionSummary = Nothing+    , _iasiName = Nothing+    , _iasiErrorCode = Nothing+    , _iasiDocumentVersion = Nothing+    , _iasiAssociationVersion = Nothing+    , _iasiExecutionDate = Nothing+    , _iasiAssociationName = Nothing+    }+++-- | The association ID.+iasiAssociationId :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiAssociationId = lens _iasiAssociationId (\ s a -> s{_iasiAssociationId = a})++-- | The instance ID where the association was created.+iasiInstanceId :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiInstanceId = lens _iasiInstanceId (\ s a -> s{_iasiInstanceId = a})++-- | Detailed status information about the instance association.+iasiDetailedStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiDetailedStatus = lens _iasiDetailedStatus (\ s a -> s{_iasiDetailedStatus = a})++-- | Status information about the instance association.+iasiStatus :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiStatus = lens _iasiStatus (\ s a -> s{_iasiStatus = a})++-- | A URL for an Amazon S3 bucket where you want to store the results of this request.+iasiOutputURL :: Lens' InstanceAssociationStatusInfo (Maybe InstanceAssociationOutputURL)+iasiOutputURL = lens _iasiOutputURL (\ s a -> s{_iasiOutputURL = a})++-- | Summary information about association execution.+iasiExecutionSummary :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiExecutionSummary = lens _iasiExecutionSummary (\ s a -> s{_iasiExecutionSummary = a})++-- | The name of the association.+iasiName :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiName = lens _iasiName (\ s a -> s{_iasiName = a})++-- | An error code returned by the request to create the association.+iasiErrorCode :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiErrorCode = lens _iasiErrorCode (\ s a -> s{_iasiErrorCode = a})++-- | The association document verions.+iasiDocumentVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiDocumentVersion = lens _iasiDocumentVersion (\ s a -> s{_iasiDocumentVersion = a})++-- | The version of the association applied to the instance.+iasiAssociationVersion :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiAssociationVersion = lens _iasiAssociationVersion (\ s a -> s{_iasiAssociationVersion = a})++-- | The date the instance association executed.+iasiExecutionDate :: Lens' InstanceAssociationStatusInfo (Maybe UTCTime)+iasiExecutionDate = lens _iasiExecutionDate (\ s a -> s{_iasiExecutionDate = a}) . mapping _Time++-- | The name of the association applied to the instance.+iasiAssociationName :: Lens' InstanceAssociationStatusInfo (Maybe Text)+iasiAssociationName = lens _iasiAssociationName (\ s a -> s{_iasiAssociationName = a})++instance FromJSON InstanceAssociationStatusInfo where+        parseJSON+          = withObject "InstanceAssociationStatusInfo"+              (\ x ->+                 InstanceAssociationStatusInfo' <$>+                   (x .:? "AssociationId") <*> (x .:? "InstanceId") <*>+                     (x .:? "DetailedStatus")+                     <*> (x .:? "Status")+                     <*> (x .:? "OutputUrl")+                     <*> (x .:? "ExecutionSummary")+                     <*> (x .:? "Name")+                     <*> (x .:? "ErrorCode")+                     <*> (x .:? "DocumentVersion")+                     <*> (x .:? "AssociationVersion")+                     <*> (x .:? "ExecutionDate")+                     <*> (x .:? "AssociationName"))++instance Hashable InstanceAssociationStatusInfo where++instance NFData InstanceAssociationStatusInfo where++-- | Describes a filter for a specific list of instances.+--+--+--+-- /See:/ 'instanceInformation' smart constructor.+data InstanceInformation = InstanceInformation'+  { _iiInstanceId :: !(Maybe Text)+  , _iiPingStatus :: !(Maybe PingStatus)+  , _iiIPAddress :: !(Maybe Text)+  , _iiResourceType :: !(Maybe ResourceType)+  , _iiRegistrationDate :: !(Maybe POSIX)+  , _iiPlatformVersion :: !(Maybe Text)+  , _iiIsLatestVersion :: !(Maybe Bool)+  , _iiAgentVersion :: !(Maybe Text)+  , _iiLastPingDateTime :: !(Maybe POSIX)+  , _iiLastSuccessfulAssociationExecutionDate :: !(Maybe POSIX)+  , _iiActivationId :: !(Maybe Text)+  , _iiName :: !(Maybe Text)+  , _iiPlatformType :: !(Maybe PlatformType)+  , _iiAssociationOverview :: !(Maybe InstanceAggregatedAssociationOverview)+  , _iiAssociationStatus :: !(Maybe Text)+  , _iiLastAssociationExecutionDate :: !(Maybe POSIX)+  , _iiPlatformName :: !(Maybe Text)+  , _iiComputerName :: !(Maybe Text)+  , _iiIAMRole :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiInstanceId' - The instance ID.+--+-- * 'iiPingStatus' - Connection status of the SSM Agent.+--+-- * 'iiIPAddress' - The IP address of the managed instance.+--+-- * 'iiResourceType' - The type of instance. Instances are either EC2 instances or managed instances.+--+-- * 'iiRegistrationDate' - The date the server or VM was registered with AWS as a managed instance.+--+-- * 'iiPlatformVersion' - The version of the OS platform running on your instance.+--+-- * 'iiIsLatestVersion' - 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.+--+-- * 'iiAgentVersion' - The version of the SSM Agent running on your Linux instance.+--+-- * 'iiLastPingDateTime' - The date and time when agent last pinged Systems Manager service.+--+-- * 'iiLastSuccessfulAssociationExecutionDate' - The last date the association was successfully run.+--+-- * 'iiActivationId' - The activation ID created by Systems Manager when the server or VM was registered.+--+-- * 'iiName' - The name of the managed instance.+--+-- * 'iiPlatformType' - The operating system platform type.+--+-- * 'iiAssociationOverview' - Information about the association.+--+-- * 'iiAssociationStatus' - The status of the association.+--+-- * 'iiLastAssociationExecutionDate' - The date the association was last executed.+--+-- * 'iiPlatformName' - The name of the operating system platform running on your instance.+--+-- * 'iiComputerName' - The fully qualified host name of the managed instance.+--+-- * 'iiIAMRole' - The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances.+instanceInformation+    :: InstanceInformation+instanceInformation =+  InstanceInformation'+    { _iiInstanceId = Nothing+    , _iiPingStatus = Nothing+    , _iiIPAddress = Nothing+    , _iiResourceType = Nothing+    , _iiRegistrationDate = Nothing+    , _iiPlatformVersion = Nothing+    , _iiIsLatestVersion = Nothing+    , _iiAgentVersion = Nothing+    , _iiLastPingDateTime = Nothing+    , _iiLastSuccessfulAssociationExecutionDate = Nothing+    , _iiActivationId = Nothing+    , _iiName = Nothing+    , _iiPlatformType = Nothing+    , _iiAssociationOverview = Nothing+    , _iiAssociationStatus = Nothing+    , _iiLastAssociationExecutionDate = Nothing+    , _iiPlatformName = Nothing+    , _iiComputerName = Nothing+    , _iiIAMRole = Nothing+    }+++-- | The instance ID.+iiInstanceId :: Lens' InstanceInformation (Maybe Text)+iiInstanceId = lens _iiInstanceId (\ s a -> s{_iiInstanceId = a})++-- | Connection status of the SSM Agent.+iiPingStatus :: Lens' InstanceInformation (Maybe PingStatus)+iiPingStatus = lens _iiPingStatus (\ s a -> s{_iiPingStatus = a})++-- | The IP address of the managed instance.+iiIPAddress :: Lens' InstanceInformation (Maybe Text)+iiIPAddress = lens _iiIPAddress (\ s a -> s{_iiIPAddress = a})++-- | The type of instance. Instances are either EC2 instances or managed instances.+iiResourceType :: Lens' InstanceInformation (Maybe ResourceType)+iiResourceType = lens _iiResourceType (\ s a -> s{_iiResourceType = a})++-- | The date the server or VM was registered with AWS as a managed instance.+iiRegistrationDate :: Lens' InstanceInformation (Maybe UTCTime)+iiRegistrationDate = lens _iiRegistrationDate (\ s a -> s{_iiRegistrationDate = a}) . mapping _Time++-- | The version of the OS platform running on your instance.+iiPlatformVersion :: Lens' InstanceInformation (Maybe Text)+iiPlatformVersion = lens _iiPlatformVersion (\ s a -> s{_iiPlatformVersion = 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.+iiIsLatestVersion :: Lens' InstanceInformation (Maybe Bool)+iiIsLatestVersion = lens _iiIsLatestVersion (\ s a -> s{_iiIsLatestVersion = a})++-- | The version of the SSM Agent running on your Linux instance.+iiAgentVersion :: Lens' InstanceInformation (Maybe Text)+iiAgentVersion = lens _iiAgentVersion (\ s a -> s{_iiAgentVersion = a})++-- | The date and time when agent last pinged Systems Manager service.+iiLastPingDateTime :: Lens' InstanceInformation (Maybe UTCTime)+iiLastPingDateTime = lens _iiLastPingDateTime (\ s a -> s{_iiLastPingDateTime = a}) . mapping _Time++-- | The last date the association was successfully run.+iiLastSuccessfulAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)+iiLastSuccessfulAssociationExecutionDate = lens _iiLastSuccessfulAssociationExecutionDate (\ s a -> s{_iiLastSuccessfulAssociationExecutionDate = a}) . mapping _Time++-- | The activation ID created by Systems Manager when the server or VM was registered.+iiActivationId :: Lens' InstanceInformation (Maybe Text)+iiActivationId = lens _iiActivationId (\ s a -> s{_iiActivationId = a})++-- | The name of the managed instance.+iiName :: Lens' InstanceInformation (Maybe Text)+iiName = lens _iiName (\ s a -> s{_iiName = a})++-- | The operating system platform type.+iiPlatformType :: Lens' InstanceInformation (Maybe PlatformType)+iiPlatformType = lens _iiPlatformType (\ s a -> s{_iiPlatformType = a})++-- | Information about the association.+iiAssociationOverview :: Lens' InstanceInformation (Maybe InstanceAggregatedAssociationOverview)+iiAssociationOverview = lens _iiAssociationOverview (\ s a -> s{_iiAssociationOverview = a})++-- | The status of the association.+iiAssociationStatus :: Lens' InstanceInformation (Maybe Text)+iiAssociationStatus = lens _iiAssociationStatus (\ s a -> s{_iiAssociationStatus = a})++-- | The date the association was last executed.+iiLastAssociationExecutionDate :: Lens' InstanceInformation (Maybe UTCTime)+iiLastAssociationExecutionDate = lens _iiLastAssociationExecutionDate (\ s a -> s{_iiLastAssociationExecutionDate = a}) . mapping _Time++-- | The name of the operating system platform running on your instance.+iiPlatformName :: Lens' InstanceInformation (Maybe Text)+iiPlatformName = lens _iiPlatformName (\ s a -> s{_iiPlatformName = a})++-- | The fully qualified host name of the managed instance.+iiComputerName :: Lens' InstanceInformation (Maybe Text)+iiComputerName = lens _iiComputerName (\ s a -> s{_iiComputerName = a})++-- | The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances.+iiIAMRole :: Lens' InstanceInformation (Maybe Text)+iiIAMRole = lens _iiIAMRole (\ s a -> s{_iiIAMRole = a})++instance FromJSON InstanceInformation where+        parseJSON+          = withObject "InstanceInformation"+              (\ x ->+                 InstanceInformation' <$>+                   (x .:? "InstanceId") <*> (x .:? "PingStatus") <*>+                     (x .:? "IPAddress")+                     <*> (x .:? "ResourceType")+                     <*> (x .:? "RegistrationDate")+                     <*> (x .:? "PlatformVersion")+                     <*> (x .:? "IsLatestVersion")+                     <*> (x .:? "AgentVersion")+                     <*> (x .:? "LastPingDateTime")+                     <*> (x .:? "LastSuccessfulAssociationExecutionDate")+                     <*> (x .:? "ActivationId")+                     <*> (x .:? "Name")+                     <*> (x .:? "PlatformType")+                     <*> (x .:? "AssociationOverview")+                     <*> (x .:? "AssociationStatus")+                     <*> (x .:? "LastAssociationExecutionDate")+                     <*> (x .:? "PlatformName")+                     <*> (x .:? "ComputerName")+                     <*> (x .:? "IamRole"))++instance Hashable InstanceInformation where++instance NFData InstanceInformation where++-- | Describes a filter for a specific list of instances.+--+--+--+-- /See:/ 'instanceInformationFilter' smart constructor.+data InstanceInformationFilter = InstanceInformationFilter'+  { _iifKey      :: !InstanceInformationFilterKey+  , _iifValueSet :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceInformationFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iifKey' - The name of the filter.+--+-- * 'iifValueSet' - The filter values.+instanceInformationFilter+    :: InstanceInformationFilterKey -- ^ 'iifKey'+    -> NonEmpty Text -- ^ 'iifValueSet'+    -> InstanceInformationFilter+instanceInformationFilter pKey_ pValueSet_ =+  InstanceInformationFilter'+    {_iifKey = pKey_, _iifValueSet = _List1 # pValueSet_}+++-- | The name of the filter.+iifKey :: Lens' InstanceInformationFilter InstanceInformationFilterKey+iifKey = lens _iifKey (\ s a -> s{_iifKey = a})++-- | The filter values.+iifValueSet :: Lens' InstanceInformationFilter (NonEmpty Text)+iifValueSet = lens _iifValueSet (\ s a -> s{_iifValueSet = a}) . _List1++instance Hashable InstanceInformationFilter where++instance NFData InstanceInformationFilter where++instance ToJSON InstanceInformationFilter where+        toJSON InstanceInformationFilter'{..}+          = object+              (catMaybes+                 [Just ("key" .= _iifKey),+                  Just ("valueSet" .= _iifValueSet)])++-- | The filters to describe or get information about your managed instances.+--+--+--+-- /See:/ 'instanceInformationStringFilter' smart constructor.+data InstanceInformationStringFilter = InstanceInformationStringFilter'+  { _iisfKey    :: !Text+  , _iisfValues :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceInformationStringFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iisfKey' - The filter key name to describe your instances. For example: "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key"+--+-- * 'iisfValues' - The filter values.+instanceInformationStringFilter+    :: Text -- ^ 'iisfKey'+    -> NonEmpty Text -- ^ 'iisfValues'+    -> InstanceInformationStringFilter+instanceInformationStringFilter pKey_ pValues_ =+  InstanceInformationStringFilter'+    {_iisfKey = pKey_, _iisfValues = _List1 # pValues_}+++-- | The filter key name to describe your instances. For example: "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key"+iisfKey :: Lens' InstanceInformationStringFilter Text+iisfKey = lens _iisfKey (\ s a -> s{_iisfKey = a})++-- | The filter values.+iisfValues :: Lens' InstanceInformationStringFilter (NonEmpty Text)+iisfValues = lens _iisfValues (\ s a -> s{_iisfValues = a}) . _List1++instance Hashable InstanceInformationStringFilter+         where++instance NFData InstanceInformationStringFilter where++instance ToJSON InstanceInformationStringFilter where+        toJSON InstanceInformationStringFilter'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _iisfKey),+                  Just ("Values" .= _iisfValues)])++-- | 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.+--+--+--+-- /See:/ 'instancePatchState' smart constructor.+data InstancePatchState = InstancePatchState'+  { _ipsOwnerInformation    :: !(Maybe (Sensitive Text))+  , _ipsFailedCount         :: !(Maybe Int)+  , _ipsInstalledOtherCount :: !(Maybe Int)+  , _ipsMissingCount        :: !(Maybe Int)+  , _ipsNotApplicableCount  :: !(Maybe Int)+  , _ipsInstalledCount      :: !(Maybe Int)+  , _ipsSnapshotId          :: !(Maybe Text)+  , _ipsInstanceId          :: !Text+  , _ipsPatchGroup          :: !Text+  , _ipsBaselineId          :: !Text+  , _ipsOperationStartTime  :: !POSIX+  , _ipsOperationEndTime    :: !POSIX+  , _ipsOperation           :: !PatchOperationType+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancePatchState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipsOwnerInformation' - Placeholder information. This field will always be empty in the current release of the service.+--+-- * 'ipsFailedCount' - The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.+--+-- * 'ipsInstalledOtherCount' - The number of patches not specified in the patch baseline that are installed on the instance.+--+-- * 'ipsMissingCount' - The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.+--+-- * 'ipsNotApplicableCount' - The number of patches from the patch baseline that aren't applicable for the instance and hence aren't installed on the instance.+--+-- * 'ipsInstalledCount' - The number of patches from the patch baseline that are installed on the instance.+--+-- * 'ipsSnapshotId' - The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.+--+-- * 'ipsInstanceId' - The ID of the managed instance the high-level patch compliance information was collected for.+--+-- * 'ipsPatchGroup' - The name of the patch group the managed instance belongs to.+--+-- * 'ipsBaselineId' - The ID of the patch baseline used to patch the instance.+--+-- * 'ipsOperationStartTime' - The time the most recent patching operation was started on the instance.+--+-- * 'ipsOperationEndTime' - The time the most recent patching operation completed on the instance.+--+-- * 'ipsOperation' - The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).+instancePatchState+    :: Text -- ^ 'ipsInstanceId'+    -> Text -- ^ 'ipsPatchGroup'+    -> Text -- ^ 'ipsBaselineId'+    -> UTCTime -- ^ 'ipsOperationStartTime'+    -> UTCTime -- ^ 'ipsOperationEndTime'+    -> PatchOperationType -- ^ 'ipsOperation'+    -> InstancePatchState+instancePatchState pInstanceId_ pPatchGroup_ pBaselineId_ pOperationStartTime_ pOperationEndTime_ pOperation_ =+  InstancePatchState'+    { _ipsOwnerInformation = Nothing+    , _ipsFailedCount = Nothing+    , _ipsInstalledOtherCount = Nothing+    , _ipsMissingCount = Nothing+    , _ipsNotApplicableCount = Nothing+    , _ipsInstalledCount = Nothing+    , _ipsSnapshotId = Nothing+    , _ipsInstanceId = pInstanceId_+    , _ipsPatchGroup = pPatchGroup_+    , _ipsBaselineId = pBaselineId_+    , _ipsOperationStartTime = _Time # pOperationStartTime_+    , _ipsOperationEndTime = _Time # pOperationEndTime_+    , _ipsOperation = pOperation_+    }+++-- | Placeholder information. This field will always be empty in the current release of the service.+ipsOwnerInformation :: Lens' InstancePatchState (Maybe Text)+ipsOwnerInformation = lens _ipsOwnerInformation (\ s a -> s{_ipsOwnerInformation = a}) . mapping _Sensitive++-- | 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)+ipsFailedCount = lens _ipsFailedCount (\ s a -> s{_ipsFailedCount = a})++-- | The number of patches not specified in the patch baseline that are installed on the instance.+ipsInstalledOtherCount :: Lens' InstancePatchState (Maybe Int)+ipsInstalledOtherCount = lens _ipsInstalledOtherCount (\ s a -> s{_ipsInstalledOtherCount = a})++-- | The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.+ipsMissingCount :: Lens' InstancePatchState (Maybe Int)+ipsMissingCount = lens _ipsMissingCount (\ s a -> s{_ipsMissingCount = a})++-- | 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)+ipsNotApplicableCount = lens _ipsNotApplicableCount (\ s a -> s{_ipsNotApplicableCount = a})++-- | The number of patches from the patch baseline that are installed on the instance.+ipsInstalledCount :: Lens' InstancePatchState (Maybe Int)+ipsInstalledCount = lens _ipsInstalledCount (\ s a -> s{_ipsInstalledCount = a})++-- | The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.+ipsSnapshotId :: Lens' InstancePatchState (Maybe Text)+ipsSnapshotId = lens _ipsSnapshotId (\ s a -> s{_ipsSnapshotId = a})++-- | The ID of the managed instance the high-level patch compliance information was collected for.+ipsInstanceId :: Lens' InstancePatchState Text+ipsInstanceId = lens _ipsInstanceId (\ s a -> s{_ipsInstanceId = a})++-- | The name of the patch group the managed instance belongs to.+ipsPatchGroup :: Lens' InstancePatchState Text+ipsPatchGroup = lens _ipsPatchGroup (\ s a -> s{_ipsPatchGroup = a})++-- | The ID of the patch baseline used to patch the instance.+ipsBaselineId :: Lens' InstancePatchState Text+ipsBaselineId = lens _ipsBaselineId (\ s a -> s{_ipsBaselineId = a})++-- | The time the most recent patching operation was started on the instance.+ipsOperationStartTime :: Lens' InstancePatchState UTCTime+ipsOperationStartTime = lens _ipsOperationStartTime (\ s a -> s{_ipsOperationStartTime = a}) . _Time++-- | The time the most recent patching operation completed on the instance.+ipsOperationEndTime :: Lens' InstancePatchState UTCTime+ipsOperationEndTime = lens _ipsOperationEndTime (\ s a -> s{_ipsOperationEndTime = a}) . _Time++-- | The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).+ipsOperation :: Lens' InstancePatchState PatchOperationType+ipsOperation = lens _ipsOperation (\ s a -> s{_ipsOperation = a})++instance FromJSON InstancePatchState where+        parseJSON+          = withObject "InstancePatchState"+              (\ x ->+                 InstancePatchState' <$>+                   (x .:? "OwnerInformation") <*> (x .:? "FailedCount")+                     <*> (x .:? "InstalledOtherCount")+                     <*> (x .:? "MissingCount")+                     <*> (x .:? "NotApplicableCount")+                     <*> (x .:? "InstalledCount")+                     <*> (x .:? "SnapshotId")+                     <*> (x .: "InstanceId")+                     <*> (x .: "PatchGroup")+                     <*> (x .: "BaselineId")+                     <*> (x .: "OperationStartTime")+                     <*> (x .: "OperationEndTime")+                     <*> (x .: "Operation"))++instance Hashable InstancePatchState where++instance NFData InstancePatchState where++-- | Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the information returned by the API.+--+--+--+-- /See:/ 'instancePatchStateFilter' smart constructor.+data InstancePatchStateFilter = InstancePatchStateFilter'+  { _ipsfKey    :: !Text+  , _ipsfValues :: !(List1 Text)+  , _ipsfType   :: !InstancePatchStateOperatorType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancePatchStateFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipsfKey' - The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.+--+-- * 'ipsfValues' - The value for the filter, must be an integer greater than or equal to 0.+--+-- * 'ipsfType' - The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.+instancePatchStateFilter+    :: Text -- ^ 'ipsfKey'+    -> NonEmpty Text -- ^ 'ipsfValues'+    -> InstancePatchStateOperatorType -- ^ 'ipsfType'+    -> InstancePatchStateFilter+instancePatchStateFilter pKey_ pValues_ pType_ =+  InstancePatchStateFilter'+    {_ipsfKey = pKey_, _ipsfValues = _List1 # pValues_, _ipsfType = pType_}+++-- | The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.+ipsfKey :: Lens' InstancePatchStateFilter Text+ipsfKey = lens _ipsfKey (\ s a -> s{_ipsfKey = a})++-- | The value for the filter, must be an integer greater than or equal to 0.+ipsfValues :: Lens' InstancePatchStateFilter (NonEmpty Text)+ipsfValues = lens _ipsfValues (\ s a -> s{_ipsfValues = a}) . _List1++-- | The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.+ipsfType :: Lens' InstancePatchStateFilter InstancePatchStateOperatorType+ipsfType = lens _ipsfType (\ s a -> s{_ipsfType = a})++instance Hashable InstancePatchStateFilter where++instance NFData InstancePatchStateFilter where++instance ToJSON InstancePatchStateFilter where+        toJSON InstancePatchStateFilter'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _ipsfKey),+                  Just ("Values" .= _ipsfValues),+                  Just ("Type" .= _ipsfType)])++-- | Specifies the inventory type and attribute for the aggregation execution.+--+--+--+-- /See:/ 'inventoryAggregator' smart constructor.+data InventoryAggregator = InventoryAggregator'+  { _iaAggregators :: !(Maybe (List1 InventoryAggregator))+  , _iaExpression  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryAggregator' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaAggregators' - Nested aggregators to further refine aggregation for an inventory type.+--+-- * 'iaExpression' - The inventory type and attribute name for aggregation.+inventoryAggregator+    :: InventoryAggregator+inventoryAggregator =+  InventoryAggregator' {_iaAggregators = Nothing, _iaExpression = Nothing}+++-- | Nested aggregators to further refine aggregation for an inventory type.+iaAggregators :: Lens' InventoryAggregator (Maybe (NonEmpty InventoryAggregator))+iaAggregators = lens _iaAggregators (\ s a -> s{_iaAggregators = a}) . mapping _List1++-- | The inventory type and attribute name for aggregation.+iaExpression :: Lens' InventoryAggregator (Maybe Text)+iaExpression = lens _iaExpression (\ s a -> s{_iaExpression = a})++instance Hashable InventoryAggregator where++instance NFData InventoryAggregator where++instance ToJSON InventoryAggregator where+        toJSON InventoryAggregator'{..}+          = object+              (catMaybes+                 [("Aggregators" .=) <$> _iaAggregators,+                  ("Expression" .=) <$> _iaExpression])++-- | Status information returned by the @DeleteInventory@ action.+--+--+--+-- /See:/ 'inventoryDeletionStatusItem' smart constructor.+data InventoryDeletionStatusItem = InventoryDeletionStatusItem'+  { _idsiTypeName             :: !(Maybe Text)+  , _idsiLastStatusUpdateTime :: !(Maybe POSIX)+  , _idsiLastStatusMessage    :: !(Maybe Text)+  , _idsiDeletionSummary      :: !(Maybe InventoryDeletionSummary)+  , _idsiLastStatus           :: !(Maybe InventoryDeletionStatus)+  , _idsiDeletionStartTime    :: !(Maybe POSIX)+  , _idsiDeletionId           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryDeletionStatusItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idsiTypeName' - The name of the inventory data type.+--+-- * 'idsiLastStatusUpdateTime' - The UTC timestamp of when the last status report.+--+-- * 'idsiLastStatusMessage' - Information about the status.+--+-- * 'idsiDeletionSummary' - Information about the delete operation. For more information about this summary, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary Understanding the Delete Inventory Summary> .+--+-- * 'idsiLastStatus' - The status of the operation. Possible values are InProgress and Complete.+--+-- * 'idsiDeletionStartTime' - The UTC timestamp when the delete operation started.+--+-- * 'idsiDeletionId' - The deletion ID returned by the @DeleteInventory@ action.+inventoryDeletionStatusItem+    :: InventoryDeletionStatusItem+inventoryDeletionStatusItem =+  InventoryDeletionStatusItem'+    { _idsiTypeName = Nothing+    , _idsiLastStatusUpdateTime = Nothing+    , _idsiLastStatusMessage = Nothing+    , _idsiDeletionSummary = Nothing+    , _idsiLastStatus = Nothing+    , _idsiDeletionStartTime = Nothing+    , _idsiDeletionId = Nothing+    }+++-- | The name of the inventory data type.+idsiTypeName :: Lens' InventoryDeletionStatusItem (Maybe Text)+idsiTypeName = lens _idsiTypeName (\ s a -> s{_idsiTypeName = a})++-- | The UTC timestamp of when the last status report.+idsiLastStatusUpdateTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)+idsiLastStatusUpdateTime = lens _idsiLastStatusUpdateTime (\ s a -> s{_idsiLastStatusUpdateTime = a}) . mapping _Time++-- | Information about the status.+idsiLastStatusMessage :: Lens' InventoryDeletionStatusItem (Maybe Text)+idsiLastStatusMessage = lens _idsiLastStatusMessage (\ s a -> s{_idsiLastStatusMessage = a})++-- | Information about the delete operation. For more information about this summary, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary Understanding the Delete Inventory Summary> .+idsiDeletionSummary :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionSummary)+idsiDeletionSummary = lens _idsiDeletionSummary (\ s a -> s{_idsiDeletionSummary = a})++-- | The status of the operation. Possible values are InProgress and Complete.+idsiLastStatus :: Lens' InventoryDeletionStatusItem (Maybe InventoryDeletionStatus)+idsiLastStatus = lens _idsiLastStatus (\ s a -> s{_idsiLastStatus = a})++-- | The UTC timestamp when the delete operation started.+idsiDeletionStartTime :: Lens' InventoryDeletionStatusItem (Maybe UTCTime)+idsiDeletionStartTime = lens _idsiDeletionStartTime (\ s a -> s{_idsiDeletionStartTime = a}) . mapping _Time++-- | The deletion ID returned by the @DeleteInventory@ action.+idsiDeletionId :: Lens' InventoryDeletionStatusItem (Maybe Text)+idsiDeletionId = lens _idsiDeletionId (\ s a -> s{_idsiDeletionId = a})++instance FromJSON InventoryDeletionStatusItem where+        parseJSON+          = withObject "InventoryDeletionStatusItem"+              (\ x ->+                 InventoryDeletionStatusItem' <$>+                   (x .:? "TypeName") <*> (x .:? "LastStatusUpdateTime")+                     <*> (x .:? "LastStatusMessage")+                     <*> (x .:? "DeletionSummary")+                     <*> (x .:? "LastStatus")+                     <*> (x .:? "DeletionStartTime")+                     <*> (x .:? "DeletionId"))++instance Hashable InventoryDeletionStatusItem where++instance NFData InventoryDeletionStatusItem where++-- | Information about the delete operation.+--+--+--+-- /See:/ 'inventoryDeletionSummary' smart constructor.+data InventoryDeletionSummary = InventoryDeletionSummary'+  { _idsRemainingCount :: !(Maybe Int)+  , _idsSummaryItems   :: !(Maybe [InventoryDeletionSummaryItem])+  , _idsTotalCount     :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryDeletionSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idsRemainingCount' - Remaining number of items to delete.+--+-- * 'idsSummaryItems' - A list of counts and versions for deleted items.+--+-- * 'idsTotalCount' - The total number of items to delete. This count does not change during the delete operation.+inventoryDeletionSummary+    :: InventoryDeletionSummary+inventoryDeletionSummary =+  InventoryDeletionSummary'+    { _idsRemainingCount = Nothing+    , _idsSummaryItems = Nothing+    , _idsTotalCount = Nothing+    }+++-- | Remaining number of items to delete.+idsRemainingCount :: Lens' InventoryDeletionSummary (Maybe Int)+idsRemainingCount = lens _idsRemainingCount (\ s a -> s{_idsRemainingCount = a})++-- | A list of counts and versions for deleted items.+idsSummaryItems :: Lens' InventoryDeletionSummary [InventoryDeletionSummaryItem]+idsSummaryItems = lens _idsSummaryItems (\ s a -> s{_idsSummaryItems = a}) . _Default . _Coerce++-- | The total number of items to delete. This count does not change during the delete operation.+idsTotalCount :: Lens' InventoryDeletionSummary (Maybe Int)+idsTotalCount = lens _idsTotalCount (\ s a -> s{_idsTotalCount = a})++instance FromJSON InventoryDeletionSummary where+        parseJSON+          = withObject "InventoryDeletionSummary"+              (\ x ->+                 InventoryDeletionSummary' <$>+                   (x .:? "RemainingCount") <*>+                     (x .:? "SummaryItems" .!= mempty)+                     <*> (x .:? "TotalCount"))++instance Hashable InventoryDeletionSummary where++instance NFData InventoryDeletionSummary where++-- | Either a count, remaining count, or a version number in a delete inventory summary.+--+--+--+-- /See:/ 'inventoryDeletionSummaryItem' smart constructor.+data InventoryDeletionSummaryItem = InventoryDeletionSummaryItem'+  { _idsiRemainingCount :: !(Maybe Int)+  , _idsiCount          :: !(Maybe Int)+  , _idsiVersion        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryDeletionSummaryItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idsiRemainingCount' - The remaining number of items to delete.+--+-- * 'idsiCount' - A count of the number of deleted items.+--+-- * 'idsiVersion' - The inventory type version.+inventoryDeletionSummaryItem+    :: InventoryDeletionSummaryItem+inventoryDeletionSummaryItem =+  InventoryDeletionSummaryItem'+    { _idsiRemainingCount = Nothing+    , _idsiCount = Nothing+    , _idsiVersion = Nothing+    }+++-- | The remaining number of items to delete.+idsiRemainingCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)+idsiRemainingCount = lens _idsiRemainingCount (\ s a -> s{_idsiRemainingCount = a})++-- | A count of the number of deleted items.+idsiCount :: Lens' InventoryDeletionSummaryItem (Maybe Int)+idsiCount = lens _idsiCount (\ s a -> s{_idsiCount = a})++-- | The inventory type version.+idsiVersion :: Lens' InventoryDeletionSummaryItem (Maybe Text)+idsiVersion = lens _idsiVersion (\ s a -> s{_idsiVersion = a})++instance FromJSON InventoryDeletionSummaryItem where+        parseJSON+          = withObject "InventoryDeletionSummaryItem"+              (\ x ->+                 InventoryDeletionSummaryItem' <$>+                   (x .:? "RemainingCount") <*> (x .:? "Count") <*>+                     (x .:? "Version"))++instance Hashable InventoryDeletionSummaryItem where++instance NFData InventoryDeletionSummaryItem where++-- | One or more filters. Use a filter to return a more specific list of results.+--+--+--+-- /See:/ 'inventoryFilter' smart constructor.+data InventoryFilter = InventoryFilter'+  { _ifType   :: !(Maybe InventoryQueryOperatorType)+  , _ifKey    :: !Text+  , _ifValues :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ifType' - The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"+--+-- * 'ifKey' - The name of the filter key.+--+-- * 'ifValues' - Inventory filter values. Example: inventory filter where instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal+inventoryFilter+    :: Text -- ^ 'ifKey'+    -> NonEmpty Text -- ^ 'ifValues'+    -> InventoryFilter+inventoryFilter pKey_ pValues_ =+  InventoryFilter'+    {_ifType = Nothing, _ifKey = pKey_, _ifValues = _List1 # pValues_}+++-- | The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"+ifType :: Lens' InventoryFilter (Maybe InventoryQueryOperatorType)+ifType = lens _ifType (\ s a -> s{_ifType = a})++-- | The name of the filter key.+ifKey :: Lens' InventoryFilter Text+ifKey = lens _ifKey (\ s a -> s{_ifKey = 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+ifValues :: Lens' InventoryFilter (NonEmpty Text)+ifValues = lens _ifValues (\ s a -> s{_ifValues = a}) . _List1++instance Hashable InventoryFilter where++instance NFData InventoryFilter where++instance ToJSON InventoryFilter where+        toJSON InventoryFilter'{..}+          = object+              (catMaybes+                 [("Type" .=) <$> _ifType, Just ("Key" .= _ifKey),+                  Just ("Values" .= _ifValues)])++-- | Information collected from managed instances based on your inventory policy document+--+--+--+-- /See:/ 'inventoryItem' smart constructor.+data InventoryItem = InventoryItem'+  { _iiContext       :: !(Maybe (Map Text Text))+  , _iiContentHash   :: !(Maybe Text)+  , _iiContent       :: !(Maybe [Map Text Text])+  , _iiTypeName      :: !Text+  , _iiSchemaVersion :: !Text+  , _iiCaptureTime   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiContext' - A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the @ExecutionId@ , @ExecutionType@ , @ComplianceType@ properties of the @AWS:ComplianceItem@ type.+--+-- * 'iiContentHash' - 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.+--+-- * 'iiContent' - The inventory data of the inventory type.+--+-- * 'iiTypeName' - 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.+--+-- * 'iiSchemaVersion' - The schema version for the inventory item.+--+-- * 'iiCaptureTime' - The time the inventory information was collected.+inventoryItem+    :: Text -- ^ 'iiTypeName'+    -> Text -- ^ 'iiSchemaVersion'+    -> Text -- ^ 'iiCaptureTime'+    -> InventoryItem+inventoryItem pTypeName_ pSchemaVersion_ pCaptureTime_ =+  InventoryItem'+    { _iiContext = Nothing+    , _iiContentHash = Nothing+    , _iiContent = Nothing+    , _iiTypeName = pTypeName_+    , _iiSchemaVersion = pSchemaVersion_+    , _iiCaptureTime = pCaptureTime_+    }+++-- | A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the @ExecutionId@ , @ExecutionType@ , @ComplianceType@ properties of the @AWS:ComplianceItem@ type.+iiContext :: Lens' InventoryItem (HashMap Text Text)+iiContext = lens _iiContext (\ s a -> s{_iiContext = a}) . _Default . _Map++-- | 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)+iiContentHash = lens _iiContentHash (\ s a -> s{_iiContentHash = a})++-- | The inventory data of the inventory type.+iiContent :: Lens' InventoryItem [HashMap Text Text]+iiContent = lens _iiContent (\ s a -> s{_iiContent = a}) . _Default . _Coerce++-- | 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+iiTypeName = lens _iiTypeName (\ s a -> s{_iiTypeName = a})++-- | The schema version for the inventory item.+iiSchemaVersion :: Lens' InventoryItem Text+iiSchemaVersion = lens _iiSchemaVersion (\ s a -> s{_iiSchemaVersion = a})++-- | The time the inventory information was collected.+iiCaptureTime :: Lens' InventoryItem Text+iiCaptureTime = lens _iiCaptureTime (\ s a -> s{_iiCaptureTime = a})++instance Hashable InventoryItem where++instance NFData InventoryItem where++instance ToJSON InventoryItem where+        toJSON InventoryItem'{..}+          = object+              (catMaybes+                 [("Context" .=) <$> _iiContext,+                  ("ContentHash" .=) <$> _iiContentHash,+                  ("Content" .=) <$> _iiContent,+                  Just ("TypeName" .= _iiTypeName),+                  Just ("SchemaVersion" .= _iiSchemaVersion),+                  Just ("CaptureTime" .= _iiCaptureTime)])++-- | Attributes are the entries within the inventory item content. It contains name and value.+--+--+--+-- /See:/ 'inventoryItemAttribute' smart constructor.+data InventoryItemAttribute = InventoryItemAttribute'+  { _iiaName     :: !Text+  , _iiaDataType :: !InventoryAttributeDataType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryItemAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiaName' - Name of the inventory item attribute.+--+-- * 'iiaDataType' - The data type of the inventory item attribute.+inventoryItemAttribute+    :: Text -- ^ 'iiaName'+    -> InventoryAttributeDataType -- ^ 'iiaDataType'+    -> InventoryItemAttribute+inventoryItemAttribute pName_ pDataType_ =+  InventoryItemAttribute' {_iiaName = pName_, _iiaDataType = pDataType_}+++-- | Name of the inventory item attribute.+iiaName :: Lens' InventoryItemAttribute Text+iiaName = lens _iiaName (\ s a -> s{_iiaName = a})++-- | The data type of the inventory item attribute.+iiaDataType :: Lens' InventoryItemAttribute InventoryAttributeDataType+iiaDataType = lens _iiaDataType (\ s a -> s{_iiaDataType = a})++instance FromJSON InventoryItemAttribute where+        parseJSON+          = withObject "InventoryItemAttribute"+              (\ x ->+                 InventoryItemAttribute' <$>+                   (x .: "Name") <*> (x .: "DataType"))++instance Hashable InventoryItemAttribute where++instance NFData InventoryItemAttribute where++-- | The inventory item schema definition. Users can use this to compose inventory query filters.+--+--+--+-- /See:/ 'inventoryItemSchema' smart constructor.+data InventoryItemSchema = InventoryItemSchema'+  { _iisVersion     :: !(Maybe Text)+  , _iisDisplayName :: !(Maybe Text)+  , _iisTypeName    :: !Text+  , _iisAttributes  :: !(List1 InventoryItemAttribute)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryItemSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iisVersion' - The schema version for the inventory item.+--+-- * 'iisDisplayName' - The alias name of the inventory type. The alias name is used for display purposes.+--+-- * 'iisTypeName' - 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.+--+-- * 'iisAttributes' - The schema attributes for inventory. This contains data type and attribute name.+inventoryItemSchema+    :: Text -- ^ 'iisTypeName'+    -> NonEmpty InventoryItemAttribute -- ^ 'iisAttributes'+    -> InventoryItemSchema+inventoryItemSchema pTypeName_ pAttributes_ =+  InventoryItemSchema'+    { _iisVersion = Nothing+    , _iisDisplayName = Nothing+    , _iisTypeName = pTypeName_+    , _iisAttributes = _List1 # pAttributes_+    }+++-- | The schema version for the inventory item.+iisVersion :: Lens' InventoryItemSchema (Maybe Text)+iisVersion = lens _iisVersion (\ s a -> s{_iisVersion = a})++-- | The alias name of the inventory type. The alias name is used for display purposes.+iisDisplayName :: Lens' InventoryItemSchema (Maybe Text)+iisDisplayName = lens _iisDisplayName (\ s a -> s{_iisDisplayName = 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.+iisTypeName :: Lens' InventoryItemSchema Text+iisTypeName = lens _iisTypeName (\ s a -> s{_iisTypeName = a})++-- | The schema attributes for inventory. This contains data type and attribute name.+iisAttributes :: Lens' InventoryItemSchema (NonEmpty InventoryItemAttribute)+iisAttributes = lens _iisAttributes (\ s a -> s{_iisAttributes = a}) . _List1++instance FromJSON InventoryItemSchema where+        parseJSON+          = withObject "InventoryItemSchema"+              (\ x ->+                 InventoryItemSchema' <$>+                   (x .:? "Version") <*> (x .:? "DisplayName") <*>+                     (x .: "TypeName")+                     <*> (x .: "Attributes"))++instance Hashable InventoryItemSchema where++instance NFData InventoryItemSchema where++-- | Inventory query results.+--+--+--+-- /See:/ 'inventoryResultEntity' smart constructor.+data InventoryResultEntity = InventoryResultEntity'+  { _ireData :: !(Maybe (Map Text InventoryResultItem))+  , _ireId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryResultEntity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ireData' - The data section in the inventory result entity JSON.+--+-- * 'ireId' - 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.+inventoryResultEntity+    :: InventoryResultEntity+inventoryResultEntity =+  InventoryResultEntity' {_ireData = Nothing, _ireId = Nothing}+++-- | The data section in the inventory result entity JSON.+ireData :: Lens' InventoryResultEntity (HashMap Text InventoryResultItem)+ireData = lens _ireData (\ s a -> s{_ireData = a}) . _Default . _Map++-- | 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)+ireId = lens _ireId (\ s a -> s{_ireId = a})++instance FromJSON InventoryResultEntity where+        parseJSON+          = withObject "InventoryResultEntity"+              (\ x ->+                 InventoryResultEntity' <$>+                   (x .:? "Data" .!= mempty) <*> (x .:? "Id"))++instance Hashable InventoryResultEntity where++instance NFData InventoryResultEntity where++-- | The inventory result item.+--+--+--+-- /See:/ 'inventoryResultItem' smart constructor.+data InventoryResultItem = InventoryResultItem'+  { _iriContentHash   :: !(Maybe Text)+  , _iriCaptureTime   :: !(Maybe Text)+  , _iriTypeName      :: !Text+  , _iriSchemaVersion :: !Text+  , _iriContent       :: ![Map Text Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryResultItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iriContentHash' - 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.+--+-- * 'iriCaptureTime' - The time inventory item data was captured.+--+-- * 'iriTypeName' - The name of the inventory result item type.+--+-- * 'iriSchemaVersion' - The schema version for the inventory result item/+--+-- * 'iriContent' - Contains all the inventory data of the item type. Results include attribute names and values.+inventoryResultItem+    :: Text -- ^ 'iriTypeName'+    -> Text -- ^ 'iriSchemaVersion'+    -> InventoryResultItem+inventoryResultItem pTypeName_ pSchemaVersion_ =+  InventoryResultItem'+    { _iriContentHash = Nothing+    , _iriCaptureTime = Nothing+    , _iriTypeName = pTypeName_+    , _iriSchemaVersion = pSchemaVersion_+    , _iriContent = mempty+    }+++-- | 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)+iriContentHash = lens _iriContentHash (\ s a -> s{_iriContentHash = a})++-- | The time inventory item data was captured.+iriCaptureTime :: Lens' InventoryResultItem (Maybe Text)+iriCaptureTime = lens _iriCaptureTime (\ s a -> s{_iriCaptureTime = a})++-- | The name of the inventory result item type.+iriTypeName :: Lens' InventoryResultItem Text+iriTypeName = lens _iriTypeName (\ s a -> s{_iriTypeName = a})++-- | The schema version for the inventory result item/+iriSchemaVersion :: Lens' InventoryResultItem Text+iriSchemaVersion = lens _iriSchemaVersion (\ s a -> s{_iriSchemaVersion = a})++-- | Contains all the inventory data of the item type. Results include attribute names and values.+iriContent :: Lens' InventoryResultItem [HashMap Text Text]+iriContent = lens _iriContent (\ s a -> s{_iriContent = a}) . _Coerce++instance FromJSON InventoryResultItem where+        parseJSON+          = withObject "InventoryResultItem"+              (\ x ->+                 InventoryResultItem' <$>+                   (x .:? "ContentHash") <*> (x .:? "CaptureTime") <*>+                     (x .: "TypeName")+                     <*> (x .: "SchemaVersion")+                     <*> (x .:? "Content" .!= mempty))++instance Hashable InventoryResultItem where++instance NFData InventoryResultItem where++-- | Information about an Amazon S3 bucket to write instance-level logs to.+--+--+--+-- /See:/ 'loggingInfo' smart constructor.+data LoggingInfo = LoggingInfo'+  { _liS3KeyPrefix  :: !(Maybe Text)+  , _liS3BucketName :: !Text+  , _liS3Region     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoggingInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'liS3KeyPrefix' - (Optional) The Amazon S3 bucket subfolder.+--+-- * 'liS3BucketName' - The name of an Amazon S3 bucket where execution logs are stored .+--+-- * 'liS3Region' - The region where the Amazon S3 bucket is located.+loggingInfo+    :: Text -- ^ 'liS3BucketName'+    -> Text -- ^ 'liS3Region'+    -> LoggingInfo+loggingInfo pS3BucketName_ pS3Region_ =+  LoggingInfo'+    { _liS3KeyPrefix = Nothing+    , _liS3BucketName = pS3BucketName_+    , _liS3Region = pS3Region_+    }+++-- | (Optional) The Amazon S3 bucket subfolder.+liS3KeyPrefix :: Lens' LoggingInfo (Maybe Text)+liS3KeyPrefix = lens _liS3KeyPrefix (\ s a -> s{_liS3KeyPrefix = a})++-- | The name of an Amazon S3 bucket where execution logs are stored .+liS3BucketName :: Lens' LoggingInfo Text+liS3BucketName = lens _liS3BucketName (\ s a -> s{_liS3BucketName = a})++-- | The region where the Amazon S3 bucket is located.+liS3Region :: Lens' LoggingInfo Text+liS3Region = lens _liS3Region (\ s a -> s{_liS3Region = a})++instance FromJSON LoggingInfo where+        parseJSON+          = withObject "LoggingInfo"+              (\ x ->+                 LoggingInfo' <$>+                   (x .:? "S3KeyPrefix") <*> (x .: "S3BucketName") <*>+                     (x .: "S3Region"))++instance Hashable LoggingInfo where++instance NFData LoggingInfo where++instance ToJSON LoggingInfo where+        toJSON LoggingInfo'{..}+          = object+              (catMaybes+                 [("S3KeyPrefix" .=) <$> _liS3KeyPrefix,+                  Just ("S3BucketName" .= _liS3BucketName),+                  Just ("S3Region" .= _liS3Region)])++-- | The parameters for an AUTOMATION task type.+--+--+--+-- /See:/ 'maintenanceWindowAutomationParameters' smart constructor.+data MaintenanceWindowAutomationParameters = MaintenanceWindowAutomationParameters'+  { _mwapParameters      :: !(Maybe (Map Text [Text]))+  , _mwapDocumentVersion :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowAutomationParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwapParameters' - The parameters for the AUTOMATION task. For information about specifying and updating task parameters, see 'RegisterTaskWithMaintenanceWindow' and 'UpdateMaintenanceWindowTask' .+--+-- * 'mwapDocumentVersion' - The version of an Automation document to use during task execution.+maintenanceWindowAutomationParameters+    :: MaintenanceWindowAutomationParameters+maintenanceWindowAutomationParameters =+  MaintenanceWindowAutomationParameters'+    {_mwapParameters = Nothing, _mwapDocumentVersion = Nothing}+++-- | The parameters for the AUTOMATION task. For information about specifying and updating task parameters, see 'RegisterTaskWithMaintenanceWindow' and 'UpdateMaintenanceWindowTask' .+mwapParameters :: Lens' MaintenanceWindowAutomationParameters (HashMap Text [Text])+mwapParameters = lens _mwapParameters (\ s a -> s{_mwapParameters = a}) . _Default . _Map++-- | The version of an Automation document to use during task execution.+mwapDocumentVersion :: Lens' MaintenanceWindowAutomationParameters (Maybe Text)+mwapDocumentVersion = lens _mwapDocumentVersion (\ s a -> s{_mwapDocumentVersion = a})++instance FromJSON+           MaintenanceWindowAutomationParameters+         where+        parseJSON+          = withObject "MaintenanceWindowAutomationParameters"+              (\ x ->+                 MaintenanceWindowAutomationParameters' <$>+                   (x .:? "Parameters" .!= mempty) <*>+                     (x .:? "DocumentVersion"))++instance Hashable+           MaintenanceWindowAutomationParameters+         where++instance NFData MaintenanceWindowAutomationParameters+         where++instance ToJSON MaintenanceWindowAutomationParameters+         where+        toJSON MaintenanceWindowAutomationParameters'{..}+          = object+              (catMaybes+                 [("Parameters" .=) <$> _mwapParameters,+                  ("DocumentVersion" .=) <$> _mwapDocumentVersion])++-- | Describes the information about an execution of a Maintenance Window.+--+--+--+-- /See:/ 'maintenanceWindowExecution' smart constructor.+data MaintenanceWindowExecution = MaintenanceWindowExecution'+  { _mweStatus            :: !(Maybe MaintenanceWindowExecutionStatus)+  , _mweStartTime         :: !(Maybe POSIX)+  , _mweWindowExecutionId :: !(Maybe Text)+  , _mweStatusDetails     :: !(Maybe Text)+  , _mweEndTime           :: !(Maybe POSIX)+  , _mweWindowId          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowExecution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mweStatus' - The status of the execution.+--+-- * 'mweStartTime' - The time the execution started.+--+-- * 'mweWindowExecutionId' - The ID of the Maintenance Window execution.+--+-- * 'mweStatusDetails' - The details explaining the Status. Only available for certain status values.+--+-- * 'mweEndTime' - The time the execution finished.+--+-- * 'mweWindowId' - The ID of the Maintenance Window.+maintenanceWindowExecution+    :: MaintenanceWindowExecution+maintenanceWindowExecution =+  MaintenanceWindowExecution'+    { _mweStatus = Nothing+    , _mweStartTime = Nothing+    , _mweWindowExecutionId = Nothing+    , _mweStatusDetails = Nothing+    , _mweEndTime = Nothing+    , _mweWindowId = Nothing+    }+++-- | The status of the execution.+mweStatus :: Lens' MaintenanceWindowExecution (Maybe MaintenanceWindowExecutionStatus)+mweStatus = lens _mweStatus (\ s a -> s{_mweStatus = a})++-- | The time the execution started.+mweStartTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)+mweStartTime = lens _mweStartTime (\ s a -> s{_mweStartTime = a}) . mapping _Time++-- | The ID of the Maintenance Window execution.+mweWindowExecutionId :: Lens' MaintenanceWindowExecution (Maybe Text)+mweWindowExecutionId = lens _mweWindowExecutionId (\ s a -> s{_mweWindowExecutionId = a})++-- | The details explaining the Status. Only available for certain status values.+mweStatusDetails :: Lens' MaintenanceWindowExecution (Maybe Text)+mweStatusDetails = lens _mweStatusDetails (\ s a -> s{_mweStatusDetails = a})++-- | The time the execution finished.+mweEndTime :: Lens' MaintenanceWindowExecution (Maybe UTCTime)+mweEndTime = lens _mweEndTime (\ s a -> s{_mweEndTime = a}) . mapping _Time++-- | The ID of the Maintenance Window.+mweWindowId :: Lens' MaintenanceWindowExecution (Maybe Text)+mweWindowId = lens _mweWindowId (\ s a -> s{_mweWindowId = a})++instance FromJSON MaintenanceWindowExecution where+        parseJSON+          = withObject "MaintenanceWindowExecution"+              (\ x ->+                 MaintenanceWindowExecution' <$>+                   (x .:? "Status") <*> (x .:? "StartTime") <*>+                     (x .:? "WindowExecutionId")+                     <*> (x .:? "StatusDetails")+                     <*> (x .:? "EndTime")+                     <*> (x .:? "WindowId"))++instance Hashable MaintenanceWindowExecution where++instance NFData MaintenanceWindowExecution where++-- | Information about a task execution performed as part of a Maintenance Window execution.+--+--+--+-- /See:/ 'maintenanceWindowExecutionTaskIdentity' smart constructor.+data MaintenanceWindowExecutionTaskIdentity = MaintenanceWindowExecutionTaskIdentity'+  { _mwetiStatus            :: !(Maybe MaintenanceWindowExecutionStatus)+  , _mwetiTaskExecutionId   :: !(Maybe Text)+  , _mwetiStartTime         :: !(Maybe POSIX)+  , _mwetiTaskType          :: !(Maybe MaintenanceWindowTaskType)+  , _mwetiTaskARN           :: !(Maybe Text)+  , _mwetiWindowExecutionId :: !(Maybe Text)+  , _mwetiStatusDetails     :: !(Maybe Text)+  , _mwetiEndTime           :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowExecutionTaskIdentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwetiStatus' - The status of the task execution.+--+-- * 'mwetiTaskExecutionId' - The ID of the specific task execution in the Maintenance Window execution.+--+-- * 'mwetiStartTime' - The time the task execution started.+--+-- * 'mwetiTaskType' - The type of executed task.+--+-- * 'mwetiTaskARN' - The ARN of the executed task.+--+-- * 'mwetiWindowExecutionId' - The ID of the Maintenance Window execution that ran the task.+--+-- * 'mwetiStatusDetails' - The details explaining the status of the task execution. Only available for certain status values.+--+-- * 'mwetiEndTime' - The time the task execution finished.+maintenanceWindowExecutionTaskIdentity+    :: MaintenanceWindowExecutionTaskIdentity+maintenanceWindowExecutionTaskIdentity =+  MaintenanceWindowExecutionTaskIdentity'+    { _mwetiStatus = Nothing+    , _mwetiTaskExecutionId = Nothing+    , _mwetiStartTime = Nothing+    , _mwetiTaskType = Nothing+    , _mwetiTaskARN = Nothing+    , _mwetiWindowExecutionId = Nothing+    , _mwetiStatusDetails = Nothing+    , _mwetiEndTime = Nothing+    }+++-- | The status of the task execution.+mwetiStatus :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowExecutionStatus)+mwetiStatus = lens _mwetiStatus (\ s a -> s{_mwetiStatus = a})++-- | The ID of the specific task execution in the Maintenance Window execution.+mwetiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)+mwetiTaskExecutionId = lens _mwetiTaskExecutionId (\ s a -> s{_mwetiTaskExecutionId = a})++-- | The time the task execution started.+mwetiStartTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)+mwetiStartTime = lens _mwetiStartTime (\ s a -> s{_mwetiStartTime = a}) . mapping _Time++-- | The type of executed task.+mwetiTaskType :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe MaintenanceWindowTaskType)+mwetiTaskType = lens _mwetiTaskType (\ s a -> s{_mwetiTaskType = a})++-- | The ARN of the executed task.+mwetiTaskARN :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)+mwetiTaskARN = lens _mwetiTaskARN (\ s a -> s{_mwetiTaskARN = a})++-- | The ID of the Maintenance Window execution that ran the task.+mwetiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)+mwetiWindowExecutionId = lens _mwetiWindowExecutionId (\ s a -> s{_mwetiWindowExecutionId = a})++-- | The details explaining the status of the task execution. Only available for certain status values.+mwetiStatusDetails :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe Text)+mwetiStatusDetails = lens _mwetiStatusDetails (\ s a -> s{_mwetiStatusDetails = a})++-- | The time the task execution finished.+mwetiEndTime :: Lens' MaintenanceWindowExecutionTaskIdentity (Maybe UTCTime)+mwetiEndTime = lens _mwetiEndTime (\ s a -> s{_mwetiEndTime = a}) . mapping _Time++instance FromJSON+           MaintenanceWindowExecutionTaskIdentity+         where+        parseJSON+          = withObject "MaintenanceWindowExecutionTaskIdentity"+              (\ x ->+                 MaintenanceWindowExecutionTaskIdentity' <$>+                   (x .:? "Status") <*> (x .:? "TaskExecutionId") <*>+                     (x .:? "StartTime")+                     <*> (x .:? "TaskType")+                     <*> (x .:? "TaskArn")+                     <*> (x .:? "WindowExecutionId")+                     <*> (x .:? "StatusDetails")+                     <*> (x .:? "EndTime"))++instance Hashable+           MaintenanceWindowExecutionTaskIdentity+         where++instance NFData+           MaintenanceWindowExecutionTaskIdentity+         where++-- | 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.+--+--+--+-- /See:/ 'maintenanceWindowExecutionTaskInvocationIdentity' smart constructor.+data MaintenanceWindowExecutionTaskInvocationIdentity = MaintenanceWindowExecutionTaskInvocationIdentity'+  { _mwetiiStatus            :: !(Maybe MaintenanceWindowExecutionStatus)+  , _mwetiiExecutionId       :: !(Maybe Text)+  , _mwetiiTaskExecutionId   :: !(Maybe Text)+  , _mwetiiStartTime         :: !(Maybe POSIX)+  , _mwetiiInvocationId      :: !(Maybe Text)+  , _mwetiiOwnerInformation  :: !(Maybe (Sensitive Text))+  , _mwetiiTaskType          :: !(Maybe MaintenanceWindowTaskType)+  , _mwetiiWindowTargetId    :: !(Maybe Text)+  , _mwetiiWindowExecutionId :: !(Maybe Text)+  , _mwetiiStatusDetails     :: !(Maybe Text)+  , _mwetiiEndTime           :: !(Maybe POSIX)+  , _mwetiiParameters        :: !(Maybe (Sensitive Text))+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowExecutionTaskInvocationIdentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwetiiStatus' - The status of the task invocation.+--+-- * 'mwetiiExecutionId' - 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.+--+-- * 'mwetiiTaskExecutionId' - The ID of the specific task execution in the Maintenance Window execution.+--+-- * 'mwetiiStartTime' - The time the invocation started.+--+-- * 'mwetiiInvocationId' - The ID of the task invocation.+--+-- * 'mwetiiOwnerInformation' - 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.+--+-- * 'mwetiiTaskType' - The task type.+--+-- * 'mwetiiWindowTargetId' - The ID of the target definition in this Maintenance Window the invocation was performed for.+--+-- * 'mwetiiWindowExecutionId' - The ID of the Maintenance Window execution that ran the task.+--+-- * 'mwetiiStatusDetails' - The details explaining the status of the task invocation. Only available for certain Status values.+--+-- * 'mwetiiEndTime' - The time the invocation finished.+--+-- * 'mwetiiParameters' - The parameters that were provided for the invocation when it was executed.+maintenanceWindowExecutionTaskInvocationIdentity+    :: MaintenanceWindowExecutionTaskInvocationIdentity+maintenanceWindowExecutionTaskInvocationIdentity =+  MaintenanceWindowExecutionTaskInvocationIdentity'+    { _mwetiiStatus = Nothing+    , _mwetiiExecutionId = Nothing+    , _mwetiiTaskExecutionId = Nothing+    , _mwetiiStartTime = Nothing+    , _mwetiiInvocationId = Nothing+    , _mwetiiOwnerInformation = Nothing+    , _mwetiiTaskType = Nothing+    , _mwetiiWindowTargetId = Nothing+    , _mwetiiWindowExecutionId = Nothing+    , _mwetiiStatusDetails = Nothing+    , _mwetiiEndTime = Nothing+    , _mwetiiParameters = Nothing+    }+++-- | The status of the task invocation.+mwetiiStatus :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowExecutionStatus)+mwetiiStatus = lens _mwetiiStatus (\ s a -> s{_mwetiiStatus = 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.+mwetiiExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiExecutionId = lens _mwetiiExecutionId (\ s a -> s{_mwetiiExecutionId = a})++-- | The ID of the specific task execution in the Maintenance Window execution.+mwetiiTaskExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiTaskExecutionId = lens _mwetiiTaskExecutionId (\ s a -> s{_mwetiiTaskExecutionId = a})++-- | The time the invocation started.+mwetiiStartTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)+mwetiiStartTime = lens _mwetiiStartTime (\ s a -> s{_mwetiiStartTime = a}) . mapping _Time++-- | The ID of the task invocation.+mwetiiInvocationId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiInvocationId = lens _mwetiiInvocationId (\ s a -> s{_mwetiiInvocationId = 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.+mwetiiOwnerInformation :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiOwnerInformation = lens _mwetiiOwnerInformation (\ s a -> s{_mwetiiOwnerInformation = a}) . mapping _Sensitive++-- | The task type.+mwetiiTaskType :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe MaintenanceWindowTaskType)+mwetiiTaskType = lens _mwetiiTaskType (\ s a -> s{_mwetiiTaskType = a})++-- | The ID of the target definition in this Maintenance Window the invocation was performed for.+mwetiiWindowTargetId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiWindowTargetId = lens _mwetiiWindowTargetId (\ s a -> s{_mwetiiWindowTargetId = a})++-- | The ID of the Maintenance Window execution that ran the task.+mwetiiWindowExecutionId :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiWindowExecutionId = lens _mwetiiWindowExecutionId (\ s a -> s{_mwetiiWindowExecutionId = a})++-- | The details explaining the status of the task invocation. Only available for certain Status values.+mwetiiStatusDetails :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiStatusDetails = lens _mwetiiStatusDetails (\ s a -> s{_mwetiiStatusDetails = a})++-- | The time the invocation finished.+mwetiiEndTime :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe UTCTime)+mwetiiEndTime = lens _mwetiiEndTime (\ s a -> s{_mwetiiEndTime = a}) . mapping _Time++-- | The parameters that were provided for the invocation when it was executed.+mwetiiParameters :: Lens' MaintenanceWindowExecutionTaskInvocationIdentity (Maybe Text)+mwetiiParameters = lens _mwetiiParameters (\ s a -> s{_mwetiiParameters = a}) . mapping _Sensitive++instance FromJSON+           MaintenanceWindowExecutionTaskInvocationIdentity+         where+        parseJSON+          = withObject+              "MaintenanceWindowExecutionTaskInvocationIdentity"+              (\ x ->+                 MaintenanceWindowExecutionTaskInvocationIdentity' <$>+                   (x .:? "Status") <*> (x .:? "ExecutionId") <*>+                     (x .:? "TaskExecutionId")+                     <*> (x .:? "StartTime")+                     <*> (x .:? "InvocationId")+                     <*> (x .:? "OwnerInformation")+                     <*> (x .:? "TaskType")+                     <*> (x .:? "WindowTargetId")+                     <*> (x .:? "WindowExecutionId")+                     <*> (x .:? "StatusDetails")+                     <*> (x .:? "EndTime")+                     <*> (x .:? "Parameters"))++instance Hashable+           MaintenanceWindowExecutionTaskInvocationIdentity+         where++instance NFData+           MaintenanceWindowExecutionTaskInvocationIdentity+         where++-- | Filter used in the request.+--+--+--+-- /See:/ 'maintenanceWindowFilter' smart constructor.+data MaintenanceWindowFilter = MaintenanceWindowFilter'+  { _mwfValues :: !(Maybe [Text])+  , _mwfKey    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwfValues' - The filter values.+--+-- * 'mwfKey' - The name of the filter.+maintenanceWindowFilter+    :: MaintenanceWindowFilter+maintenanceWindowFilter =+  MaintenanceWindowFilter' {_mwfValues = Nothing, _mwfKey = Nothing}+++-- | The filter values.+mwfValues :: Lens' MaintenanceWindowFilter [Text]+mwfValues = lens _mwfValues (\ s a -> s{_mwfValues = a}) . _Default . _Coerce++-- | The name of the filter.+mwfKey :: Lens' MaintenanceWindowFilter (Maybe Text)+mwfKey = lens _mwfKey (\ s a -> s{_mwfKey = a})++instance Hashable MaintenanceWindowFilter where++instance NFData MaintenanceWindowFilter where++instance ToJSON MaintenanceWindowFilter where+        toJSON MaintenanceWindowFilter'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _mwfValues,+                  ("Key" .=) <$> _mwfKey])++-- | Information about the Maintenance Window.+--+--+--+-- /See:/ 'maintenanceWindowIdentity' smart constructor.+data MaintenanceWindowIdentity = MaintenanceWindowIdentity'+  { _mwiEnabled     :: !(Maybe Bool)+  , _mwiName        :: !(Maybe Text)+  , _mwiCutoff      :: !(Maybe Nat)+  , _mwiDescription :: !(Maybe (Sensitive Text))+  , _mwiDuration    :: !(Maybe Nat)+  , _mwiWindowId    :: !(Maybe Text)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowIdentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwiEnabled' - Whether the Maintenance Window is enabled.+--+-- * 'mwiName' - The name of the Maintenance Window.+--+-- * 'mwiCutoff' - The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.+--+-- * 'mwiDescription' - A description of the Maintenance Window.+--+-- * 'mwiDuration' - The duration of the Maintenance Window in hours.+--+-- * 'mwiWindowId' - The ID of the Maintenance Window.+maintenanceWindowIdentity+    :: MaintenanceWindowIdentity+maintenanceWindowIdentity =+  MaintenanceWindowIdentity'+    { _mwiEnabled = Nothing+    , _mwiName = Nothing+    , _mwiCutoff = Nothing+    , _mwiDescription = Nothing+    , _mwiDuration = Nothing+    , _mwiWindowId = Nothing+    }+++-- | Whether the Maintenance Window is enabled.+mwiEnabled :: Lens' MaintenanceWindowIdentity (Maybe Bool)+mwiEnabled = lens _mwiEnabled (\ s a -> s{_mwiEnabled = a})++-- | The name of the Maintenance Window.+mwiName :: Lens' MaintenanceWindowIdentity (Maybe Text)+mwiName = lens _mwiName (\ s a -> s{_mwiName = a})++-- | 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)+mwiCutoff = lens _mwiCutoff (\ s a -> s{_mwiCutoff = a}) . mapping _Nat++-- | A description of the Maintenance Window.+mwiDescription :: Lens' MaintenanceWindowIdentity (Maybe Text)+mwiDescription = lens _mwiDescription (\ s a -> s{_mwiDescription = a}) . mapping _Sensitive++-- | The duration of the Maintenance Window in hours.+mwiDuration :: Lens' MaintenanceWindowIdentity (Maybe Natural)+mwiDuration = lens _mwiDuration (\ s a -> s{_mwiDuration = a}) . mapping _Nat++-- | The ID of the Maintenance Window.+mwiWindowId :: Lens' MaintenanceWindowIdentity (Maybe Text)+mwiWindowId = lens _mwiWindowId (\ s a -> s{_mwiWindowId = a})++instance FromJSON MaintenanceWindowIdentity where+        parseJSON+          = withObject "MaintenanceWindowIdentity"+              (\ x ->+                 MaintenanceWindowIdentity' <$>+                   (x .:? "Enabled") <*> (x .:? "Name") <*>+                     (x .:? "Cutoff")+                     <*> (x .:? "Description")+                     <*> (x .:? "Duration")+                     <*> (x .:? "WindowId"))++instance Hashable MaintenanceWindowIdentity where++instance NFData MaintenanceWindowIdentity where++-- | The parameters for a LAMBDA task type.+--+--+-- For information about specifying and updating task parameters, see 'RegisterTaskWithMaintenanceWindow' and 'UpdateMaintenanceWindowTask' .+--+--+-- /See:/ 'maintenanceWindowLambdaParameters' smart constructor.+data MaintenanceWindowLambdaParameters = MaintenanceWindowLambdaParameters'+  { _mwlpPayload       :: !(Maybe (Sensitive Base64))+  , _mwlpQualifier     :: !(Maybe Text)+  , _mwlpClientContext :: !(Maybe Text)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowLambdaParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwlpPayload' - JSON to provide to your Lambda function as input.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+--+-- * 'mwlpQualifier' - (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.+--+-- * 'mwlpClientContext' - 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.+maintenanceWindowLambdaParameters+    :: MaintenanceWindowLambdaParameters+maintenanceWindowLambdaParameters =+  MaintenanceWindowLambdaParameters'+    { _mwlpPayload = Nothing+    , _mwlpQualifier = Nothing+    , _mwlpClientContext = Nothing+    }+++-- | JSON to provide to your Lambda function as input.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+mwlpPayload :: Lens' MaintenanceWindowLambdaParameters (Maybe ByteString)+mwlpPayload = lens _mwlpPayload (\ s a -> s{_mwlpPayload = a}) . mapping (_Sensitive . _Base64)++-- | (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)+mwlpQualifier = lens _mwlpQualifier (\ s a -> s{_mwlpQualifier = 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.+mwlpClientContext :: Lens' MaintenanceWindowLambdaParameters (Maybe Text)+mwlpClientContext = lens _mwlpClientContext (\ s a -> s{_mwlpClientContext = a})++instance FromJSON MaintenanceWindowLambdaParameters+         where+        parseJSON+          = withObject "MaintenanceWindowLambdaParameters"+              (\ x ->+                 MaintenanceWindowLambdaParameters' <$>+                   (x .:? "Payload") <*> (x .:? "Qualifier") <*>+                     (x .:? "ClientContext"))++instance Hashable MaintenanceWindowLambdaParameters+         where++instance NFData MaintenanceWindowLambdaParameters+         where++instance ToJSON MaintenanceWindowLambdaParameters+         where+        toJSON MaintenanceWindowLambdaParameters'{..}+          = object+              (catMaybes+                 [("Payload" .=) <$> _mwlpPayload,+                  ("Qualifier" .=) <$> _mwlpQualifier,+                  ("ClientContext" .=) <$> _mwlpClientContext])++-- | The parameters for a RUN_COMMAND task type.+--+--+-- For information about specifying and updating task parameters, see 'RegisterTaskWithMaintenanceWindow' and 'UpdateMaintenanceWindowTask' .+--+--+-- /See:/ 'maintenanceWindowRunCommandParameters' smart constructor.+data MaintenanceWindowRunCommandParameters = MaintenanceWindowRunCommandParameters'+  { _mwrcpServiceRoleARN     :: !(Maybe Text)+  , _mwrcpNotificationConfig :: !(Maybe NotificationConfig)+  , _mwrcpDocumentHashType   :: !(Maybe DocumentHashType)+  , _mwrcpOutputS3KeyPrefix  :: !(Maybe Text)+  , _mwrcpParameters         :: !(Maybe (Map Text [Text]))+  , _mwrcpDocumentHash       :: !(Maybe Text)+  , _mwrcpTimeoutSeconds     :: !(Maybe Nat)+  , _mwrcpComment            :: !(Maybe Text)+  , _mwrcpOutputS3BucketName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowRunCommandParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwrcpServiceRoleARN' - The IAM service role to assume during task execution.+--+-- * 'mwrcpNotificationConfig' - Configurations for sending notifications about command status changes on a per-instance basis.+--+-- * 'mwrcpDocumentHashType' - SHA-256 or SHA-1. SHA-1 hashes have been deprecated.+--+-- * 'mwrcpOutputS3KeyPrefix' - The Amazon S3 bucket subfolder.+--+-- * 'mwrcpParameters' - The parameters for the RUN_COMMAND task execution.+--+-- * 'mwrcpDocumentHash' - The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.+--+-- * 'mwrcpTimeoutSeconds' - If this time is reached and the command has not already started executing, it doesn not execute.+--+-- * 'mwrcpComment' - Information about the command(s) to execute.+--+-- * 'mwrcpOutputS3BucketName' - The name of the Amazon S3 bucket.+maintenanceWindowRunCommandParameters+    :: MaintenanceWindowRunCommandParameters+maintenanceWindowRunCommandParameters =+  MaintenanceWindowRunCommandParameters'+    { _mwrcpServiceRoleARN = Nothing+    , _mwrcpNotificationConfig = Nothing+    , _mwrcpDocumentHashType = Nothing+    , _mwrcpOutputS3KeyPrefix = Nothing+    , _mwrcpParameters = Nothing+    , _mwrcpDocumentHash = Nothing+    , _mwrcpTimeoutSeconds = Nothing+    , _mwrcpComment = Nothing+    , _mwrcpOutputS3BucketName = Nothing+    }+++-- | The IAM service role to assume during task execution.+mwrcpServiceRoleARN :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)+mwrcpServiceRoleARN = lens _mwrcpServiceRoleARN (\ s a -> s{_mwrcpServiceRoleARN = a})++-- | Configurations for sending notifications about command status changes on a per-instance basis.+mwrcpNotificationConfig :: Lens' MaintenanceWindowRunCommandParameters (Maybe NotificationConfig)+mwrcpNotificationConfig = lens _mwrcpNotificationConfig (\ s a -> s{_mwrcpNotificationConfig = a})++-- | SHA-256 or SHA-1. SHA-1 hashes have been deprecated.+mwrcpDocumentHashType :: Lens' MaintenanceWindowRunCommandParameters (Maybe DocumentHashType)+mwrcpDocumentHashType = lens _mwrcpDocumentHashType (\ s a -> s{_mwrcpDocumentHashType = a})++-- | The Amazon S3 bucket subfolder.+mwrcpOutputS3KeyPrefix :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)+mwrcpOutputS3KeyPrefix = lens _mwrcpOutputS3KeyPrefix (\ s a -> s{_mwrcpOutputS3KeyPrefix = a})++-- | The parameters for the RUN_COMMAND task execution.+mwrcpParameters :: Lens' MaintenanceWindowRunCommandParameters (HashMap Text [Text])+mwrcpParameters = lens _mwrcpParameters (\ s a -> s{_mwrcpParameters = a}) . _Default . _Map++-- | 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)+mwrcpDocumentHash = lens _mwrcpDocumentHash (\ s a -> s{_mwrcpDocumentHash = a})++-- | If this time is reached and the command has not already started executing, it doesn not execute.+mwrcpTimeoutSeconds :: Lens' MaintenanceWindowRunCommandParameters (Maybe Natural)+mwrcpTimeoutSeconds = lens _mwrcpTimeoutSeconds (\ s a -> s{_mwrcpTimeoutSeconds = a}) . mapping _Nat++-- | Information about the command(s) to execute.+mwrcpComment :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)+mwrcpComment = lens _mwrcpComment (\ s a -> s{_mwrcpComment = a})++-- | The name of the Amazon S3 bucket.+mwrcpOutputS3BucketName :: Lens' MaintenanceWindowRunCommandParameters (Maybe Text)+mwrcpOutputS3BucketName = lens _mwrcpOutputS3BucketName (\ s a -> s{_mwrcpOutputS3BucketName = a})++instance FromJSON+           MaintenanceWindowRunCommandParameters+         where+        parseJSON+          = withObject "MaintenanceWindowRunCommandParameters"+              (\ x ->+                 MaintenanceWindowRunCommandParameters' <$>+                   (x .:? "ServiceRoleArn") <*>+                     (x .:? "NotificationConfig")+                     <*> (x .:? "DocumentHashType")+                     <*> (x .:? "OutputS3KeyPrefix")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "DocumentHash")+                     <*> (x .:? "TimeoutSeconds")+                     <*> (x .:? "Comment")+                     <*> (x .:? "OutputS3BucketName"))++instance Hashable+           MaintenanceWindowRunCommandParameters+         where++instance NFData MaintenanceWindowRunCommandParameters+         where++instance ToJSON MaintenanceWindowRunCommandParameters+         where+        toJSON MaintenanceWindowRunCommandParameters'{..}+          = object+              (catMaybes+                 [("ServiceRoleArn" .=) <$> _mwrcpServiceRoleARN,+                  ("NotificationConfig" .=) <$>+                    _mwrcpNotificationConfig,+                  ("DocumentHashType" .=) <$> _mwrcpDocumentHashType,+                  ("OutputS3KeyPrefix" .=) <$> _mwrcpOutputS3KeyPrefix,+                  ("Parameters" .=) <$> _mwrcpParameters,+                  ("DocumentHash" .=) <$> _mwrcpDocumentHash,+                  ("TimeoutSeconds" .=) <$> _mwrcpTimeoutSeconds,+                  ("Comment" .=) <$> _mwrcpComment,+                  ("OutputS3BucketName" .=) <$>+                    _mwrcpOutputS3BucketName])++-- | The parameters for a STEP_FUNCTION task.+--+--+-- For information about specifying and updating task parameters, see 'RegisterTaskWithMaintenanceWindow' and 'UpdateMaintenanceWindowTask' .+--+--+-- /See:/ 'maintenanceWindowStepFunctionsParameters' smart constructor.+data MaintenanceWindowStepFunctionsParameters = MaintenanceWindowStepFunctionsParameters'+  { _mwsfpInput :: !(Maybe (Sensitive Text))+  , _mwsfpName  :: !(Maybe Text)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowStepFunctionsParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwsfpInput' - The inputs for the STEP_FUNCTION task.+--+-- * 'mwsfpName' - The name of the STEP_FUNCTION task.+maintenanceWindowStepFunctionsParameters+    :: MaintenanceWindowStepFunctionsParameters+maintenanceWindowStepFunctionsParameters =+  MaintenanceWindowStepFunctionsParameters'+    {_mwsfpInput = Nothing, _mwsfpName = Nothing}+++-- | The inputs for the STEP_FUNCTION task.+mwsfpInput :: Lens' MaintenanceWindowStepFunctionsParameters (Maybe Text)+mwsfpInput = lens _mwsfpInput (\ s a -> s{_mwsfpInput = a}) . mapping _Sensitive++-- | The name of the STEP_FUNCTION task.+mwsfpName :: Lens' MaintenanceWindowStepFunctionsParameters (Maybe Text)+mwsfpName = lens _mwsfpName (\ s a -> s{_mwsfpName = a})++instance FromJSON+           MaintenanceWindowStepFunctionsParameters+         where+        parseJSON+          = withObject+              "MaintenanceWindowStepFunctionsParameters"+              (\ x ->+                 MaintenanceWindowStepFunctionsParameters' <$>+                   (x .:? "Input") <*> (x .:? "Name"))++instance Hashable+           MaintenanceWindowStepFunctionsParameters+         where++instance NFData+           MaintenanceWindowStepFunctionsParameters+         where++instance ToJSON+           MaintenanceWindowStepFunctionsParameters+         where+        toJSON MaintenanceWindowStepFunctionsParameters'{..}+          = object+              (catMaybes+                 [("Input" .=) <$> _mwsfpInput,+                  ("Name" .=) <$> _mwsfpName])++-- | The target registered with the Maintenance Window.+--+--+--+-- /See:/ 'maintenanceWindowTarget' smart constructor.+data MaintenanceWindowTarget = MaintenanceWindowTarget'+  { _mResourceType     :: !(Maybe MaintenanceWindowResourceType)+  , _mOwnerInformation :: !(Maybe (Sensitive Text))+  , _mWindowTargetId   :: !(Maybe Text)+  , _mName             :: !(Maybe Text)+  , _mTargets          :: !(Maybe [Target])+  , _mDescription      :: !(Maybe (Sensitive Text))+  , _mWindowId         :: !(Maybe Text)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mResourceType' - The type of target.+--+-- * 'mOwnerInformation' - User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.+--+-- * 'mWindowTargetId' - The ID of the target.+--+-- * 'mName' - The target name.+--+-- * 'mTargets' - The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+--+-- * 'mDescription' - A description of the target.+--+-- * 'mWindowId' - The Maintenance Window ID where the target is registered.+maintenanceWindowTarget+    :: MaintenanceWindowTarget+maintenanceWindowTarget =+  MaintenanceWindowTarget'+    { _mResourceType = Nothing+    , _mOwnerInformation = Nothing+    , _mWindowTargetId = Nothing+    , _mName = Nothing+    , _mTargets = Nothing+    , _mDescription = Nothing+    , _mWindowId = Nothing+    }+++-- | The type of target.+mResourceType :: Lens' MaintenanceWindowTarget (Maybe MaintenanceWindowResourceType)+mResourceType = lens _mResourceType (\ s a -> s{_mResourceType = a})++-- | 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)+mOwnerInformation = lens _mOwnerInformation (\ s a -> s{_mOwnerInformation = a}) . mapping _Sensitive++-- | The ID of the target.+mWindowTargetId :: Lens' MaintenanceWindowTarget (Maybe Text)+mWindowTargetId = lens _mWindowTargetId (\ s a -> s{_mWindowTargetId = a})++-- | The target name.+mName :: Lens' MaintenanceWindowTarget (Maybe Text)+mName = lens _mName (\ s a -> s{_mName = a})++-- | The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+mTargets :: Lens' MaintenanceWindowTarget [Target]+mTargets = lens _mTargets (\ s a -> s{_mTargets = a}) . _Default . _Coerce++-- | A description of the target.+mDescription :: Lens' MaintenanceWindowTarget (Maybe Text)+mDescription = lens _mDescription (\ s a -> s{_mDescription = a}) . mapping _Sensitive++-- | The Maintenance Window ID where the target is registered.+mWindowId :: Lens' MaintenanceWindowTarget (Maybe Text)+mWindowId = lens _mWindowId (\ s a -> s{_mWindowId = a})++instance FromJSON MaintenanceWindowTarget where+        parseJSON+          = withObject "MaintenanceWindowTarget"+              (\ x ->+                 MaintenanceWindowTarget' <$>+                   (x .:? "ResourceType") <*> (x .:? "OwnerInformation")+                     <*> (x .:? "WindowTargetId")+                     <*> (x .:? "Name")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "Description")+                     <*> (x .:? "WindowId"))++instance Hashable MaintenanceWindowTarget where++instance NFData MaintenanceWindowTarget where++-- | Information about a task defined for a Maintenance Window.+--+--+--+-- /See:/ 'maintenanceWindowTask' smart constructor.+data MaintenanceWindowTask = MaintenanceWindowTask'+  { _mwtServiceRoleARN :: !(Maybe Text)+  , _mwtWindowTaskId :: !(Maybe Text)+  , _mwtTaskParameters :: !(Maybe (Sensitive (Map Text (Sensitive MaintenanceWindowTaskParameterValueExpression))))+  , _mwtPriority :: !(Maybe Nat)+  , _mwtTaskARN :: !(Maybe Text)+  , _mwtMaxErrors :: !(Maybe Text)+  , _mwtName :: !(Maybe Text)+  , _mwtTargets :: !(Maybe [Target])+  , _mwtLoggingInfo :: !(Maybe LoggingInfo)+  , _mwtType :: !(Maybe MaintenanceWindowTaskType)+  , _mwtDescription :: !(Maybe (Sensitive Text))+  , _mwtMaxConcurrency :: !(Maybe Text)+  , _mwtWindowId :: !(Maybe Text)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowTask' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwtServiceRoleARN' - The role that should be assumed when executing the task+--+-- * 'mwtWindowTaskId' - The task ID.+--+-- * 'mwtTaskParameters' - The parameters that should be passed to the task when it is executed.+--+-- * 'mwtPriority' - 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.+--+-- * 'mwtTaskARN' - The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, @TaskArn@ 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.+--+-- * 'mwtMaxErrors' - The maximum number of errors allowed before this task stops being scheduled.+--+-- * 'mwtName' - The task name.+--+-- * 'mwtTargets' - The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+--+-- * 'mwtLoggingInfo' - Information about an Amazon S3 bucket to write task-level logs to.+--+-- * 'mwtType' - The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.+--+-- * 'mwtDescription' - A description of the task.+--+-- * 'mwtMaxConcurrency' - The maximum number of targets this task can be run for in parallel.+--+-- * 'mwtWindowId' - The Maintenance Window ID where the task is registered.+maintenanceWindowTask+    :: MaintenanceWindowTask+maintenanceWindowTask =+  MaintenanceWindowTask'+    { _mwtServiceRoleARN = Nothing+    , _mwtWindowTaskId = Nothing+    , _mwtTaskParameters = Nothing+    , _mwtPriority = Nothing+    , _mwtTaskARN = Nothing+    , _mwtMaxErrors = Nothing+    , _mwtName = Nothing+    , _mwtTargets = Nothing+    , _mwtLoggingInfo = Nothing+    , _mwtType = Nothing+    , _mwtDescription = Nothing+    , _mwtMaxConcurrency = Nothing+    , _mwtWindowId = Nothing+    }+++-- | The role that should be assumed when executing the task+mwtServiceRoleARN :: Lens' MaintenanceWindowTask (Maybe Text)+mwtServiceRoleARN = lens _mwtServiceRoleARN (\ s a -> s{_mwtServiceRoleARN = a})++-- | The task ID.+mwtWindowTaskId :: Lens' MaintenanceWindowTask (Maybe Text)+mwtWindowTaskId = lens _mwtWindowTaskId (\ s a -> s{_mwtWindowTaskId = a})++-- | The parameters that should be passed to the task when it is executed.+mwtTaskParameters :: Lens' MaintenanceWindowTask (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))+mwtTaskParameters = lens _mwtTaskParameters (\ s a -> s{_mwtTaskParameters = a}) . mapping (_Sensitive . _Map)++-- | 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)+mwtPriority = lens _mwtPriority (\ s a -> s{_mwtPriority = a}) . mapping _Nat++-- | The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, @TaskArn@ 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)+mwtTaskARN = lens _mwtTaskARN (\ s a -> s{_mwtTaskARN = a})++-- | The maximum number of errors allowed before this task stops being scheduled.+mwtMaxErrors :: Lens' MaintenanceWindowTask (Maybe Text)+mwtMaxErrors = lens _mwtMaxErrors (\ s a -> s{_mwtMaxErrors = a})++-- | The task name.+mwtName :: Lens' MaintenanceWindowTask (Maybe Text)+mwtName = lens _mwtName (\ s a -> s{_mwtName = a})++-- | The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.+mwtTargets :: Lens' MaintenanceWindowTask [Target]+mwtTargets = lens _mwtTargets (\ s a -> s{_mwtTargets = a}) . _Default . _Coerce++-- | Information about an Amazon S3 bucket to write task-level logs to.+mwtLoggingInfo :: Lens' MaintenanceWindowTask (Maybe LoggingInfo)+mwtLoggingInfo = lens _mwtLoggingInfo (\ s a -> s{_mwtLoggingInfo = a})++-- | The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.+mwtType :: Lens' MaintenanceWindowTask (Maybe MaintenanceWindowTaskType)+mwtType = lens _mwtType (\ s a -> s{_mwtType = a})++-- | A description of the task.+mwtDescription :: Lens' MaintenanceWindowTask (Maybe Text)+mwtDescription = lens _mwtDescription (\ s a -> s{_mwtDescription = a}) . mapping _Sensitive++-- | The maximum number of targets this task can be run for in parallel.+mwtMaxConcurrency :: Lens' MaintenanceWindowTask (Maybe Text)+mwtMaxConcurrency = lens _mwtMaxConcurrency (\ s a -> s{_mwtMaxConcurrency = a})++-- | The Maintenance Window ID where the task is registered.+mwtWindowId :: Lens' MaintenanceWindowTask (Maybe Text)+mwtWindowId = lens _mwtWindowId (\ s a -> s{_mwtWindowId = a})++instance FromJSON MaintenanceWindowTask where+        parseJSON+          = withObject "MaintenanceWindowTask"+              (\ x ->+                 MaintenanceWindowTask' <$>+                   (x .:? "ServiceRoleArn") <*> (x .:? "WindowTaskId")+                     <*> (x .:? "TaskParameters" .!= mempty)+                     <*> (x .:? "Priority")+                     <*> (x .:? "TaskArn")+                     <*> (x .:? "MaxErrors")+                     <*> (x .:? "Name")+                     <*> (x .:? "Targets" .!= mempty)+                     <*> (x .:? "LoggingInfo")+                     <*> (x .:? "Type")+                     <*> (x .:? "Description")+                     <*> (x .:? "MaxConcurrency")+                     <*> (x .:? "WindowId"))++instance Hashable MaintenanceWindowTask where++instance NFData MaintenanceWindowTask where++-- | The parameters for task execution.+--+--+--+-- /See:/ 'maintenanceWindowTaskInvocationParameters' smart constructor.+data MaintenanceWindowTaskInvocationParameters = MaintenanceWindowTaskInvocationParameters'+  { _mwtipAutomation    :: !(Maybe MaintenanceWindowAutomationParameters)+  , _mwtipStepFunctions :: !(Maybe MaintenanceWindowStepFunctionsParameters)+  , _mwtipRunCommand    :: !(Maybe MaintenanceWindowRunCommandParameters)+  , _mwtipLambda        :: !(Maybe MaintenanceWindowLambdaParameters)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowTaskInvocationParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwtipAutomation' - The parameters for an AUTOMATION task type.+--+-- * 'mwtipStepFunctions' - The parameters for a STEP_FUNCTION task type.+--+-- * 'mwtipRunCommand' - The parameters for a RUN_COMMAND task type.+--+-- * 'mwtipLambda' - The parameters for a LAMBDA task type.+maintenanceWindowTaskInvocationParameters+    :: MaintenanceWindowTaskInvocationParameters+maintenanceWindowTaskInvocationParameters =+  MaintenanceWindowTaskInvocationParameters'+    { _mwtipAutomation = Nothing+    , _mwtipStepFunctions = Nothing+    , _mwtipRunCommand = Nothing+    , _mwtipLambda = Nothing+    }+++-- | The parameters for an AUTOMATION task type.+mwtipAutomation :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowAutomationParameters)+mwtipAutomation = lens _mwtipAutomation (\ s a -> s{_mwtipAutomation = a})++-- | The parameters for a STEP_FUNCTION task type.+mwtipStepFunctions :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowStepFunctionsParameters)+mwtipStepFunctions = lens _mwtipStepFunctions (\ s a -> s{_mwtipStepFunctions = a})++-- | The parameters for a RUN_COMMAND task type.+mwtipRunCommand :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowRunCommandParameters)+mwtipRunCommand = lens _mwtipRunCommand (\ s a -> s{_mwtipRunCommand = a})++-- | The parameters for a LAMBDA task type.+mwtipLambda :: Lens' MaintenanceWindowTaskInvocationParameters (Maybe MaintenanceWindowLambdaParameters)+mwtipLambda = lens _mwtipLambda (\ s a -> s{_mwtipLambda = a})++instance FromJSON+           MaintenanceWindowTaskInvocationParameters+         where+        parseJSON+          = withObject+              "MaintenanceWindowTaskInvocationParameters"+              (\ x ->+                 MaintenanceWindowTaskInvocationParameters' <$>+                   (x .:? "Automation") <*> (x .:? "StepFunctions") <*>+                     (x .:? "RunCommand")+                     <*> (x .:? "Lambda"))++instance Hashable+           MaintenanceWindowTaskInvocationParameters+         where++instance NFData+           MaintenanceWindowTaskInvocationParameters+         where++instance ToJSON+           MaintenanceWindowTaskInvocationParameters+         where+        toJSON MaintenanceWindowTaskInvocationParameters'{..}+          = object+              (catMaybes+                 [("Automation" .=) <$> _mwtipAutomation,+                  ("StepFunctions" .=) <$> _mwtipStepFunctions,+                  ("RunCommand" .=) <$> _mwtipRunCommand,+                  ("Lambda" .=) <$> _mwtipLambda])++-- | Defines the values for a task parameter.+--+--+--+-- /See:/ 'maintenanceWindowTaskParameterValueExpression' smart constructor.+newtype MaintenanceWindowTaskParameterValueExpression = MaintenanceWindowTaskParameterValueExpression'+  { _mwtpveValues :: Maybe (Sensitive [Sensitive Text])+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindowTaskParameterValueExpression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwtpveValues' - This field contains an array of 0 or more strings, each 1 to 255 characters in length.+maintenanceWindowTaskParameterValueExpression+    :: MaintenanceWindowTaskParameterValueExpression+maintenanceWindowTaskParameterValueExpression =+  MaintenanceWindowTaskParameterValueExpression' {_mwtpveValues = Nothing}+++-- | This field contains an array of 0 or more strings, each 1 to 255 characters in length.+mwtpveValues :: Lens' MaintenanceWindowTaskParameterValueExpression (Maybe [Text])+mwtpveValues = lens _mwtpveValues (\ s a -> s{_mwtpveValues = a}) . mapping (_Sensitive . _Coerce)++instance FromJSON+           MaintenanceWindowTaskParameterValueExpression+         where+        parseJSON+          = withObject+              "MaintenanceWindowTaskParameterValueExpression"+              (\ x ->+                 MaintenanceWindowTaskParameterValueExpression' <$>+                   (x .:? "Values" .!= mempty))++instance Hashable+           MaintenanceWindowTaskParameterValueExpression+         where++instance NFData+           MaintenanceWindowTaskParameterValueExpression+         where++instance ToJSON+           MaintenanceWindowTaskParameterValueExpression+         where+        toJSON+          MaintenanceWindowTaskParameterValueExpression'{..}+          = object+              (catMaybes [("Values" .=) <$> _mwtpveValues])++-- | A summary of resources that are not compliant. The summary is organized according to resource type.+--+--+--+-- /See:/ 'nonCompliantSummary' smart constructor.+data NonCompliantSummary = NonCompliantSummary'+  { _ncsNonCompliantCount :: !(Maybe Int)+  , _ncsSeveritySummary   :: !(Maybe SeveritySummary)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NonCompliantSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncsNonCompliantCount' - The total number of compliance items that are not compliant.+--+-- * 'ncsSeveritySummary' - A summary of the non-compliance severity by compliance type+nonCompliantSummary+    :: NonCompliantSummary+nonCompliantSummary =+  NonCompliantSummary'+    {_ncsNonCompliantCount = Nothing, _ncsSeveritySummary = Nothing}+++-- | The total number of compliance items that are not compliant.+ncsNonCompliantCount :: Lens' NonCompliantSummary (Maybe Int)+ncsNonCompliantCount = lens _ncsNonCompliantCount (\ s a -> s{_ncsNonCompliantCount = a})++-- | A summary of the non-compliance severity by compliance type+ncsSeveritySummary :: Lens' NonCompliantSummary (Maybe SeveritySummary)+ncsSeveritySummary = lens _ncsSeveritySummary (\ s a -> s{_ncsSeveritySummary = a})++instance FromJSON NonCompliantSummary where+        parseJSON+          = withObject "NonCompliantSummary"+              (\ x ->+                 NonCompliantSummary' <$>+                   (x .:? "NonCompliantCount") <*>+                     (x .:? "SeveritySummary"))++instance Hashable NonCompliantSummary where++instance NFData NonCompliantSummary where++-- | Configurations for sending notifications.+--+--+--+-- /See:/ 'notificationConfig' smart constructor.+data NotificationConfig = NotificationConfig'+  { _ncNotificationEvents :: !(Maybe [NotificationEvent])+  , _ncNotificationType   :: !(Maybe NotificationType)+  , _ncNotificationARN    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NotificationConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncNotificationEvents' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html Setting Up Events and Notifications> in the /AWS Systems Manager User Guide/ .+--+-- * 'ncNotificationType' - 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.+--+-- * 'ncNotificationARN' - An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. Run Command pushes notifications about command status changes to this topic.+notificationConfig+    :: NotificationConfig+notificationConfig =+  NotificationConfig'+    { _ncNotificationEvents = Nothing+    , _ncNotificationType = Nothing+    , _ncNotificationARN = Nothing+    }+++-- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html Setting Up Events and Notifications> in the /AWS Systems Manager User Guide/ .+ncNotificationEvents :: Lens' NotificationConfig [NotificationEvent]+ncNotificationEvents = lens _ncNotificationEvents (\ s a -> s{_ncNotificationEvents = a}) . _Default . _Coerce++-- | 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)+ncNotificationType = lens _ncNotificationType (\ s a -> s{_ncNotificationType = a})++-- | 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)+ncNotificationARN = lens _ncNotificationARN (\ s a -> s{_ncNotificationARN = a})++instance FromJSON NotificationConfig where+        parseJSON+          = withObject "NotificationConfig"+              (\ x ->+                 NotificationConfig' <$>+                   (x .:? "NotificationEvents" .!= mempty) <*>+                     (x .:? "NotificationType")+                     <*> (x .:? "NotificationArn"))++instance Hashable NotificationConfig where++instance NFData NotificationConfig where++instance ToJSON NotificationConfig where+        toJSON NotificationConfig'{..}+          = object+              (catMaybes+                 [("NotificationEvents" .=) <$> _ncNotificationEvents,+                  ("NotificationType" .=) <$> _ncNotificationType,+                  ("NotificationArn" .=) <$> _ncNotificationARN])++-- | An Amazon EC2 Systems Manager parameter in Parameter Store.+--+--+--+-- /See:/ 'parameter' smart constructor.+data Parameter = Parameter'+  { _pValue   :: !(Maybe Text)+  , _pName    :: !(Maybe Text)+  , _pVersion :: !(Maybe Integer)+  , _pType    :: !(Maybe ParameterType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Parameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pValue' - The parameter value.+--+-- * 'pName' - The name of the parameter.+--+-- * 'pVersion' - The parameter version.+--+-- * 'pType' - The type of parameter. Valid values include the following: String, String list, Secure string.+parameter+    :: Parameter+parameter =+  Parameter'+    {_pValue = Nothing, _pName = Nothing, _pVersion = Nothing, _pType = Nothing}+++-- | The parameter value.+pValue :: Lens' Parameter (Maybe Text)+pValue = lens _pValue (\ s a -> s{_pValue = a})++-- | The name of the parameter.+pName :: Lens' Parameter (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | The parameter version.+pVersion :: Lens' Parameter (Maybe Integer)+pVersion = lens _pVersion (\ s a -> s{_pVersion = a})++-- | The type of parameter. Valid values include the following: String, String list, Secure string.+pType :: Lens' Parameter (Maybe ParameterType)+pType = lens _pType (\ s a -> s{_pType = a})++instance FromJSON Parameter where+        parseJSON+          = withObject "Parameter"+              (\ x ->+                 Parameter' <$>+                   (x .:? "Value") <*> (x .:? "Name") <*>+                     (x .:? "Version")+                     <*> (x .:? "Type"))++instance Hashable Parameter where++instance NFData Parameter where++-- | Information about parameter usage.+--+--+--+-- /See:/ 'parameterHistory' smart constructor.+data ParameterHistory = ParameterHistory'+  { _phLastModifiedDate :: !(Maybe POSIX)+  , _phKeyId            :: !(Maybe Text)+  , _phValue            :: !(Maybe Text)+  , _phName             :: !(Maybe Text)+  , _phVersion          :: !(Maybe Integer)+  , _phLastModifiedUser :: !(Maybe Text)+  , _phAllowedPattern   :: !(Maybe Text)+  , _phType             :: !(Maybe ParameterType)+  , _phDescription      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParameterHistory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'phLastModifiedDate' - Date the parameter was last changed or updated.+--+-- * 'phKeyId' - The ID of the query key used for this parameter.+--+-- * 'phValue' - The parameter value.+--+-- * 'phName' - The name of the parameter.+--+-- * 'phVersion' - The parameter version.+--+-- * 'phLastModifiedUser' - Amazon Resource Name (ARN) of the AWS user who last changed the parameter.+--+-- * 'phAllowedPattern' - Parameter names can include the following letters and symbols. a-zA-Z0-9_.-+--+-- * 'phType' - The type of parameter used.+--+-- * 'phDescription' - Information about the parameter.+parameterHistory+    :: ParameterHistory+parameterHistory =+  ParameterHistory'+    { _phLastModifiedDate = Nothing+    , _phKeyId = Nothing+    , _phValue = Nothing+    , _phName = Nothing+    , _phVersion = Nothing+    , _phLastModifiedUser = Nothing+    , _phAllowedPattern = Nothing+    , _phType = Nothing+    , _phDescription = Nothing+    }+++-- | Date the parameter was last changed or updated.+phLastModifiedDate :: Lens' ParameterHistory (Maybe UTCTime)+phLastModifiedDate = lens _phLastModifiedDate (\ s a -> s{_phLastModifiedDate = a}) . mapping _Time++-- | The ID of the query key used for this parameter.+phKeyId :: Lens' ParameterHistory (Maybe Text)+phKeyId = lens _phKeyId (\ s a -> s{_phKeyId = a})++-- | The parameter value.+phValue :: Lens' ParameterHistory (Maybe Text)+phValue = lens _phValue (\ s a -> s{_phValue = a})++-- | The name of the parameter.+phName :: Lens' ParameterHistory (Maybe Text)+phName = lens _phName (\ s a -> s{_phName = a})++-- | The parameter version.+phVersion :: Lens' ParameterHistory (Maybe Integer)+phVersion = lens _phVersion (\ s a -> s{_phVersion = a})++-- | Amazon Resource Name (ARN) of the AWS user who last changed the parameter.+phLastModifiedUser :: Lens' ParameterHistory (Maybe Text)+phLastModifiedUser = lens _phLastModifiedUser (\ s a -> s{_phLastModifiedUser = a})++-- | Parameter names can include the following letters and symbols. a-zA-Z0-9_.-+phAllowedPattern :: Lens' ParameterHistory (Maybe Text)+phAllowedPattern = lens _phAllowedPattern (\ s a -> s{_phAllowedPattern = a})++-- | The type of parameter used.+phType :: Lens' ParameterHistory (Maybe ParameterType)+phType = lens _phType (\ s a -> s{_phType = a})++-- | Information about the parameter.+phDescription :: Lens' ParameterHistory (Maybe Text)+phDescription = lens _phDescription (\ s a -> s{_phDescription = a})++instance FromJSON ParameterHistory where+        parseJSON+          = withObject "ParameterHistory"+              (\ x ->+                 ParameterHistory' <$>+                   (x .:? "LastModifiedDate") <*> (x .:? "KeyId") <*>+                     (x .:? "Value")+                     <*> (x .:? "Name")+                     <*> (x .:? "Version")+                     <*> (x .:? "LastModifiedUser")+                     <*> (x .:? "AllowedPattern")+                     <*> (x .:? "Type")+                     <*> (x .:? "Description"))++instance Hashable ParameterHistory where++instance NFData ParameterHistory where++-- | Metada includes information like the ARN of the last user and the date/time the parameter was last used.+--+--+--+-- /See:/ 'parameterMetadata' smart constructor.+data ParameterMetadata = ParameterMetadata'+  { _pmLastModifiedDate :: !(Maybe POSIX)+  , _pmKeyId            :: !(Maybe Text)+  , _pmName             :: !(Maybe Text)+  , _pmVersion          :: !(Maybe Integer)+  , _pmLastModifiedUser :: !(Maybe Text)+  , _pmAllowedPattern   :: !(Maybe Text)+  , _pmType             :: !(Maybe ParameterType)+  , _pmDescription      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParameterMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmLastModifiedDate' - Date the parameter was last changed or updated.+--+-- * 'pmKeyId' - The ID of the query key used for this parameter.+--+-- * 'pmName' - The parameter name.+--+-- * 'pmVersion' - The parameter version.+--+-- * 'pmLastModifiedUser' - Amazon Resource Name (ARN) of the AWS user who last changed the parameter.+--+-- * 'pmAllowedPattern' - A parameter name can include only the following letters and symbols. a-zA-Z0-9_.-+--+-- * 'pmType' - The type of parameter. Valid parameter types include the following: String, String list, Secure string.+--+-- * 'pmDescription' - Description of the parameter actions.+parameterMetadata+    :: ParameterMetadata+parameterMetadata =+  ParameterMetadata'+    { _pmLastModifiedDate = Nothing+    , _pmKeyId = Nothing+    , _pmName = Nothing+    , _pmVersion = Nothing+    , _pmLastModifiedUser = Nothing+    , _pmAllowedPattern = Nothing+    , _pmType = Nothing+    , _pmDescription = Nothing+    }+++-- | Date the parameter was last changed or updated.+pmLastModifiedDate :: Lens' ParameterMetadata (Maybe UTCTime)+pmLastModifiedDate = lens _pmLastModifiedDate (\ s a -> s{_pmLastModifiedDate = a}) . mapping _Time++-- | The ID of the query key used for this parameter.+pmKeyId :: Lens' ParameterMetadata (Maybe Text)+pmKeyId = lens _pmKeyId (\ s a -> s{_pmKeyId = a})++-- | The parameter name.+pmName :: Lens' ParameterMetadata (Maybe Text)+pmName = lens _pmName (\ s a -> s{_pmName = a})++-- | The parameter version.+pmVersion :: Lens' ParameterMetadata (Maybe Integer)+pmVersion = lens _pmVersion (\ s a -> s{_pmVersion = a})++-- | Amazon Resource Name (ARN) of the AWS user who last changed the parameter.+pmLastModifiedUser :: Lens' ParameterMetadata (Maybe Text)+pmLastModifiedUser = lens _pmLastModifiedUser (\ s a -> s{_pmLastModifiedUser = a})++-- | A parameter name can include only the following letters and symbols. a-zA-Z0-9_.-+pmAllowedPattern :: Lens' ParameterMetadata (Maybe Text)+pmAllowedPattern = lens _pmAllowedPattern (\ s a -> s{_pmAllowedPattern = a})++-- | The type of parameter. Valid parameter types include the following: String, String list, Secure string.+pmType :: Lens' ParameterMetadata (Maybe ParameterType)+pmType = lens _pmType (\ s a -> s{_pmType = a})++-- | Description of the parameter actions.+pmDescription :: Lens' ParameterMetadata (Maybe Text)+pmDescription = lens _pmDescription (\ s a -> s{_pmDescription = a})++instance FromJSON ParameterMetadata where+        parseJSON+          = withObject "ParameterMetadata"+              (\ x ->+                 ParameterMetadata' <$>+                   (x .:? "LastModifiedDate") <*> (x .:? "KeyId") <*>+                     (x .:? "Name")+                     <*> (x .:? "Version")+                     <*> (x .:? "LastModifiedUser")+                     <*> (x .:? "AllowedPattern")+                     <*> (x .:? "Type")+                     <*> (x .:? "Description"))++instance Hashable ParameterMetadata where++instance NFData ParameterMetadata where++-- | One or more filters. Use a filter to return a more specific list of results.+--+--+--+-- /See:/ 'parameterStringFilter' smart constructor.+data ParameterStringFilter = ParameterStringFilter'+  { _psfValues :: !(Maybe (List1 Text))+  , _psfOption :: !(Maybe Text)+  , _psfKey    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParameterStringFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psfValues' - The value you want to search for.+--+-- * 'psfOption' - Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.+--+-- * 'psfKey' - The name of the filter.+parameterStringFilter+    :: Text -- ^ 'psfKey'+    -> ParameterStringFilter+parameterStringFilter pKey_ =+  ParameterStringFilter'+    {_psfValues = Nothing, _psfOption = Nothing, _psfKey = pKey_}+++-- | The value you want to search for.+psfValues :: Lens' ParameterStringFilter (Maybe (NonEmpty Text))+psfValues = lens _psfValues (\ s a -> s{_psfValues = a}) . mapping _List1++-- | Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.+psfOption :: Lens' ParameterStringFilter (Maybe Text)+psfOption = lens _psfOption (\ s a -> s{_psfOption = a})++-- | The name of the filter.+psfKey :: Lens' ParameterStringFilter Text+psfKey = lens _psfKey (\ s a -> s{_psfKey = a})++instance Hashable ParameterStringFilter where++instance NFData ParameterStringFilter where++instance ToJSON ParameterStringFilter where+        toJSON ParameterStringFilter'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _psfValues,+                  ("Option" .=) <$> _psfOption,+                  Just ("Key" .= _psfKey)])++-- | This data type is deprecated. Instead, use 'ParameterStringFilter' .+--+--+--+-- /See:/ 'parametersFilter' smart constructor.+data ParametersFilter = ParametersFilter'+  { _pKey    :: !ParametersFilterKey+  , _pValues :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParametersFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pKey' - The name of the filter.+--+-- * 'pValues' - The filter values.+parametersFilter+    :: ParametersFilterKey -- ^ 'pKey'+    -> NonEmpty Text -- ^ 'pValues'+    -> ParametersFilter+parametersFilter pKey_ pValues_ =+  ParametersFilter' {_pKey = pKey_, _pValues = _List1 # pValues_}+++-- | The name of the filter.+pKey :: Lens' ParametersFilter ParametersFilterKey+pKey = lens _pKey (\ s a -> s{_pKey = a})++-- | The filter values.+pValues :: Lens' ParametersFilter (NonEmpty Text)+pValues = lens _pValues (\ s a -> s{_pValues = a}) . _List1++instance Hashable ParametersFilter where++instance NFData ParametersFilter where++instance ToJSON ParametersFilter where+        toJSON ParametersFilter'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _pKey), Just ("Values" .= _pValues)])++-- | Represents metadata about a patch.+--+--+--+-- /See:/ 'patch' smart constructor.+data Patch = Patch'+  { _pVendor         :: !(Maybe Text)+  , _pMsrcSeverity   :: !(Maybe Text)+  , _pProductFamily  :: !(Maybe Text)+  , _pClassification :: !(Maybe Text)+  , _pMsrcNumber     :: !(Maybe Text)+  , _pLanguage       :: !(Maybe Text)+  , _pKbNumber       :: !(Maybe Text)+  , _pContentURL     :: !(Maybe Text)+  , _pId             :: !(Maybe Text)+  , _pReleaseDate    :: !(Maybe POSIX)+  , _pTitle          :: !(Maybe Text)+  , _pProduct        :: !(Maybe Text)+  , _pDescription    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Patch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pVendor' - The name of the vendor providing the patch.+--+-- * 'pMsrcSeverity' - The severity of the patch (for example Critical, Important, Moderate).+--+-- * 'pProductFamily' - The product family the patch is applicable for (for example, Windows).+--+-- * 'pClassification' - The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).+--+-- * 'pMsrcNumber' - The ID of the MSRC bulletin the patch is related to.+--+-- * 'pLanguage' - The language of the patch if it's language-specific.+--+-- * 'pKbNumber' - The Microsoft Knowledge Base ID of the patch.+--+-- * 'pContentURL' - The URL where more information can be obtained about the patch.+--+-- * 'pId' - The ID of the patch (this is different than the Microsoft Knowledge Base ID).+--+-- * 'pReleaseDate' - The date the patch was released.+--+-- * 'pTitle' - The title of the patch.+--+-- * 'pProduct' - The specific product the patch is applicable for (for example, WindowsServer2016).+--+-- * 'pDescription' - The description of the patch.+patch+    :: Patch+patch =+  Patch'+    { _pVendor = Nothing+    , _pMsrcSeverity = Nothing+    , _pProductFamily = Nothing+    , _pClassification = Nothing+    , _pMsrcNumber = Nothing+    , _pLanguage = Nothing+    , _pKbNumber = Nothing+    , _pContentURL = Nothing+    , _pId = Nothing+    , _pReleaseDate = Nothing+    , _pTitle = Nothing+    , _pProduct = Nothing+    , _pDescription = Nothing+    }+++-- | The name of the vendor providing the patch.+pVendor :: Lens' Patch (Maybe Text)+pVendor = lens _pVendor (\ s a -> s{_pVendor = a})++-- | The severity of the patch (for example Critical, Important, Moderate).+pMsrcSeverity :: Lens' Patch (Maybe Text)+pMsrcSeverity = lens _pMsrcSeverity (\ s a -> s{_pMsrcSeverity = a})++-- | The product family the patch is applicable for (for example, Windows).+pProductFamily :: Lens' Patch (Maybe Text)+pProductFamily = lens _pProductFamily (\ s a -> s{_pProductFamily = a})++-- | The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).+pClassification :: Lens' Patch (Maybe Text)+pClassification = lens _pClassification (\ s a -> s{_pClassification = a})++-- | The ID of the MSRC bulletin the patch is related to.+pMsrcNumber :: Lens' Patch (Maybe Text)+pMsrcNumber = lens _pMsrcNumber (\ s a -> s{_pMsrcNumber = a})++-- | The language of the patch if it's language-specific.+pLanguage :: Lens' Patch (Maybe Text)+pLanguage = lens _pLanguage (\ s a -> s{_pLanguage = a})++-- | The Microsoft Knowledge Base ID of the patch.+pKbNumber :: Lens' Patch (Maybe Text)+pKbNumber = lens _pKbNumber (\ s a -> s{_pKbNumber = a})++-- | The URL where more information can be obtained about the patch.+pContentURL :: Lens' Patch (Maybe Text)+pContentURL = lens _pContentURL (\ s a -> s{_pContentURL = a})++-- | The ID of the patch (this is different than the Microsoft Knowledge Base ID).+pId :: Lens' Patch (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++-- | The date the patch was released.+pReleaseDate :: Lens' Patch (Maybe UTCTime)+pReleaseDate = lens _pReleaseDate (\ s a -> s{_pReleaseDate = a}) . mapping _Time++-- | The title of the patch.+pTitle :: Lens' Patch (Maybe Text)+pTitle = lens _pTitle (\ s a -> s{_pTitle = a})++-- | The specific product the patch is applicable for (for example, WindowsServer2016).+pProduct :: Lens' Patch (Maybe Text)+pProduct = lens _pProduct (\ s a -> s{_pProduct = a})++-- | The description of the patch.+pDescription :: Lens' Patch (Maybe Text)+pDescription = lens _pDescription (\ s a -> s{_pDescription = a})++instance FromJSON Patch where+        parseJSON+          = withObject "Patch"+              (\ x ->+                 Patch' <$>+                   (x .:? "Vendor") <*> (x .:? "MsrcSeverity") <*>+                     (x .:? "ProductFamily")+                     <*> (x .:? "Classification")+                     <*> (x .:? "MsrcNumber")+                     <*> (x .:? "Language")+                     <*> (x .:? "KbNumber")+                     <*> (x .:? "ContentUrl")+                     <*> (x .:? "Id")+                     <*> (x .:? "ReleaseDate")+                     <*> (x .:? "Title")+                     <*> (x .:? "Product")+                     <*> (x .:? "Description"))++instance Hashable Patch where++instance NFData Patch where++-- | Defines the basic information about a patch baseline.+--+--+--+-- /See:/ 'patchBaselineIdentity' smart constructor.+data PatchBaselineIdentity = PatchBaselineIdentity'+  { _pbiBaselineName        :: !(Maybe Text)+  , _pbiBaselineDescription :: !(Maybe Text)+  , _pbiOperatingSystem     :: !(Maybe OperatingSystem)+  , _pbiDefaultBaseline     :: !(Maybe Bool)+  , _pbiBaselineId          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchBaselineIdentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbiBaselineName' - The name of the patch baseline.+--+-- * 'pbiBaselineDescription' - The description of the patch baseline.+--+-- * 'pbiOperatingSystem' - Defines the operating system the patch baseline applies to. The Default value is WINDOWS.+--+-- * 'pbiDefaultBaseline' - 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.+--+-- * 'pbiBaselineId' - The ID of the patch baseline.+patchBaselineIdentity+    :: PatchBaselineIdentity+patchBaselineIdentity =+  PatchBaselineIdentity'+    { _pbiBaselineName = Nothing+    , _pbiBaselineDescription = Nothing+    , _pbiOperatingSystem = Nothing+    , _pbiDefaultBaseline = Nothing+    , _pbiBaselineId = Nothing+    }+++-- | The name of the patch baseline.+pbiBaselineName :: Lens' PatchBaselineIdentity (Maybe Text)+pbiBaselineName = lens _pbiBaselineName (\ s a -> s{_pbiBaselineName = a})++-- | The description of the patch baseline.+pbiBaselineDescription :: Lens' PatchBaselineIdentity (Maybe Text)+pbiBaselineDescription = lens _pbiBaselineDescription (\ s a -> s{_pbiBaselineDescription = a})++-- | Defines the operating system the patch baseline applies to. The Default value is WINDOWS.+pbiOperatingSystem :: Lens' PatchBaselineIdentity (Maybe OperatingSystem)+pbiOperatingSystem = lens _pbiOperatingSystem (\ s a -> s{_pbiOperatingSystem = 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.+pbiDefaultBaseline :: Lens' PatchBaselineIdentity (Maybe Bool)+pbiDefaultBaseline = lens _pbiDefaultBaseline (\ s a -> s{_pbiDefaultBaseline = a})++-- | The ID of the patch baseline.+pbiBaselineId :: Lens' PatchBaselineIdentity (Maybe Text)+pbiBaselineId = lens _pbiBaselineId (\ s a -> s{_pbiBaselineId = a})++instance FromJSON PatchBaselineIdentity where+        parseJSON+          = withObject "PatchBaselineIdentity"+              (\ x ->+                 PatchBaselineIdentity' <$>+                   (x .:? "BaselineName") <*>+                     (x .:? "BaselineDescription")+                     <*> (x .:? "OperatingSystem")+                     <*> (x .:? "DefaultBaseline")+                     <*> (x .:? "BaselineId"))++instance Hashable PatchBaselineIdentity where++instance NFData PatchBaselineIdentity where++-- | Information about the state of a patch on a particular instance as it relates to the patch baseline used to patch the instance.+--+--+--+-- /See:/ 'patchComplianceData' smart constructor.+data PatchComplianceData = PatchComplianceData'+  { _pcdTitle          :: !Text+  , _pcdKBId           :: !Text+  , _pcdClassification :: !Text+  , _pcdSeverity       :: !Text+  , _pcdState          :: !PatchComplianceDataState+  , _pcdInstalledTime  :: !POSIX+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchComplianceData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcdTitle' - The title of the patch.+--+-- * 'pcdKBId' - The operating system-specific ID of the patch.+--+-- * 'pcdClassification' - The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).+--+-- * 'pcdSeverity' - The severity of the patch (for example, Critical, Important, Moderate).+--+-- * 'pcdState' - The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).+--+-- * 'pcdInstalledTime' - The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information.+patchComplianceData+    :: Text -- ^ 'pcdTitle'+    -> Text -- ^ 'pcdKBId'+    -> Text -- ^ 'pcdClassification'+    -> Text -- ^ 'pcdSeverity'+    -> PatchComplianceDataState -- ^ 'pcdState'+    -> UTCTime -- ^ 'pcdInstalledTime'+    -> PatchComplianceData+patchComplianceData pTitle_ pKBId_ pClassification_ pSeverity_ pState_ pInstalledTime_ =+  PatchComplianceData'+    { _pcdTitle = pTitle_+    , _pcdKBId = pKBId_+    , _pcdClassification = pClassification_+    , _pcdSeverity = pSeverity_+    , _pcdState = pState_+    , _pcdInstalledTime = _Time # pInstalledTime_+    }+++-- | The title of the patch.+pcdTitle :: Lens' PatchComplianceData Text+pcdTitle = lens _pcdTitle (\ s a -> s{_pcdTitle = a})++-- | The operating system-specific ID of the patch.+pcdKBId :: Lens' PatchComplianceData Text+pcdKBId = lens _pcdKBId (\ s a -> s{_pcdKBId = a})++-- | The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).+pcdClassification :: Lens' PatchComplianceData Text+pcdClassification = lens _pcdClassification (\ s a -> s{_pcdClassification = a})++-- | The severity of the patch (for example, Critical, Important, Moderate).+pcdSeverity :: Lens' PatchComplianceData Text+pcdSeverity = lens _pcdSeverity (\ s a -> s{_pcdSeverity = a})++-- | The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).+pcdState :: Lens' PatchComplianceData PatchComplianceDataState+pcdState = lens _pcdState (\ s a -> s{_pcdState = a})++-- | 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+pcdInstalledTime = lens _pcdInstalledTime (\ s a -> s{_pcdInstalledTime = a}) . _Time++instance FromJSON PatchComplianceData where+        parseJSON+          = withObject "PatchComplianceData"+              (\ x ->+                 PatchComplianceData' <$>+                   (x .: "Title") <*> (x .: "KBId") <*>+                     (x .: "Classification")+                     <*> (x .: "Severity")+                     <*> (x .: "State")+                     <*> (x .: "InstalledTime"))++instance Hashable PatchComplianceData where++instance NFData PatchComplianceData where++-- | 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 @PRODUCT@ is valid for all supported operating system types. The key @MSRC_SEVERITY@ , however, is valid only for Windows operating systems, and the key @SECTION@ 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.+--+-- __Windows Operating Systems__+--+-- The supported keys for Windows operating systems are @PRODUCT@ , @CLASSIFICATION@ , and @MSRC_SEVERITY@ . See the following lists for valid values for each of these keys.+--+-- /Supported key:/ @PRODUCT@+--+-- /Supported values:/+--+--     * @Windows7@+--+--     * @Windows8@+--+--     * @Windows8.1@+--+--     * @Windows8Embedded@+--+--     * @Windows10@+--+--     * @Windows10LTSB@+--+--     * @WindowsServer2008@+--+--     * @WindowsServer2008R2@+--+--     * @WindowsServer2012@+--+--     * @WindowsServer2012R2@+--+--     * @WindowsServer2016@+--+--+--+-- /Supported key:/ @CLASSIFICATION@+--+-- /Supported values:/+--+--     * @CriticalUpdates@+--+--     * @DefinitionUpdates@+--+--     * @Drivers@+--+--     * @FeaturePacks@+--+--     * @SecurityUpdates@+--+--     * @ServicePacks@+--+--     * @Tools@+--+--     * @UpdateRollups@+--+--     * @Updates@+--+--     * @Upgrades@+--+--+--+-- /Supported key:/ @MSRC_SEVERITY@+--+-- /Supported values:/+--+--     * @Critical@+--+--     * @Important@+--+--     * @Moderate@+--+--     * @Low@+--+--     * @Unspecified@+--+--+--+-- __Ubuntu Operating Systems__+--+-- The supported keys for Ubuntu operating systems are @PRODUCT@ , @PRIORITY@ , and @SECTION@ . See the following lists for valid values for each of these keys.+--+-- /Supported key:/ @PRODUCT@+--+-- /Supported values:/+--+--     * @Ubuntu14.04@+--+--     * @Ubuntu16.04@+--+--+--+-- /Supported key:/ @PRIORITY@+--+-- /Supported values:/+--+--     * @Required@+--+--     * @Important@+--+--     * @Standard@+--+--     * @Optional@+--+--     * @Extra@+--+--+--+-- /Supported key:/ @SECTION@+--+-- Only the length of the key value is validated. Minimum length is 1. Maximum length is 64.+--+-- __Amazon Linux Operating Systems__+--+-- The supported keys for Amazon Linux operating systems are @PRODUCT@ , @CLASSIFICATION@ , and @SEVERITY@ . See the following lists for valid values for each of these keys.+--+-- /Supported key:/ @PRODUCT@+--+-- /Supported values:/+--+--     * @AmazonLinux2012.03@+--+--     * @AmazonLinux2012.09@+--+--     * @AmazonLinux2013.03@+--+--     * @AmazonLinux2013.09@+--+--     * @AmazonLinux2014.03@+--+--     * @AmazonLinux2014.09@+--+--     * @AmazonLinux2015.03@+--+--     * @AmazonLinux2015.09@+--+--     * @AmazonLinux2016.03@+--+--     * @AmazonLinux2016.09@+--+--     * @AmazonLinux2017.03@+--+--     * @AmazonLinux2017.09@+--+--+--+-- /Supported key:/ @CLASSIFICATION@+--+-- /Supported values:/+--+--     * @Security@+--+--     * @Bugfix@+--+--     * @Enhancement@+--+--     * @Recommended@+--+--     * @Newpackage@+--+--+--+-- /Supported key:/ @SEVERITY@+--+-- /Supported values:/+--+--     * @Critical@+--+--     * @Important@+--+--     * @Medium@+--+--     * @Low@+--+--+--+-- __RedHat Enterprise Linux (RHEL) Operating Systems__+--+-- The supported keys for RedHat Enterprise Linux operating systems are @PRODUCT@ , @CLASSIFICATION@ , and @SEVERITY@ . See the following lists for valid values for each of these keys.+--+-- /Supported key:/ @PRODUCT@+--+-- /Supported values:/+--+--     * @RedhatEnterpriseLinux6.5@+--+--     * @RedhatEnterpriseLinux6.6@+--+--     * @RedhatEnterpriseLinux6.7@+--+--     * @RedhatEnterpriseLinux6.8@+--+--     * @RedhatEnterpriseLinux6.9@+--+--     * @RedhatEnterpriseLinux7.0@+--+--     * @RedhatEnterpriseLinux7.1@+--+--     * @RedhatEnterpriseLinux7.2@+--+--     * @RedhatEnterpriseLinux7.3@+--+--     * @RedhatEnterpriseLinux7.4@+--+--+--+-- /Supported key:/ @CLASSIFICATION@+--+-- /Supported values:/+--+--     * @Security@+--+--     * @Bugfix@+--+--     * @Enhancement@+--+--     * @Recommended@+--+--     * @Newpackage@+--+--+--+-- /Supported key:/ @SEVERITY@+--+-- /Supported values:/+--+--     * @Critical@+--+--     * @Important@+--+--     * @Medium@+--+--     * @Low@+--+--+--+-- __SUSE Linux Enterprise Server (SLES) Operating Systems__+--+-- The supported keys for SLES operating systems are @PRODUCT@ , @CLASSIFICATION@ , and @SEVERITY@ . See the following lists for valid values for each of these keys.+--+-- /Supported key:/ @PRODUCT@+--+-- /Supported values:/+--+--     * @Suse12.0@+--+--     * @Suse12.1@+--+--     * @Suse12.2@+--+--     * @Suse12.3@+--+--     * @Suse12.4@+--+--     * @Suse12.5@+--+--     * @Suse12.6@+--+--     * @Suse12.7@+--+--     * @Suse12.8@+--+--     * @Suse12.9@+--+--+--+-- /Supported key:/ @CLASSIFICATION@+--+-- /Supported values:/+--+--     * @Security@+--+--     * @Recommended@+--+--     * @Optional@+--+--     * @Feature@+--+--     * @Document@+--+--     * @Yast@+--+--+--+-- /Supported key:/ @SEVERITY@+--+-- /Supported values:/+--+--     * @Critical@+--+--     * @Important@+--+--     * @Moderate@+--+--     * @Low@+--+--+--+-- __CentOS Operating Systems__+--+-- The supported keys for CentOS operating systems are @PRODUCT@ , @CLASSIFICATION@ , and @SEVERITY@ . See the following lists for valid values for each of these keys.+--+-- /Supported key:/ @PRODUCT@+--+-- /Supported values:/+--+--     * @CentOS6.5@+--+--     * @CentOS6.6@+--+--     * @CentOS6.7@+--+--     * @CentOS6.8@+--+--     * @CentOS6.9@+--+--     * @CentOS7.0@+--+--     * @CentOS7.1@+--+--     * @CentOS7.2@+--+--     * @CentOS7.3@+--+--     * @CentOS7.4@+--+--+--+-- /Supported key:/ @CLASSIFICATION@+--+-- /Supported values:/+--+--     * @Security@+--+--     * @Bugfix@+--+--     * @Enhancement@+--+--     * @Recommended@+--+--     * @Newpackage@+--+--+--+-- /Supported key:/ @SEVERITY@+--+-- /Supported values:/+--+--     * @Critical@+--+--     * @Important@+--+--     * @Medium@+--+--     * @Low@+--+--+--+--+-- /See:/ 'patchFilter' smart constructor.+data PatchFilter = PatchFilter'+  { _pfKey    :: !PatchFilterKey+  , _pfValues :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfKey' - The key for the filter. See 'PatchFilter' for lists of valid keys for each operating system type.+--+-- * 'pfValues' - The value for the filter key. See 'PatchFilter' for lists of valid values for each key based on operating system type.+patchFilter+    :: PatchFilterKey -- ^ 'pfKey'+    -> NonEmpty Text -- ^ 'pfValues'+    -> PatchFilter+patchFilter pKey_ pValues_ =+  PatchFilter' {_pfKey = pKey_, _pfValues = _List1 # pValues_}+++-- | The key for the filter. See 'PatchFilter' for lists of valid keys for each operating system type.+pfKey :: Lens' PatchFilter PatchFilterKey+pfKey = lens _pfKey (\ s a -> s{_pfKey = a})++-- | The value for the filter key. See 'PatchFilter' for lists of valid values for each key based on operating system type.+pfValues :: Lens' PatchFilter (NonEmpty Text)+pfValues = lens _pfValues (\ s a -> s{_pfValues = a}) . _List1++instance FromJSON PatchFilter where+        parseJSON+          = withObject "PatchFilter"+              (\ x ->+                 PatchFilter' <$> (x .: "Key") <*> (x .: "Values"))++instance Hashable PatchFilter where++instance NFData PatchFilter where++instance ToJSON PatchFilter where+        toJSON PatchFilter'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _pfKey),+                  Just ("Values" .= _pfValues)])++-- | A set of patch filters, typically used for approval rules.+--+--+--+-- /See:/ 'patchFilterGroup' smart constructor.+newtype PatchFilterGroup = PatchFilterGroup'+  { _pfgPatchFilters :: [PatchFilter]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchFilterGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfgPatchFilters' - The set of patch filters that make up the group.+patchFilterGroup+    :: PatchFilterGroup+patchFilterGroup = PatchFilterGroup' {_pfgPatchFilters = mempty}+++-- | The set of patch filters that make up the group.+pfgPatchFilters :: Lens' PatchFilterGroup [PatchFilter]+pfgPatchFilters = lens _pfgPatchFilters (\ s a -> s{_pfgPatchFilters = a}) . _Coerce++instance FromJSON PatchFilterGroup where+        parseJSON+          = withObject "PatchFilterGroup"+              (\ x ->+                 PatchFilterGroup' <$>+                   (x .:? "PatchFilters" .!= mempty))++instance Hashable PatchFilterGroup where++instance NFData PatchFilterGroup where++instance ToJSON PatchFilterGroup where+        toJSON PatchFilterGroup'{..}+          = object+              (catMaybes+                 [Just ("PatchFilters" .= _pfgPatchFilters)])++-- | The mapping between a patch group and the patch baseline the patch group is registered with.+--+--+--+-- /See:/ 'patchGroupPatchBaselineMapping' smart constructor.+data PatchGroupPatchBaselineMapping = PatchGroupPatchBaselineMapping'+  { _pgpbmBaselineIdentity :: !(Maybe PatchBaselineIdentity)+  , _pgpbmPatchGroup       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchGroupPatchBaselineMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgpbmBaselineIdentity' - The patch baseline the patch group is registered with.+--+-- * 'pgpbmPatchGroup' - The name of the patch group registered with the patch baseline.+patchGroupPatchBaselineMapping+    :: PatchGroupPatchBaselineMapping+patchGroupPatchBaselineMapping =+  PatchGroupPatchBaselineMapping'+    {_pgpbmBaselineIdentity = Nothing, _pgpbmPatchGroup = Nothing}+++-- | The patch baseline the patch group is registered with.+pgpbmBaselineIdentity :: Lens' PatchGroupPatchBaselineMapping (Maybe PatchBaselineIdentity)+pgpbmBaselineIdentity = lens _pgpbmBaselineIdentity (\ s a -> s{_pgpbmBaselineIdentity = a})++-- | The name of the patch group registered with the patch baseline.+pgpbmPatchGroup :: Lens' PatchGroupPatchBaselineMapping (Maybe Text)+pgpbmPatchGroup = lens _pgpbmPatchGroup (\ s a -> s{_pgpbmPatchGroup = a})++instance FromJSON PatchGroupPatchBaselineMapping+         where+        parseJSON+          = withObject "PatchGroupPatchBaselineMapping"+              (\ x ->+                 PatchGroupPatchBaselineMapping' <$>+                   (x .:? "BaselineIdentity") <*> (x .:? "PatchGroup"))++instance Hashable PatchGroupPatchBaselineMapping+         where++instance NFData PatchGroupPatchBaselineMapping where++-- | Defines a filter used in Patch Manager APIs.+--+--+--+-- /See:/ 'patchOrchestratorFilter' smart constructor.+data PatchOrchestratorFilter = PatchOrchestratorFilter'+  { _pofValues :: !(Maybe [Text])+  , _pofKey    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchOrchestratorFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pofValues' - The value for the filter.+--+-- * 'pofKey' - The key for the filter.+patchOrchestratorFilter+    :: PatchOrchestratorFilter+patchOrchestratorFilter =+  PatchOrchestratorFilter' {_pofValues = Nothing, _pofKey = Nothing}+++-- | The value for the filter.+pofValues :: Lens' PatchOrchestratorFilter [Text]+pofValues = lens _pofValues (\ s a -> s{_pofValues = a}) . _Default . _Coerce++-- | The key for the filter.+pofKey :: Lens' PatchOrchestratorFilter (Maybe Text)+pofKey = lens _pofKey (\ s a -> s{_pofKey = a})++instance Hashable PatchOrchestratorFilter where++instance NFData PatchOrchestratorFilter where++instance ToJSON PatchOrchestratorFilter where+        toJSON PatchOrchestratorFilter'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _pofValues,+                  ("Key" .=) <$> _pofKey])++-- | Defines an approval rule for a patch baseline.+--+--+--+-- /See:/ 'patchRule' smart constructor.+data PatchRule = PatchRule'+  { _prEnableNonSecurity :: !(Maybe Bool)+  , _prComplianceLevel   :: !(Maybe PatchComplianceLevel)+  , _prPatchFilterGroup  :: !PatchFilterGroup+  , _prApproveAfterDays  :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prEnableNonSecurity' - 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 'false'. Applies to Linux instances only.+--+-- * 'prComplianceLevel' - 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.+--+-- * 'prPatchFilterGroup' - The patch filter group that defines the criteria for the rule.+--+-- * 'prApproveAfterDays' - 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.+patchRule+    :: PatchFilterGroup -- ^ 'prPatchFilterGroup'+    -> Natural -- ^ 'prApproveAfterDays'+    -> PatchRule+patchRule pPatchFilterGroup_ pApproveAfterDays_ =+  PatchRule'+    { _prEnableNonSecurity = Nothing+    , _prComplianceLevel = Nothing+    , _prPatchFilterGroup = pPatchFilterGroup_+    , _prApproveAfterDays = _Nat # pApproveAfterDays_+    }+++-- | 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 'false'. Applies to Linux instances only.+prEnableNonSecurity :: Lens' PatchRule (Maybe Bool)+prEnableNonSecurity = lens _prEnableNonSecurity (\ s a -> s{_prEnableNonSecurity = 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.+prComplianceLevel :: Lens' PatchRule (Maybe PatchComplianceLevel)+prComplianceLevel = lens _prComplianceLevel (\ s a -> s{_prComplianceLevel = a})++-- | The patch filter group that defines the criteria for the rule.+prPatchFilterGroup :: Lens' PatchRule PatchFilterGroup+prPatchFilterGroup = lens _prPatchFilterGroup (\ s a -> s{_prPatchFilterGroup = 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.+prApproveAfterDays :: Lens' PatchRule Natural+prApproveAfterDays = lens _prApproveAfterDays (\ s a -> s{_prApproveAfterDays = a}) . _Nat++instance FromJSON PatchRule where+        parseJSON+          = withObject "PatchRule"+              (\ x ->+                 PatchRule' <$>+                   (x .:? "EnableNonSecurity") <*>+                     (x .:? "ComplianceLevel")+                     <*> (x .: "PatchFilterGroup")+                     <*> (x .: "ApproveAfterDays"))++instance Hashable PatchRule where++instance NFData PatchRule where++instance ToJSON PatchRule where+        toJSON PatchRule'{..}+          = object+              (catMaybes+                 [("EnableNonSecurity" .=) <$> _prEnableNonSecurity,+                  ("ComplianceLevel" .=) <$> _prComplianceLevel,+                  Just ("PatchFilterGroup" .= _prPatchFilterGroup),+                  Just ("ApproveAfterDays" .= _prApproveAfterDays)])++-- | A set of rules defining the approval rules for a patch baseline.+--+--+--+-- /See:/ 'patchRuleGroup' smart constructor.+newtype PatchRuleGroup = PatchRuleGroup'+  { _prgPatchRules :: [PatchRule]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchRuleGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prgPatchRules' - The rules that make up the rule group.+patchRuleGroup+    :: PatchRuleGroup+patchRuleGroup = PatchRuleGroup' {_prgPatchRules = mempty}+++-- | The rules that make up the rule group.+prgPatchRules :: Lens' PatchRuleGroup [PatchRule]+prgPatchRules = lens _prgPatchRules (\ s a -> s{_prgPatchRules = a}) . _Coerce++instance FromJSON PatchRuleGroup where+        parseJSON+          = withObject "PatchRuleGroup"+              (\ x ->+                 PatchRuleGroup' <$> (x .:? "PatchRules" .!= mempty))++instance Hashable PatchRuleGroup where++instance NFData PatchRuleGroup where++instance ToJSON PatchRuleGroup where+        toJSON PatchRuleGroup'{..}+          = object+              (catMaybes [Just ("PatchRules" .= _prgPatchRules)])++-- | Information about the patches to use to update the instances, including target operating systems and source repository. Applies to Linux instances only.+--+--+--+-- /See:/ 'patchSource' smart constructor.+data PatchSource = PatchSource'+  { _psName          :: !Text+  , _psProducts      :: !(List1 Text)+  , _psConfiguration :: !(Sensitive Text)+  } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psName' - The name specified to identify the patch source.+--+-- * 'psProducts' - 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 'PatchFilter' .+--+-- * 'psConfiguration' - The value of the yum repo configuration. For example: @cachedir=/var/cache/yum/$basesearch@  @> releasever@  @keepcache=0@  @debualevel=2@+patchSource+    :: Text -- ^ 'psName'+    -> NonEmpty Text -- ^ 'psProducts'+    -> Text -- ^ 'psConfiguration'+    -> PatchSource+patchSource pName_ pProducts_ pConfiguration_ =+  PatchSource'+    { _psName = pName_+    , _psProducts = _List1 # pProducts_+    , _psConfiguration = _Sensitive # pConfiguration_+    }+++-- | The name specified to identify the patch source.+psName :: Lens' PatchSource Text+psName = lens _psName (\ s a -> s{_psName = 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 'PatchFilter' .+psProducts :: Lens' PatchSource (NonEmpty Text)+psProducts = lens _psProducts (\ s a -> s{_psProducts = a}) . _List1++-- | The value of the yum repo configuration. For example: @cachedir=/var/cache/yum/$basesearch@  @> releasever@  @keepcache=0@  @debualevel=2@+psConfiguration :: Lens' PatchSource Text+psConfiguration = lens _psConfiguration (\ s a -> s{_psConfiguration = a}) . _Sensitive++instance FromJSON PatchSource where+        parseJSON+          = withObject "PatchSource"+              (\ x ->+                 PatchSource' <$>+                   (x .: "Name") <*> (x .: "Products") <*>+                     (x .: "Configuration"))++instance Hashable PatchSource where++instance NFData PatchSource where++instance ToJSON PatchSource where+        toJSON PatchSource'{..}+          = object+              (catMaybes+                 [Just ("Name" .= _psName),+                  Just ("Products" .= _psProducts),+                  Just ("Configuration" .= _psConfiguration)])++-- | Information about the approval status of a patch.+--+--+--+-- /See:/ 'patchStatus' smart constructor.+data PatchStatus = PatchStatus'+  { _psApprovalDate     :: !(Maybe POSIX)+  , _psDeploymentStatus :: !(Maybe PatchDeploymentStatus)+  , _psComplianceLevel  :: !(Maybe PatchComplianceLevel)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PatchStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psApprovalDate' - The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).+--+-- * 'psDeploymentStatus' - The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).+--+-- * 'psComplianceLevel' - The compliance severity level for a patch.+patchStatus+    :: PatchStatus+patchStatus =+  PatchStatus'+    { _psApprovalDate = Nothing+    , _psDeploymentStatus = Nothing+    , _psComplianceLevel = Nothing+    }+++-- | The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).+psApprovalDate :: Lens' PatchStatus (Maybe UTCTime)+psApprovalDate = lens _psApprovalDate (\ s a -> s{_psApprovalDate = a}) . mapping _Time++-- | The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).+psDeploymentStatus :: Lens' PatchStatus (Maybe PatchDeploymentStatus)+psDeploymentStatus = lens _psDeploymentStatus (\ s a -> s{_psDeploymentStatus = a})++-- | The compliance severity level for a patch.+psComplianceLevel :: Lens' PatchStatus (Maybe PatchComplianceLevel)+psComplianceLevel = lens _psComplianceLevel (\ s a -> s{_psComplianceLevel = a})++instance FromJSON PatchStatus where+        parseJSON+          = withObject "PatchStatus"+              (\ x ->+                 PatchStatus' <$>+                   (x .:? "ApprovalDate") <*> (x .:? "DeploymentStatus")+                     <*> (x .:? "ComplianceLevel"))++instance Hashable PatchStatus where++instance NFData PatchStatus where++-- | Information about targets that resolved during the Automation execution.+--+--+--+-- /See:/ 'resolvedTargets' smart constructor.+data ResolvedTargets = ResolvedTargets'+  { _rtTruncated       :: !(Maybe Bool)+  , _rtParameterValues :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResolvedTargets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtTruncated' - A boolean value indicating whether the resolved target list is truncated.+--+-- * 'rtParameterValues' - A list of parameter values sent to targets that resolved during the Automation execution.+resolvedTargets+    :: ResolvedTargets+resolvedTargets =+  ResolvedTargets' {_rtTruncated = Nothing, _rtParameterValues = Nothing}+++-- | A boolean value indicating whether the resolved target list is truncated.+rtTruncated :: Lens' ResolvedTargets (Maybe Bool)+rtTruncated = lens _rtTruncated (\ s a -> s{_rtTruncated = a})++-- | A list of parameter values sent to targets that resolved during the Automation execution.+rtParameterValues :: Lens' ResolvedTargets [Text]+rtParameterValues = lens _rtParameterValues (\ s a -> s{_rtParameterValues = a}) . _Default . _Coerce++instance FromJSON ResolvedTargets where+        parseJSON+          = withObject "ResolvedTargets"+              (\ x ->+                 ResolvedTargets' <$>+                   (x .:? "Truncated") <*>+                     (x .:? "ParameterValues" .!= mempty))++instance Hashable ResolvedTargets where++instance NFData ResolvedTargets where++-- | Compliance summary information for a specific resource.+--+--+--+-- /See:/ 'resourceComplianceSummaryItem' smart constructor.+data ResourceComplianceSummaryItem = ResourceComplianceSummaryItem'+  { _rcsiNonCompliantSummary :: !(Maybe NonCompliantSummary)+  , _rcsiStatus              :: !(Maybe ComplianceStatus)+  , _rcsiResourceId          :: !(Maybe Text)+  , _rcsiResourceType        :: !(Maybe Text)+  , _rcsiCompliantSummary    :: !(Maybe CompliantSummary)+  , _rcsiExecutionSummary    :: !(Maybe ComplianceExecutionSummary)+  , _rcsiOverallSeverity     :: !(Maybe ComplianceSeverity)+  , _rcsiComplianceType      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceComplianceSummaryItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcsiNonCompliantSummary' - A list of items that aren't compliant for the resource.+--+-- * 'rcsiStatus' - The compliance status for the resource.+--+-- * 'rcsiResourceId' - The resource ID.+--+-- * 'rcsiResourceType' - The resource type.+--+-- * 'rcsiCompliantSummary' - A list of items that are compliant for the resource.+--+-- * 'rcsiExecutionSummary' - Information about the execution.+--+-- * 'rcsiOverallSeverity' - The highest severity item found for the resource. The resource is compliant for this item.+--+-- * 'rcsiComplianceType' - The compliance type.+resourceComplianceSummaryItem+    :: ResourceComplianceSummaryItem+resourceComplianceSummaryItem =+  ResourceComplianceSummaryItem'+    { _rcsiNonCompliantSummary = Nothing+    , _rcsiStatus = Nothing+    , _rcsiResourceId = Nothing+    , _rcsiResourceType = Nothing+    , _rcsiCompliantSummary = Nothing+    , _rcsiExecutionSummary = Nothing+    , _rcsiOverallSeverity = Nothing+    , _rcsiComplianceType = Nothing+    }+++-- | A list of items that aren't compliant for the resource.+rcsiNonCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe NonCompliantSummary)+rcsiNonCompliantSummary = lens _rcsiNonCompliantSummary (\ s a -> s{_rcsiNonCompliantSummary = a})++-- | The compliance status for the resource.+rcsiStatus :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceStatus)+rcsiStatus = lens _rcsiStatus (\ s a -> s{_rcsiStatus = a})++-- | The resource ID.+rcsiResourceId :: Lens' ResourceComplianceSummaryItem (Maybe Text)+rcsiResourceId = lens _rcsiResourceId (\ s a -> s{_rcsiResourceId = a})++-- | The resource type.+rcsiResourceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)+rcsiResourceType = lens _rcsiResourceType (\ s a -> s{_rcsiResourceType = a})++-- | A list of items that are compliant for the resource.+rcsiCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe CompliantSummary)+rcsiCompliantSummary = lens _rcsiCompliantSummary (\ s a -> s{_rcsiCompliantSummary = a})++-- | Information about the execution.+rcsiExecutionSummary :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceExecutionSummary)+rcsiExecutionSummary = lens _rcsiExecutionSummary (\ s a -> s{_rcsiExecutionSummary = a})++-- | The highest severity item found for the resource. The resource is compliant for this item.+rcsiOverallSeverity :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceSeverity)+rcsiOverallSeverity = lens _rcsiOverallSeverity (\ s a -> s{_rcsiOverallSeverity = a})++-- | The compliance type.+rcsiComplianceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)+rcsiComplianceType = lens _rcsiComplianceType (\ s a -> s{_rcsiComplianceType = a})++instance FromJSON ResourceComplianceSummaryItem where+        parseJSON+          = withObject "ResourceComplianceSummaryItem"+              (\ x ->+                 ResourceComplianceSummaryItem' <$>+                   (x .:? "NonCompliantSummary") <*> (x .:? "Status")+                     <*> (x .:? "ResourceId")+                     <*> (x .:? "ResourceType")+                     <*> (x .:? "CompliantSummary")+                     <*> (x .:? "ExecutionSummary")+                     <*> (x .:? "OverallSeverity")+                     <*> (x .:? "ComplianceType"))++instance Hashable ResourceComplianceSummaryItem where++instance NFData ResourceComplianceSummaryItem where++-- | Information about a Resource Data Sync configuration, including its current status and last successful sync.+--+--+--+-- /See:/ 'resourceDataSyncItem' smart constructor.+data ResourceDataSyncItem = ResourceDataSyncItem'+  { _rdsiLastSyncStatusMessage  :: !(Maybe Text)+  , _rdsiSyncCreatedTime        :: !(Maybe POSIX)+  , _rdsiLastSyncTime           :: !(Maybe POSIX)+  , _rdsiSyncName               :: !(Maybe Text)+  , _rdsiLastStatus             :: !(Maybe LastResourceDataSyncStatus)+  , _rdsiS3Destination          :: !(Maybe ResourceDataSyncS3Destination)+  , _rdsiLastSuccessfulSyncTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceDataSyncItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdsiLastSyncStatusMessage' - The status message details reported by the last sync.+--+-- * 'rdsiSyncCreatedTime' - The date and time the configuration was created (UTC).+--+-- * 'rdsiLastSyncTime' - The last time the configuration attempted to sync (UTC).+--+-- * 'rdsiSyncName' - The name of the Resource Data Sync.+--+-- * 'rdsiLastStatus' - The status reported by the last sync.+--+-- * 'rdsiS3Destination' - Configuration information for the target Amazon S3 bucket.+--+-- * 'rdsiLastSuccessfulSyncTime' - The last time the sync operations returned a status of @SUCCESSFUL@ (UTC).+resourceDataSyncItem+    :: ResourceDataSyncItem+resourceDataSyncItem =+  ResourceDataSyncItem'+    { _rdsiLastSyncStatusMessage = Nothing+    , _rdsiSyncCreatedTime = Nothing+    , _rdsiLastSyncTime = Nothing+    , _rdsiSyncName = Nothing+    , _rdsiLastStatus = Nothing+    , _rdsiS3Destination = Nothing+    , _rdsiLastSuccessfulSyncTime = Nothing+    }+++-- | The status message details reported by the last sync.+rdsiLastSyncStatusMessage :: Lens' ResourceDataSyncItem (Maybe Text)+rdsiLastSyncStatusMessage = lens _rdsiLastSyncStatusMessage (\ s a -> s{_rdsiLastSyncStatusMessage = a})++-- | The date and time the configuration was created (UTC).+rdsiSyncCreatedTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)+rdsiSyncCreatedTime = lens _rdsiSyncCreatedTime (\ s a -> s{_rdsiSyncCreatedTime = a}) . mapping _Time++-- | The last time the configuration attempted to sync (UTC).+rdsiLastSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)+rdsiLastSyncTime = lens _rdsiLastSyncTime (\ s a -> s{_rdsiLastSyncTime = a}) . mapping _Time++-- | The name of the Resource Data Sync.+rdsiSyncName :: Lens' ResourceDataSyncItem (Maybe Text)+rdsiSyncName = lens _rdsiSyncName (\ s a -> s{_rdsiSyncName = a})++-- | The status reported by the last sync.+rdsiLastStatus :: Lens' ResourceDataSyncItem (Maybe LastResourceDataSyncStatus)+rdsiLastStatus = lens _rdsiLastStatus (\ s a -> s{_rdsiLastStatus = a})++-- | Configuration information for the target Amazon S3 bucket.+rdsiS3Destination :: Lens' ResourceDataSyncItem (Maybe ResourceDataSyncS3Destination)+rdsiS3Destination = lens _rdsiS3Destination (\ s a -> s{_rdsiS3Destination = a})++-- | The last time the sync operations returned a status of @SUCCESSFUL@ (UTC).+rdsiLastSuccessfulSyncTime :: Lens' ResourceDataSyncItem (Maybe UTCTime)+rdsiLastSuccessfulSyncTime = lens _rdsiLastSuccessfulSyncTime (\ s a -> s{_rdsiLastSuccessfulSyncTime = a}) . mapping _Time++instance FromJSON ResourceDataSyncItem where+        parseJSON+          = withObject "ResourceDataSyncItem"+              (\ x ->+                 ResourceDataSyncItem' <$>+                   (x .:? "LastSyncStatusMessage") <*>+                     (x .:? "SyncCreatedTime")+                     <*> (x .:? "LastSyncTime")+                     <*> (x .:? "SyncName")+                     <*> (x .:? "LastStatus")+                     <*> (x .:? "S3Destination")+                     <*> (x .:? "LastSuccessfulSyncTime"))++instance Hashable ResourceDataSyncItem where++instance NFData ResourceDataSyncItem where++-- | Information about the target Amazon S3 bucket for the Resource Data Sync.+--+--+--+-- /See:/ 'resourceDataSyncS3Destination' smart constructor.+data ResourceDataSyncS3Destination = ResourceDataSyncS3Destination'+  { _rdssdPrefix       :: !(Maybe Text)+  , _rdssdAWSKMSKeyARN :: !(Maybe Text)+  , _rdssdBucketName   :: !Text+  , _rdssdSyncFormat   :: !ResourceDataSyncS3Format+  , _rdssdRegion       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceDataSyncS3Destination' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdssdPrefix' - An Amazon S3 prefix for the bucket.+--+-- * 'rdssdAWSKMSKeyARN' - The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket.+--+-- * 'rdssdBucketName' - The name of the Amazon S3 bucket where the aggregated data is stored.+--+-- * 'rdssdSyncFormat' - A supported sync format. The following format is currently supported: JsonSerDe+--+-- * 'rdssdRegion' - The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.+resourceDataSyncS3Destination+    :: Text -- ^ 'rdssdBucketName'+    -> ResourceDataSyncS3Format -- ^ 'rdssdSyncFormat'+    -> Text -- ^ 'rdssdRegion'+    -> ResourceDataSyncS3Destination+resourceDataSyncS3Destination pBucketName_ pSyncFormat_ pRegion_ =+  ResourceDataSyncS3Destination'+    { _rdssdPrefix = Nothing+    , _rdssdAWSKMSKeyARN = Nothing+    , _rdssdBucketName = pBucketName_+    , _rdssdSyncFormat = pSyncFormat_+    , _rdssdRegion = pRegion_+    }+++-- | An Amazon S3 prefix for the bucket.+rdssdPrefix :: Lens' ResourceDataSyncS3Destination (Maybe Text)+rdssdPrefix = lens _rdssdPrefix (\ s a -> s{_rdssdPrefix = 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.+rdssdAWSKMSKeyARN :: Lens' ResourceDataSyncS3Destination (Maybe Text)+rdssdAWSKMSKeyARN = lens _rdssdAWSKMSKeyARN (\ s a -> s{_rdssdAWSKMSKeyARN = a})++-- | The name of the Amazon S3 bucket where the aggregated data is stored.+rdssdBucketName :: Lens' ResourceDataSyncS3Destination Text+rdssdBucketName = lens _rdssdBucketName (\ s a -> s{_rdssdBucketName = a})++-- | A supported sync format. The following format is currently supported: JsonSerDe+rdssdSyncFormat :: Lens' ResourceDataSyncS3Destination ResourceDataSyncS3Format+rdssdSyncFormat = lens _rdssdSyncFormat (\ s a -> s{_rdssdSyncFormat = a})++-- | The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.+rdssdRegion :: Lens' ResourceDataSyncS3Destination Text+rdssdRegion = lens _rdssdRegion (\ s a -> s{_rdssdRegion = a})++instance FromJSON ResourceDataSyncS3Destination where+        parseJSON+          = withObject "ResourceDataSyncS3Destination"+              (\ x ->+                 ResourceDataSyncS3Destination' <$>+                   (x .:? "Prefix") <*> (x .:? "AWSKMSKeyARN") <*>+                     (x .: "BucketName")+                     <*> (x .: "SyncFormat")+                     <*> (x .: "Region"))++instance Hashable ResourceDataSyncS3Destination where++instance NFData ResourceDataSyncS3Destination where++instance ToJSON ResourceDataSyncS3Destination where+        toJSON ResourceDataSyncS3Destination'{..}+          = object+              (catMaybes+                 [("Prefix" .=) <$> _rdssdPrefix,+                  ("AWSKMSKeyARN" .=) <$> _rdssdAWSKMSKeyARN,+                  Just ("BucketName" .= _rdssdBucketName),+                  Just ("SyncFormat" .= _rdssdSyncFormat),+                  Just ("Region" .= _rdssdRegion)])++-- | The inventory item result attribute.+--+--+--+-- /See:/ 'resultAttribute' smart constructor.+newtype ResultAttribute = ResultAttribute'+  { _raTypeName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResultAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raTypeName' - Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.+resultAttribute+    :: Text -- ^ 'raTypeName'+    -> ResultAttribute+resultAttribute pTypeName_ = ResultAttribute' {_raTypeName = pTypeName_}+++-- | Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.+raTypeName :: Lens' ResultAttribute Text+raTypeName = lens _raTypeName (\ s a -> s{_raTypeName = a})++instance Hashable ResultAttribute where++instance NFData ResultAttribute where++instance ToJSON ResultAttribute where+        toJSON ResultAttribute'{..}+          = object+              (catMaybes [Just ("TypeName" .= _raTypeName)])++-- | An Amazon S3 bucket where you want to store the results of this request.+--+--+--+-- /See:/ 's3OutputLocation' smart constructor.+data S3OutputLocation = S3OutputLocation'+  { _solOutputS3KeyPrefix  :: !(Maybe Text)+  , _solOutputS3Region     :: !(Maybe Text)+  , _solOutputS3BucketName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3OutputLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'solOutputS3KeyPrefix' - The Amazon S3 bucket subfolder.+--+-- * 'solOutputS3Region' - (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.+--+-- * 'solOutputS3BucketName' - The name of the Amazon S3 bucket.+s3OutputLocation+    :: S3OutputLocation+s3OutputLocation =+  S3OutputLocation'+    { _solOutputS3KeyPrefix = Nothing+    , _solOutputS3Region = Nothing+    , _solOutputS3BucketName = Nothing+    }+++-- | The Amazon S3 bucket subfolder.+solOutputS3KeyPrefix :: Lens' S3OutputLocation (Maybe Text)+solOutputS3KeyPrefix = lens _solOutputS3KeyPrefix (\ s a -> s{_solOutputS3KeyPrefix = a})++-- | (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)+solOutputS3Region = lens _solOutputS3Region (\ s a -> s{_solOutputS3Region = a})++-- | The name of the Amazon S3 bucket.+solOutputS3BucketName :: Lens' S3OutputLocation (Maybe Text)+solOutputS3BucketName = lens _solOutputS3BucketName (\ s a -> s{_solOutputS3BucketName = a})++instance FromJSON S3OutputLocation where+        parseJSON+          = withObject "S3OutputLocation"+              (\ x ->+                 S3OutputLocation' <$>+                   (x .:? "OutputS3KeyPrefix") <*>+                     (x .:? "OutputS3Region")+                     <*> (x .:? "OutputS3BucketName"))++instance Hashable S3OutputLocation where++instance NFData S3OutputLocation where++instance ToJSON S3OutputLocation where+        toJSON S3OutputLocation'{..}+          = object+              (catMaybes+                 [("OutputS3KeyPrefix" .=) <$> _solOutputS3KeyPrefix,+                  ("OutputS3Region" .=) <$> _solOutputS3Region,+                  ("OutputS3BucketName" .=) <$>+                    _solOutputS3BucketName])++-- | A URL for the Amazon S3 bucket where you want to store the results of this request.+--+--+--+-- /See:/ 's3OutputURL' smart constructor.+newtype S3OutputURL = S3OutputURL'+  { _souOutputURL :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3OutputURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'souOutputURL' - A URL for an Amazon S3 bucket where you want to store the results of this request.+s3OutputURL+    :: S3OutputURL+s3OutputURL = S3OutputURL' {_souOutputURL = Nothing}+++-- | A URL for an Amazon S3 bucket where you want to store the results of this request.+souOutputURL :: Lens' S3OutputURL (Maybe Text)+souOutputURL = lens _souOutputURL (\ s a -> s{_souOutputURL = a})++instance FromJSON S3OutputURL where+        parseJSON+          = withObject "S3OutputURL"+              (\ x -> S3OutputURL' <$> (x .:? "OutputUrl"))++instance Hashable S3OutputURL where++instance NFData S3OutputURL where++-- | The number of managed instances found for each patch severity level defined in the request filter.+--+--+--+-- /See:/ 'severitySummary' smart constructor.+data SeveritySummary = SeveritySummary'+  { _ssLowCount           :: !(Maybe Int)+  , _ssUnspecifiedCount   :: !(Maybe Int)+  , _ssHighCount          :: !(Maybe Int)+  , _ssMediumCount        :: !(Maybe Int)+  , _ssInformationalCount :: !(Maybe Int)+  , _ssCriticalCount      :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SeveritySummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssLowCount' - 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.+--+-- * 'ssUnspecifiedCount' - 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.+--+-- * 'ssHighCount' - 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.+--+-- * 'ssMediumCount' - 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.+--+-- * 'ssInformationalCount' - 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.+--+-- * 'ssCriticalCount' - 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.+severitySummary+    :: SeveritySummary+severitySummary =+  SeveritySummary'+    { _ssLowCount = Nothing+    , _ssUnspecifiedCount = Nothing+    , _ssHighCount = Nothing+    , _ssMediumCount = Nothing+    , _ssInformationalCount = Nothing+    , _ssCriticalCount = Nothing+    }+++-- | 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)+ssLowCount = lens _ssLowCount (\ s a -> s{_ssLowCount = 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.+ssUnspecifiedCount :: Lens' SeveritySummary (Maybe Int)+ssUnspecifiedCount = lens _ssUnspecifiedCount (\ s a -> s{_ssUnspecifiedCount = 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.+ssHighCount :: Lens' SeveritySummary (Maybe Int)+ssHighCount = lens _ssHighCount (\ s a -> s{_ssHighCount = 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.+ssMediumCount :: Lens' SeveritySummary (Maybe Int)+ssMediumCount = lens _ssMediumCount (\ s a -> s{_ssMediumCount = 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.+ssInformationalCount :: Lens' SeveritySummary (Maybe Int)+ssInformationalCount = lens _ssInformationalCount (\ s a -> s{_ssInformationalCount = 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.+ssCriticalCount :: Lens' SeveritySummary (Maybe Int)+ssCriticalCount = lens _ssCriticalCount (\ s a -> s{_ssCriticalCount = a})++instance FromJSON SeveritySummary where+        parseJSON+          = withObject "SeveritySummary"+              (\ x ->+                 SeveritySummary' <$>+                   (x .:? "LowCount") <*> (x .:? "UnspecifiedCount") <*>+                     (x .:? "HighCount")+                     <*> (x .:? "MediumCount")+                     <*> (x .:? "InformationalCount")+                     <*> (x .:? "CriticalCount"))++instance Hashable SeveritySummary where++instance NFData SeveritySummary where++-- | Detailed information about an the execution state of an Automation step.+--+--+--+-- /See:/ 'stepExecution' smart constructor.+data StepExecution = StepExecution'+  { _seFailureDetails       :: !(Maybe FailureDetails)+  , _seInputs               :: !(Maybe (Map Text Text))+  , _seStepName             :: !(Maybe Text)+  , _seExecutionEndTime     :: !(Maybe POSIX)+  , _seFailureMessage       :: !(Maybe Text)+  , _seResponse             :: !(Maybe Text)+  , _seAction               :: !(Maybe Text)+  , _seResponseCode         :: !(Maybe Text)+  , _seStepStatus           :: !(Maybe AutomationExecutionStatus)+  , _seOverriddenParameters :: !(Maybe (Map Text [Text]))+  , _seOutputs              :: !(Maybe (Map Text [Text]))+  , _seExecutionStartTime   :: !(Maybe POSIX)+  , _seMaxAttempts          :: !(Maybe Int)+  , _seStepExecutionId      :: !(Maybe Text)+  , _seTimeoutSeconds       :: !(Maybe Integer)+  , _seOnFailure            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StepExecution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'seFailureDetails' - Information about the Automation failure.+--+-- * 'seInputs' - Fully-resolved values passed into the step before execution.+--+-- * 'seStepName' - The name of this execution step.+--+-- * 'seExecutionEndTime' - 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.+--+-- * 'seFailureMessage' - If a step failed, this message explains why the execution failed.+--+-- * 'seResponse' - A message associated with the response code for an execution.+--+-- * 'seAction' - The action this step performs. The action determines the behavior of the step.+--+-- * 'seResponseCode' - The response code returned by the execution of the step.+--+-- * 'seStepStatus' - The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.+--+-- * 'seOverriddenParameters' - A user-specified list of parameters to override when executing a step.+--+-- * 'seOutputs' - Returned values from the execution of the step.+--+-- * 'seExecutionStartTime' - 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.+--+-- * 'seMaxAttempts' - The maximum number of tries to run the action of the step. The default value is 1.+--+-- * 'seStepExecutionId' - The unique ID of a step execution.+--+-- * 'seTimeoutSeconds' - The timeout seconds of the step.+--+-- * 'seOnFailure' - The action to take if the step fails. The default value is Abort.+stepExecution+    :: StepExecution+stepExecution =+  StepExecution'+    { _seFailureDetails = Nothing+    , _seInputs = Nothing+    , _seStepName = Nothing+    , _seExecutionEndTime = Nothing+    , _seFailureMessage = Nothing+    , _seResponse = Nothing+    , _seAction = Nothing+    , _seResponseCode = Nothing+    , _seStepStatus = Nothing+    , _seOverriddenParameters = Nothing+    , _seOutputs = Nothing+    , _seExecutionStartTime = Nothing+    , _seMaxAttempts = Nothing+    , _seStepExecutionId = Nothing+    , _seTimeoutSeconds = Nothing+    , _seOnFailure = Nothing+    }+++-- | Information about the Automation failure.+seFailureDetails :: Lens' StepExecution (Maybe FailureDetails)+seFailureDetails = lens _seFailureDetails (\ s a -> s{_seFailureDetails = a})++-- | Fully-resolved values passed into the step before execution.+seInputs :: Lens' StepExecution (HashMap Text Text)+seInputs = lens _seInputs (\ s a -> s{_seInputs = a}) . _Default . _Map++-- | The name of this execution step.+seStepName :: Lens' StepExecution (Maybe Text)+seStepName = lens _seStepName (\ s a -> s{_seStepName = 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.+seExecutionEndTime :: Lens' StepExecution (Maybe UTCTime)+seExecutionEndTime = lens _seExecutionEndTime (\ s a -> s{_seExecutionEndTime = a}) . mapping _Time++-- | If a step failed, this message explains why the execution failed.+seFailureMessage :: Lens' StepExecution (Maybe Text)+seFailureMessage = lens _seFailureMessage (\ s a -> s{_seFailureMessage = a})++-- | A message associated with the response code for an execution.+seResponse :: Lens' StepExecution (Maybe Text)+seResponse = lens _seResponse (\ s a -> s{_seResponse = a})++-- | The action this step performs. The action determines the behavior of the step.+seAction :: Lens' StepExecution (Maybe Text)+seAction = lens _seAction (\ s a -> s{_seAction = a})++-- | The response code returned by the execution of the step.+seResponseCode :: Lens' StepExecution (Maybe Text)+seResponseCode = lens _seResponseCode (\ s a -> s{_seResponseCode = a})++-- | The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.+seStepStatus :: Lens' StepExecution (Maybe AutomationExecutionStatus)+seStepStatus = lens _seStepStatus (\ s a -> s{_seStepStatus = a})++-- | A user-specified list of parameters to override when executing a step.+seOverriddenParameters :: Lens' StepExecution (HashMap Text [Text])+seOverriddenParameters = lens _seOverriddenParameters (\ s a -> s{_seOverriddenParameters = a}) . _Default . _Map++-- | Returned values from the execution of the step.+seOutputs :: Lens' StepExecution (HashMap Text [Text])+seOutputs = lens _seOutputs (\ s a -> s{_seOutputs = a}) . _Default . _Map++-- | 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)+seExecutionStartTime = lens _seExecutionStartTime (\ s a -> s{_seExecutionStartTime = a}) . mapping _Time++-- | The maximum number of tries to run the action of the step. The default value is 1.+seMaxAttempts :: Lens' StepExecution (Maybe Int)+seMaxAttempts = lens _seMaxAttempts (\ s a -> s{_seMaxAttempts = a})++-- | The unique ID of a step execution.+seStepExecutionId :: Lens' StepExecution (Maybe Text)+seStepExecutionId = lens _seStepExecutionId (\ s a -> s{_seStepExecutionId = a})++-- | The timeout seconds of the step.+seTimeoutSeconds :: Lens' StepExecution (Maybe Integer)+seTimeoutSeconds = lens _seTimeoutSeconds (\ s a -> s{_seTimeoutSeconds = a})++-- | The action to take if the step fails. The default value is Abort.+seOnFailure :: Lens' StepExecution (Maybe Text)+seOnFailure = lens _seOnFailure (\ s a -> s{_seOnFailure = a})++instance FromJSON StepExecution where+        parseJSON+          = withObject "StepExecution"+              (\ x ->+                 StepExecution' <$>+                   (x .:? "FailureDetails") <*>+                     (x .:? "Inputs" .!= mempty)+                     <*> (x .:? "StepName")+                     <*> (x .:? "ExecutionEndTime")+                     <*> (x .:? "FailureMessage")+                     <*> (x .:? "Response")+                     <*> (x .:? "Action")+                     <*> (x .:? "ResponseCode")+                     <*> (x .:? "StepStatus")+                     <*> (x .:? "OverriddenParameters" .!= mempty)+                     <*> (x .:? "Outputs" .!= mempty)+                     <*> (x .:? "ExecutionStartTime")+                     <*> (x .:? "MaxAttempts")+                     <*> (x .:? "StepExecutionId")+                     <*> (x .:? "TimeoutSeconds")+                     <*> (x .:? "OnFailure"))++instance Hashable StepExecution where++instance NFData StepExecution where++-- | A filter to limit the amount of step execution information returned by the call.+--+--+--+-- /See:/ 'stepExecutionFilter' smart constructor.+data StepExecutionFilter = StepExecutionFilter'+  { _sefKey    :: !StepExecutionFilterKey+  , _sefValues :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StepExecutionFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sefKey' - One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter.+--+-- * 'sefValues' - The values of the filter key.+stepExecutionFilter+    :: StepExecutionFilterKey -- ^ 'sefKey'+    -> NonEmpty Text -- ^ 'sefValues'+    -> StepExecutionFilter+stepExecutionFilter pKey_ pValues_ =+  StepExecutionFilter' {_sefKey = pKey_, _sefValues = _List1 # pValues_}+++-- | One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter.+sefKey :: Lens' StepExecutionFilter StepExecutionFilterKey+sefKey = lens _sefKey (\ s a -> s{_sefKey = a})++-- | The values of the filter key.+sefValues :: Lens' StepExecutionFilter (NonEmpty Text)+sefValues = lens _sefValues (\ s a -> s{_sefValues = a}) . _List1++instance Hashable StepExecutionFilter where++instance NFData StepExecutionFilter where++instance ToJSON StepExecutionFilter where+        toJSON StepExecutionFilter'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _sefKey),+                  Just ("Values" .= _sefValues)])++-- | 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.+--+--+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+  { _tagKey   :: !Text+  , _tagValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagKey' - The name of the tag.+--+-- * 'tagValue' - The value of the tag.+tag+    :: Text -- ^ 'tagKey'+    -> Text -- ^ 'tagValue'+    -> Tag+tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}+++-- | The name of the tag.+tagKey :: Lens' Tag Text+tagKey = lens _tagKey (\ s a -> s{_tagKey = a})++-- | The value of the tag.+tagValue :: Lens' Tag Text+tagValue = lens _tagValue (\ s a -> s{_tagValue = a})++instance FromJSON Tag where+        parseJSON+          = withObject "Tag"+              (\ x -> Tag' <$> (x .: "Key") <*> (x .: "Value"))++instance Hashable Tag where++instance NFData Tag where++instance ToJSON Tag where+        toJSON Tag'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _tagKey),+                  Just ("Value" .= _tagValue)])++-- | 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.+--+--+--+--+--+-- /See:/ 'target' smart constructor.+data Target = Target'+  { _tValues :: !(Maybe [Text])+  , _tKey    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Target' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tValues' - 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .+--+-- * 'tKey' - User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .+target+    :: Target+target = Target' {_tValues = Nothing, _tKey = Nothing}+++-- | 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 <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .+tValues :: Lens' Target [Text]+tValues = lens _tValues (\ s a -> s{_tValues = a}) . _Default . _Coerce++-- | User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html Executing a Command Using Systems Manager Run Command> .+tKey :: Lens' Target (Maybe Text)+tKey = lens _tKey (\ s a -> s{_tKey = a})  instance FromJSON Target where         parseJSON
gen/Network/AWS/SSM/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.SSM.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -95,22 +95,37 @@     parseJSON = parseJSONText "AssociationStatusName"  data AutomationExecutionFilterKey-  = DocumentNamePrefix-  | ExecutionStatus+  = AEFKCurrentAction+  | AEFKDocumentNamePrefix+  | AEFKExecutionId+  | AEFKExecutionStatus+  | AEFKParentExecutionId+  | AEFKStartTimeAfter+  | AEFKStartTimeBefore   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText AutomationExecutionFilterKey where     parser = takeLowerText >>= \case-        "documentnameprefix" -> pure DocumentNamePrefix-        "executionstatus" -> pure ExecutionStatus+        "currentaction" -> pure AEFKCurrentAction+        "documentnameprefix" -> pure AEFKDocumentNamePrefix+        "executionid" -> pure AEFKExecutionId+        "executionstatus" -> pure AEFKExecutionStatus+        "parentexecutionid" -> pure AEFKParentExecutionId+        "starttimeafter" -> pure AEFKStartTimeAfter+        "starttimebefore" -> pure AEFKStartTimeBefore         e -> fromTextError $ "Failure parsing AutomationExecutionFilterKey from value: '" <> e-           <> "'. Accepted values: documentnameprefix, executionstatus"+           <> "'. Accepted values: currentaction, documentnameprefix, executionid, executionstatus, parentexecutionid, starttimeafter, starttimebefore"  instance ToText AutomationExecutionFilterKey where     toText = \case-        DocumentNamePrefix -> "DocumentNamePrefix"-        ExecutionStatus -> "ExecutionStatus"+        AEFKCurrentAction -> "CurrentAction"+        AEFKDocumentNamePrefix -> "DocumentNamePrefix"+        AEFKExecutionId -> "ExecutionId"+        AEFKExecutionStatus -> "ExecutionStatus"+        AEFKParentExecutionId -> "ParentExecutionId"+        AEFKStartTimeAfter -> "StartTimeAfter"+        AEFKStartTimeBefore -> "StartTimeBefore"  instance Hashable     AutomationExecutionFilterKey instance NFData       AutomationExecutionFilterKey@@ -123,6 +138,7 @@  data AutomationExecutionStatus   = AESCancelled+  | AESCancelling   | AESFailed   | AESInProgress   | AESPending@@ -135,6 +151,7 @@ instance FromText AutomationExecutionStatus where     parser = takeLowerText >>= \case         "cancelled" -> pure AESCancelled+        "cancelling" -> pure AESCancelling         "failed" -> pure AESFailed         "inprogress" -> pure AESInProgress         "pending" -> pure AESPending@@ -142,11 +159,12 @@         "timedout" -> pure AESTimedOut         "waiting" -> pure AESWaiting         e -> fromTextError $ "Failure parsing AutomationExecutionStatus from value: '" <> e-           <> "'. Accepted values: cancelled, failed, inprogress, pending, success, timedout, waiting"+           <> "'. Accepted values: cancelled, cancelling, failed, inprogress, pending, success, timedout, waiting"  instance ToText AutomationExecutionStatus where     toText = \case         AESCancelled -> "Cancelled"+        AESCancelling -> "Cancelling"         AESFailed -> "Failed"         AESInProgress -> "InProgress"         AESPending -> "Pending"@@ -490,6 +508,36 @@ instance ToJSON DocumentFilterKey where     toJSON = toJSONText +data DocumentFormat+  = JSON+  | Yaml+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DocumentFormat where+    parser = takeLowerText >>= \case+        "json" -> pure JSON+        "yaml" -> pure Yaml+        e -> fromTextError $ "Failure parsing DocumentFormat from value: '" <> e+           <> "'. Accepted values: json, yaml"++instance ToText DocumentFormat where+    toText = \case+        JSON -> "JSON"+        Yaml -> "YAML"++instance Hashable     DocumentFormat+instance NFData       DocumentFormat+instance ToByteString DocumentFormat+instance ToQuery      DocumentFormat+instance ToHeader     DocumentFormat++instance ToJSON DocumentFormat where+    toJSON = toJSONText++instance FromJSON DocumentFormat where+    parseJSON = parseJSONText "DocumentFormat"+ data DocumentHashType   = HashSHA1   | HashSHA256@@ -637,6 +685,36 @@ instance FromJSON DocumentType where     parseJSON = parseJSONText "DocumentType" +data ExecutionMode+  = Auto+  | Interactive+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ExecutionMode where+    parser = takeLowerText >>= \case+        "auto" -> pure Auto+        "interactive" -> pure Interactive+        e -> fromTextError $ "Failure parsing ExecutionMode from value: '" <> e+           <> "'. Accepted values: auto, interactive"++instance ToText ExecutionMode where+    toText = \case+        Auto -> "Auto"+        Interactive -> "Interactive"++instance Hashable     ExecutionMode+instance NFData       ExecutionMode+instance ToByteString ExecutionMode+instance ToQuery      ExecutionMode+instance ToHeader     ExecutionMode++instance ToJSON ExecutionMode where+    toJSON = toJSONText++instance FromJSON ExecutionMode where+    parseJSON = parseJSONText "ExecutionMode"+ data Fault   = Client   | Server@@ -772,6 +850,33 @@ instance FromJSON InventoryAttributeDataType where     parseJSON = parseJSONText "InventoryAttributeDataType" +data InventoryDeletionStatus+  = Complete+  | InProgress+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText InventoryDeletionStatus where+    parser = takeLowerText >>= \case+        "complete" -> pure Complete+        "inprogress" -> pure InProgress+        e -> fromTextError $ "Failure parsing InventoryDeletionStatus from value: '" <> e+           <> "'. Accepted values: complete, inprogress"++instance ToText InventoryDeletionStatus where+    toText = \case+        Complete -> "Complete"+        InProgress -> "InProgress"++instance Hashable     InventoryDeletionStatus+instance NFData       InventoryDeletionStatus+instance ToByteString InventoryDeletionStatus+instance ToQuery      InventoryDeletionStatus+instance ToHeader     InventoryDeletionStatus++instance FromJSON InventoryDeletionStatus where+    parseJSON = parseJSONText "InventoryDeletionStatus"+ data InventoryQueryOperatorType   = BeginWith   | Equal@@ -808,6 +913,33 @@ instance ToJSON InventoryQueryOperatorType where     toJSON = toJSONText +data InventorySchemaDeleteOption+  = DeleteSchema+  | DisableSchema+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText InventorySchemaDeleteOption where+    parser = takeLowerText >>= \case+        "deleteschema" -> pure DeleteSchema+        "disableschema" -> pure DisableSchema+        e -> fromTextError $ "Failure parsing InventorySchemaDeleteOption from value: '" <> e+           <> "'. Accepted values: deleteschema, disableschema"++instance ToText InventorySchemaDeleteOption where+    toText = \case+        DeleteSchema -> "DeleteSchema"+        DisableSchema -> "DisableSchema"++instance Hashable     InventorySchemaDeleteOption+instance NFData       InventorySchemaDeleteOption+instance ToByteString InventorySchemaDeleteOption+instance ToQuery      InventorySchemaDeleteOption+instance ToHeader     InventorySchemaDeleteOption++instance ToJSON InventorySchemaDeleteOption where+    toJSON = toJSONText+ data LastResourceDataSyncStatus   = LRDSSFailed   | LRDSSInProgress@@ -1020,7 +1152,9 @@  data OperatingSystem   = AmazonLinux+  | Centos   | RedhatEnterpriseLinux+  | Suse   | Ubuntu   | Windows   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)@@ -1029,16 +1163,20 @@ instance FromText OperatingSystem where     parser = takeLowerText >>= \case         "amazon_linux" -> pure AmazonLinux+        "centos" -> pure Centos         "redhat_enterprise_linux" -> pure RedhatEnterpriseLinux+        "suse" -> pure Suse         "ubuntu" -> pure Ubuntu         "windows" -> pure Windows         e -> fromTextError $ "Failure parsing OperatingSystem from value: '" <> e-           <> "'. Accepted values: amazon_linux, redhat_enterprise_linux, ubuntu, windows"+           <> "'. Accepted values: amazon_linux, centos, redhat_enterprise_linux, suse, ubuntu, windows"  instance ToText OperatingSystem where     toText = \case         AmazonLinux -> "AMAZON_LINUX"+        Centos -> "CENTOS"         RedhatEnterpriseLinux -> "REDHAT_ENTERPRISE_LINUX"+        Suse -> "SUSE"         Ubuntu -> "UBUNTU"         Windows -> "WINDOWS" @@ -1453,6 +1591,9 @@ data SignalType   = Approve   | Reject+  | Resume+  | StartStep+  | StopStep   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)  @@ -1460,13 +1601,19 @@     parser = takeLowerText >>= \case         "approve" -> pure Approve         "reject" -> pure Reject+        "resume" -> pure Resume+        "startstep" -> pure StartStep+        "stopstep" -> pure StopStep         e -> fromTextError $ "Failure parsing SignalType from value: '" <> e-           <> "'. Accepted values: approve, reject"+           <> "'. Accepted values: approve, reject, resume, startstep, stopstep"  instance ToText SignalType where     toText = \case         Approve -> "Approve"         Reject -> "Reject"+        Resume -> "Resume"+        StartStep -> "StartStep"+        StopStep -> "StopStep"  instance Hashable     SignalType instance NFData       SignalType@@ -1475,4 +1622,70 @@ instance ToHeader     SignalType  instance ToJSON SignalType where+    toJSON = toJSONText++data StepExecutionFilterKey+  = Action+  | StartTimeAfter+  | StartTimeBefore+  | StepExecutionId+  | StepExecutionStatus+  | StepName+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StepExecutionFilterKey where+    parser = takeLowerText >>= \case+        "action" -> pure Action+        "starttimeafter" -> pure StartTimeAfter+        "starttimebefore" -> pure StartTimeBefore+        "stepexecutionid" -> pure StepExecutionId+        "stepexecutionstatus" -> pure StepExecutionStatus+        "stepname" -> pure StepName+        e -> fromTextError $ "Failure parsing StepExecutionFilterKey from value: '" <> e+           <> "'. Accepted values: action, starttimeafter, starttimebefore, stepexecutionid, stepexecutionstatus, stepname"++instance ToText StepExecutionFilterKey where+    toText = \case+        Action -> "Action"+        StartTimeAfter -> "StartTimeAfter"+        StartTimeBefore -> "StartTimeBefore"+        StepExecutionId -> "StepExecutionId"+        StepExecutionStatus -> "StepExecutionStatus"+        StepName -> "StepName"++instance Hashable     StepExecutionFilterKey+instance NFData       StepExecutionFilterKey+instance ToByteString StepExecutionFilterKey+instance ToQuery      StepExecutionFilterKey+instance ToHeader     StepExecutionFilterKey++instance ToJSON StepExecutionFilterKey where+    toJSON = toJSONText++data StopType+  = STCancel+  | STComplete+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StopType where+    parser = takeLowerText >>= \case+        "cancel" -> pure STCancel+        "complete" -> pure STComplete+        e -> fromTextError $ "Failure parsing StopType from value: '" <> e+           <> "'. Accepted values: cancel, complete"++instance ToText StopType where+    toText = \case+        STCancel -> "Cancel"+        STComplete -> "Complete"++instance Hashable     StopType+instance NFData       StopType+instance ToByteString StopType+instance ToQuery      StopType+instance ToHeader     StopType++instance ToJSON StopType where     toJSON = toJSONText
gen/Network/AWS/SSM/UpdateAssociation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateAssociation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -92,53 +92,53 @@     -> UpdateAssociation updateAssociation pAssociationId_ =   UpdateAssociation'-  { _uaScheduleExpression = Nothing-  , _uaName = Nothing-  , _uaOutputLocation = Nothing-  , _uaTargets = Nothing-  , _uaParameters = Nothing-  , _uaDocumentVersion = Nothing-  , _uaAssociationVersion = Nothing-  , _uaAssociationName = Nothing-  , _uaAssociationId = pAssociationId_-  }+    { _uaScheduleExpression = Nothing+    , _uaName = Nothing+    , _uaOutputLocation = Nothing+    , _uaTargets = Nothing+    , _uaParameters = Nothing+    , _uaDocumentVersion = Nothing+    , _uaAssociationVersion = Nothing+    , _uaAssociationName = Nothing+    , _uaAssociationId = pAssociationId_+    }   -- | The cron expression used to schedule the association that you want to update. uaScheduleExpression :: Lens' UpdateAssociation (Maybe Text)-uaScheduleExpression = lens _uaScheduleExpression (\ s a -> s{_uaScheduleExpression = a});+uaScheduleExpression = lens _uaScheduleExpression (\ s a -> s{_uaScheduleExpression = a})  -- | The name of the association document. uaName :: Lens' UpdateAssociation (Maybe Text)-uaName = lens _uaName (\ s a -> s{_uaName = a});+uaName = lens _uaName (\ s a -> s{_uaName = a})  -- | An Amazon S3 bucket where you want to store the results of this request. uaOutputLocation :: Lens' UpdateAssociation (Maybe InstanceAssociationOutputLocation)-uaOutputLocation = lens _uaOutputLocation (\ s a -> s{_uaOutputLocation = a});+uaOutputLocation = lens _uaOutputLocation (\ s a -> s{_uaOutputLocation = a})  -- | The targets of the association. uaTargets :: Lens' UpdateAssociation [Target]-uaTargets = lens _uaTargets (\ s a -> s{_uaTargets = a}) . _Default . _Coerce;+uaTargets = lens _uaTargets (\ s a -> s{_uaTargets = a}) . _Default . _Coerce  -- | 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])-uaParameters = lens _uaParameters (\ s a -> s{_uaParameters = a}) . _Default . _Map;+uaParameters = lens _uaParameters (\ s a -> s{_uaParameters = a}) . _Default . _Map  -- | The document version you want update for the association. uaDocumentVersion :: Lens' UpdateAssociation (Maybe Text)-uaDocumentVersion = lens _uaDocumentVersion (\ s a -> s{_uaDocumentVersion = a});+uaDocumentVersion = lens _uaDocumentVersion (\ s a -> s{_uaDocumentVersion = 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 @> LATEST@ , or omit this parameter. uaAssociationVersion :: Lens' UpdateAssociation (Maybe Text)-uaAssociationVersion = lens _uaAssociationVersion (\ s a -> s{_uaAssociationVersion = a});+uaAssociationVersion = lens _uaAssociationVersion (\ s a -> s{_uaAssociationVersion = a})  -- | The name of the association that you want to update. uaAssociationName :: Lens' UpdateAssociation (Maybe Text)-uaAssociationName = lens _uaAssociationName (\ s a -> s{_uaAssociationName = a});+uaAssociationName = lens _uaAssociationName (\ s a -> s{_uaAssociationName = a})  -- | The ID of the association you want to update. uaAssociationId :: Lens' UpdateAssociation Text-uaAssociationId = lens _uaAssociationId (\ s a -> s{_uaAssociationId = a});+uaAssociationId = lens _uaAssociationId (\ s a -> s{_uaAssociationId = a})  instance AWSRequest UpdateAssociation where         type Rs UpdateAssociation = UpdateAssociationResponse@@ -202,17 +202,17 @@     -> UpdateAssociationResponse updateAssociationResponse pResponseStatus_ =   UpdateAssociationResponse'-  { _uarsAssociationDescription = Nothing-  , _uarsResponseStatus = pResponseStatus_-  }+    { _uarsAssociationDescription = Nothing+    , _uarsResponseStatus = pResponseStatus_+    }   -- | The description of the association that was updated. uarsAssociationDescription :: Lens' UpdateAssociationResponse (Maybe AssociationDescription)-uarsAssociationDescription = lens _uarsAssociationDescription (\ s a -> s{_uarsAssociationDescription = a});+uarsAssociationDescription = lens _uarsAssociationDescription (\ s a -> s{_uarsAssociationDescription = a})  -- | -- | The response status code. uarsResponseStatus :: Lens' UpdateAssociationResponse Int-uarsResponseStatus = lens _uarsResponseStatus (\ s a -> s{_uarsResponseStatus = a});+uarsResponseStatus = lens _uarsResponseStatus (\ s a -> s{_uarsResponseStatus = a})  instance NFData UpdateAssociationResponse where
gen/Network/AWS/SSM/UpdateAssociationStatus.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateAssociationStatus--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> UpdateAssociationStatus updateAssociationStatus pName_ pInstanceId_ pAssociationStatus_ =   UpdateAssociationStatus'-  { _uasName = pName_-  , _uasInstanceId = pInstanceId_-  , _uasAssociationStatus = pAssociationStatus_-  }+    { _uasName = pName_+    , _uasInstanceId = pInstanceId_+    , _uasAssociationStatus = pAssociationStatus_+    }   -- | The name of the Systems Manager document. uasName :: Lens' UpdateAssociationStatus Text-uasName = lens _uasName (\ s a -> s{_uasName = a});+uasName = lens _uasName (\ s a -> s{_uasName = a})  -- | The ID of the instance. uasInstanceId :: Lens' UpdateAssociationStatus Text-uasInstanceId = lens _uasInstanceId (\ s a -> s{_uasInstanceId = a});+uasInstanceId = lens _uasInstanceId (\ s a -> s{_uasInstanceId = a})  -- | The association status. uasAssociationStatus :: Lens' UpdateAssociationStatus AssociationStatus-uasAssociationStatus = lens _uasAssociationStatus (\ s a -> s{_uasAssociationStatus = a});+uasAssociationStatus = lens _uasAssociationStatus (\ s a -> s{_uasAssociationStatus = a})  instance AWSRequest UpdateAssociationStatus where         type Rs UpdateAssociationStatus =@@ -145,17 +145,17 @@     -> UpdateAssociationStatusResponse updateAssociationStatusResponse pResponseStatus_ =   UpdateAssociationStatusResponse'-  { _uasrsAssociationDescription = Nothing-  , _uasrsResponseStatus = pResponseStatus_-  }+    { _uasrsAssociationDescription = Nothing+    , _uasrsResponseStatus = pResponseStatus_+    }   -- | Information about the association. uasrsAssociationDescription :: Lens' UpdateAssociationStatusResponse (Maybe AssociationDescription)-uasrsAssociationDescription = lens _uasrsAssociationDescription (\ s a -> s{_uasrsAssociationDescription = a});+uasrsAssociationDescription = lens _uasrsAssociationDescription (\ s a -> s{_uasrsAssociationDescription = a})  -- | -- | The response status code. uasrsResponseStatus :: Lens' UpdateAssociationStatusResponse Int-uasrsResponseStatus = lens _uasrsResponseStatus (\ s a -> s{_uasrsResponseStatus = a});+uasrsResponseStatus = lens _uasrsResponseStatus (\ s a -> s{_uasrsResponseStatus = a})  instance NFData UpdateAssociationStatusResponse where
gen/Network/AWS/SSM/UpdateDocument.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateDocument--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,6 +27,8 @@       updateDocument     , UpdateDocument     -- * Request Lenses+    , udTargetType+    , udDocumentFormat     , udDocumentVersion     , udContent     , udName@@ -48,7 +50,9 @@  -- | /See:/ 'updateDocument' smart constructor. data UpdateDocument = UpdateDocument'-  { _udDocumentVersion :: !(Maybe Text)+  { _udTargetType      :: !(Maybe Text)+  , _udDocumentFormat  :: !(Maybe DocumentFormat)+  , _udDocumentVersion :: !(Maybe Text)   , _udContent         :: !Text   , _udName            :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -58,6 +62,10 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'udTargetType' - Specify a new target type for the document.+--+-- * 'udDocumentFormat' - Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.+-- -- * 'udDocumentVersion' - The version of the document that you want to update. -- -- * 'udContent' - The content in a document that you want to update.@@ -69,20 +77,33 @@     -> UpdateDocument updateDocument pContent_ pName_ =   UpdateDocument'-  {_udDocumentVersion = Nothing, _udContent = pContent_, _udName = pName_}+    { _udTargetType = Nothing+    , _udDocumentFormat = Nothing+    , _udDocumentVersion = Nothing+    , _udContent = pContent_+    , _udName = pName_+    }  +-- | Specify a new target type for the document.+udTargetType :: Lens' UpdateDocument (Maybe Text)+udTargetType = lens _udTargetType (\ s a -> s{_udTargetType = a})++-- | 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)+udDocumentFormat = lens _udDocumentFormat (\ s a -> s{_udDocumentFormat = a})+ -- | The version of the document that you want to update. udDocumentVersion :: Lens' UpdateDocument (Maybe Text)-udDocumentVersion = lens _udDocumentVersion (\ s a -> s{_udDocumentVersion = a});+udDocumentVersion = lens _udDocumentVersion (\ s a -> s{_udDocumentVersion = a})  -- | The content in a document that you want to update. udContent :: Lens' UpdateDocument Text-udContent = lens _udContent (\ s a -> s{_udContent = a});+udContent = lens _udContent (\ s a -> s{_udContent = a})  -- | The name of the document that you want to update. udName :: Lens' UpdateDocument Text-udName = lens _udName (\ s a -> s{_udName = a});+udName = lens _udName (\ s a -> s{_udName = a})  instance AWSRequest UpdateDocument where         type Rs UpdateDocument = UpdateDocumentResponse@@ -111,7 +132,9 @@         toJSON UpdateDocument'{..}           = object               (catMaybes-                 [("DocumentVersion" .=) <$> _udDocumentVersion,+                 [("TargetType" .=) <$> _udTargetType,+                  ("DocumentFormat" .=) <$> _udDocumentFormat,+                  ("DocumentVersion" .=) <$> _udDocumentVersion,                   Just ("Content" .= _udContent),                   Just ("Name" .= _udName)]) @@ -140,15 +163,15 @@     -> UpdateDocumentResponse updateDocumentResponse pResponseStatus_ =   UpdateDocumentResponse'-  {_udrsDocumentDescription = Nothing, _udrsResponseStatus = pResponseStatus_}+    {_udrsDocumentDescription = Nothing, _udrsResponseStatus = pResponseStatus_}   -- | A description of the document that was updated. udrsDocumentDescription :: Lens' UpdateDocumentResponse (Maybe DocumentDescription)-udrsDocumentDescription = lens _udrsDocumentDescription (\ s a -> s{_udrsDocumentDescription = a});+udrsDocumentDescription = lens _udrsDocumentDescription (\ s a -> s{_udrsDocumentDescription = a})  -- | -- | The response status code. udrsResponseStatus :: Lens' UpdateDocumentResponse Int-udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a});+udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a})  instance NFData UpdateDocumentResponse where
gen/Network/AWS/SSM/UpdateDocumentDefaultVersion.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateDocumentDefaultVersion--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> UpdateDocumentDefaultVersion updateDocumentDefaultVersion pName_ pDocumentVersion_ =   UpdateDocumentDefaultVersion'-  {_uddvName = pName_, _uddvDocumentVersion = pDocumentVersion_}+    {_uddvName = pName_, _uddvDocumentVersion = pDocumentVersion_}   -- | The name of a custom document that you want to set as the default version. uddvName :: Lens' UpdateDocumentDefaultVersion Text-uddvName = lens _uddvName (\ s a -> s{_uddvName = a});+uddvName = lens _uddvName (\ s a -> s{_uddvName = a})  -- | The version of a custom document that you want to set as the default version. uddvDocumentVersion :: Lens' UpdateDocumentDefaultVersion Text-uddvDocumentVersion = lens _uddvDocumentVersion (\ s a -> s{_uddvDocumentVersion = a});+uddvDocumentVersion = lens _uddvDocumentVersion (\ s a -> s{_uddvDocumentVersion = a})  instance AWSRequest UpdateDocumentDefaultVersion          where@@ -133,16 +133,16 @@     -> UpdateDocumentDefaultVersionResponse updateDocumentDefaultVersionResponse pResponseStatus_ =   UpdateDocumentDefaultVersionResponse'-  {_uddvrsDescription = Nothing, _uddvrsResponseStatus = pResponseStatus_}+    {_uddvrsDescription = Nothing, _uddvrsResponseStatus = pResponseStatus_}   -- | The description of a custom document that you want to set as the default version. uddvrsDescription :: Lens' UpdateDocumentDefaultVersionResponse (Maybe DocumentDefaultVersionDescription)-uddvrsDescription = lens _uddvrsDescription (\ s a -> s{_uddvrsDescription = a});+uddvrsDescription = lens _uddvrsDescription (\ s a -> s{_uddvrsDescription = a})  -- | -- | The response status code. uddvrsResponseStatus :: Lens' UpdateDocumentDefaultVersionResponse Int-uddvrsResponseStatus = lens _uddvrsResponseStatus (\ s a -> s{_uddvrsResponseStatus = a});+uddvrsResponseStatus = lens _uddvrsResponseStatus (\ s a -> s{_uddvrsResponseStatus = a})  instance NFData UpdateDocumentDefaultVersionResponse          where
gen/Network/AWS/SSM/UpdateMaintenanceWindow.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateMaintenanceWindow--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -99,53 +99,53 @@     -> UpdateMaintenanceWindow updateMaintenanceWindow pWindowId_ =   UpdateMaintenanceWindow'-  { _umwReplace = Nothing-  , _umwEnabled = Nothing-  , _umwSchedule = Nothing-  , _umwName = Nothing-  , _umwCutoff = Nothing-  , _umwAllowUnassociatedTargets = Nothing-  , _umwDescription = Nothing-  , _umwDuration = Nothing-  , _umwWindowId = pWindowId_-  }+    { _umwReplace = Nothing+    , _umwEnabled = Nothing+    , _umwSchedule = Nothing+    , _umwName = Nothing+    , _umwCutoff = Nothing+    , _umwAllowUnassociatedTargets = Nothing+    , _umwDescription = Nothing+    , _umwDuration = Nothing+    , _umwWindowId = pWindowId_+    }   -- | 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)-umwReplace = lens _umwReplace (\ s a -> s{_umwReplace = a});+umwReplace = lens _umwReplace (\ s a -> s{_umwReplace = a})  -- | Whether the Maintenance Window is enabled. umwEnabled :: Lens' UpdateMaintenanceWindow (Maybe Bool)-umwEnabled = lens _umwEnabled (\ s a -> s{_umwEnabled = a});+umwEnabled = lens _umwEnabled (\ s a -> s{_umwEnabled = a})  -- | The schedule of the Maintenance Window in the form of a cron or rate expression. umwSchedule :: Lens' UpdateMaintenanceWindow (Maybe Text)-umwSchedule = lens _umwSchedule (\ s a -> s{_umwSchedule = a});+umwSchedule = lens _umwSchedule (\ s a -> s{_umwSchedule = a})  -- | The name of the Maintenance Window. umwName :: Lens' UpdateMaintenanceWindow (Maybe Text)-umwName = lens _umwName (\ s a -> s{_umwName = a});+umwName = lens _umwName (\ s a -> s{_umwName = a})  -- | 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)-umwCutoff = lens _umwCutoff (\ s a -> s{_umwCutoff = a}) . mapping _Nat;+umwCutoff = lens _umwCutoff (\ s a -> s{_umwCutoff = a}) . mapping _Nat  -- | Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets. umwAllowUnassociatedTargets :: Lens' UpdateMaintenanceWindow (Maybe Bool)-umwAllowUnassociatedTargets = lens _umwAllowUnassociatedTargets (\ s a -> s{_umwAllowUnassociatedTargets = a});+umwAllowUnassociatedTargets = lens _umwAllowUnassociatedTargets (\ s a -> s{_umwAllowUnassociatedTargets = a})  -- | An optional description for the update request. umwDescription :: Lens' UpdateMaintenanceWindow (Maybe Text)-umwDescription = lens _umwDescription (\ s a -> s{_umwDescription = a}) . mapping _Sensitive;+umwDescription = lens _umwDescription (\ s a -> s{_umwDescription = a}) . mapping _Sensitive  -- | The duration of the Maintenance Window in hours. umwDuration :: Lens' UpdateMaintenanceWindow (Maybe Natural)-umwDuration = lens _umwDuration (\ s a -> s{_umwDuration = a}) . mapping _Nat;+umwDuration = lens _umwDuration (\ s a -> s{_umwDuration = a}) . mapping _Nat  -- | The ID of the Maintenance Window to update. umwWindowId :: Lens' UpdateMaintenanceWindow Text-umwWindowId = lens _umwWindowId (\ s a -> s{_umwWindowId = a});+umwWindowId = lens _umwWindowId (\ s a -> s{_umwWindowId = a})  instance AWSRequest UpdateMaintenanceWindow where         type Rs UpdateMaintenanceWindow =@@ -238,52 +238,52 @@     -> UpdateMaintenanceWindowResponse updateMaintenanceWindowResponse pResponseStatus_ =   UpdateMaintenanceWindowResponse'-  { _umwrsEnabled = Nothing-  , _umwrsSchedule = Nothing-  , _umwrsName = Nothing-  , _umwrsCutoff = Nothing-  , _umwrsAllowUnassociatedTargets = Nothing-  , _umwrsDescription = Nothing-  , _umwrsDuration = Nothing-  , _umwrsWindowId = Nothing-  , _umwrsResponseStatus = pResponseStatus_-  }+    { _umwrsEnabled = Nothing+    , _umwrsSchedule = Nothing+    , _umwrsName = Nothing+    , _umwrsCutoff = Nothing+    , _umwrsAllowUnassociatedTargets = Nothing+    , _umwrsDescription = Nothing+    , _umwrsDuration = Nothing+    , _umwrsWindowId = Nothing+    , _umwrsResponseStatus = pResponseStatus_+    }   -- | Whether the Maintenance Window is enabled. umwrsEnabled :: Lens' UpdateMaintenanceWindowResponse (Maybe Bool)-umwrsEnabled = lens _umwrsEnabled (\ s a -> s{_umwrsEnabled = a});+umwrsEnabled = lens _umwrsEnabled (\ s a -> s{_umwrsEnabled = a})  -- | The schedule of the Maintenance Window in the form of a cron or rate expression. umwrsSchedule :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)-umwrsSchedule = lens _umwrsSchedule (\ s a -> s{_umwrsSchedule = a});+umwrsSchedule = lens _umwrsSchedule (\ s a -> s{_umwrsSchedule = a})  -- | The name of the Maintenance Window. umwrsName :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)-umwrsName = lens _umwrsName (\ s a -> s{_umwrsName = a});+umwrsName = lens _umwrsName (\ s a -> s{_umwrsName = a})  -- | 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)-umwrsCutoff = lens _umwrsCutoff (\ s a -> s{_umwrsCutoff = a}) . mapping _Nat;+umwrsCutoff = lens _umwrsCutoff (\ s a -> s{_umwrsCutoff = a}) . mapping _Nat  -- | Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets. umwrsAllowUnassociatedTargets :: Lens' UpdateMaintenanceWindowResponse (Maybe Bool)-umwrsAllowUnassociatedTargets = lens _umwrsAllowUnassociatedTargets (\ s a -> s{_umwrsAllowUnassociatedTargets = a});+umwrsAllowUnassociatedTargets = lens _umwrsAllowUnassociatedTargets (\ s a -> s{_umwrsAllowUnassociatedTargets = a})  -- | An optional description of the update. umwrsDescription :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)-umwrsDescription = lens _umwrsDescription (\ s a -> s{_umwrsDescription = a}) . mapping _Sensitive;+umwrsDescription = lens _umwrsDescription (\ s a -> s{_umwrsDescription = a}) . mapping _Sensitive  -- | The duration of the Maintenance Window in hours. umwrsDuration :: Lens' UpdateMaintenanceWindowResponse (Maybe Natural)-umwrsDuration = lens _umwrsDuration (\ s a -> s{_umwrsDuration = a}) . mapping _Nat;+umwrsDuration = lens _umwrsDuration (\ s a -> s{_umwrsDuration = a}) . mapping _Nat  -- | The ID of the created Maintenance Window. umwrsWindowId :: Lens' UpdateMaintenanceWindowResponse (Maybe Text)-umwrsWindowId = lens _umwrsWindowId (\ s a -> s{_umwrsWindowId = a});+umwrsWindowId = lens _umwrsWindowId (\ s a -> s{_umwrsWindowId = a})  -- | -- | The response status code. umwrsResponseStatus :: Lens' UpdateMaintenanceWindowResponse Int-umwrsResponseStatus = lens _umwrsResponseStatus (\ s a -> s{_umwrsResponseStatus = a});+umwrsResponseStatus = lens _umwrsResponseStatus (\ s a -> s{_umwrsResponseStatus = a})  instance NFData UpdateMaintenanceWindowResponse where
gen/Network/AWS/SSM/UpdateMaintenanceWindowTarget.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateMaintenanceWindowTarget--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -104,43 +104,43 @@     -> UpdateMaintenanceWindowTarget updateMaintenanceWindowTarget pWindowId_ pWindowTargetId_ =   UpdateMaintenanceWindowTarget'-  { _uReplace = Nothing-  , _uOwnerInformation = Nothing-  , _uName = Nothing-  , _uTargets = Nothing-  , _uDescription = Nothing-  , _uWindowId = pWindowId_-  , _uWindowTargetId = pWindowTargetId_-  }+    { _uReplace = Nothing+    , _uOwnerInformation = Nothing+    , _uName = Nothing+    , _uTargets = Nothing+    , _uDescription = Nothing+    , _uWindowId = pWindowId_+    , _uWindowTargetId = pWindowTargetId_+    }   -- | 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)-uReplace = lens _uReplace (\ s a -> s{_uReplace = a});+uReplace = lens _uReplace (\ s a -> s{_uReplace = a})  -- | 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)-uOwnerInformation = lens _uOwnerInformation (\ s a -> s{_uOwnerInformation = a}) . mapping _Sensitive;+uOwnerInformation = lens _uOwnerInformation (\ s a -> s{_uOwnerInformation = a}) . mapping _Sensitive  -- | A name for the update. uName :: Lens' UpdateMaintenanceWindowTarget (Maybe Text)-uName = lens _uName (\ s a -> s{_uName = a});+uName = lens _uName (\ s a -> s{_uName = a})  -- | The targets to add or replace. uTargets :: Lens' UpdateMaintenanceWindowTarget [Target]-uTargets = lens _uTargets (\ s a -> s{_uTargets = a}) . _Default . _Coerce;+uTargets = lens _uTargets (\ s a -> s{_uTargets = a}) . _Default . _Coerce  -- | An optional description for the update. uDescription :: Lens' UpdateMaintenanceWindowTarget (Maybe Text)-uDescription = lens _uDescription (\ s a -> s{_uDescription = a}) . mapping _Sensitive;+uDescription = lens _uDescription (\ s a -> s{_uDescription = a}) . mapping _Sensitive  -- | The Maintenance Window ID with which to modify the target. uWindowId :: Lens' UpdateMaintenanceWindowTarget Text-uWindowId = lens _uWindowId (\ s a -> s{_uWindowId = a});+uWindowId = lens _uWindowId (\ s a -> s{_uWindowId = a})  -- | The target ID to modify. uWindowTargetId :: Lens' UpdateMaintenanceWindowTarget Text-uWindowTargetId = lens _uWindowTargetId (\ s a -> s{_uWindowTargetId = a});+uWindowTargetId = lens _uWindowTargetId (\ s a -> s{_uWindowTargetId = a})  instance AWSRequest UpdateMaintenanceWindowTarget          where@@ -225,43 +225,43 @@     -> UpdateMaintenanceWindowTargetResponse updateMaintenanceWindowTargetResponse pResponseStatus_ =   UpdateMaintenanceWindowTargetResponse'-  { _ursOwnerInformation = Nothing-  , _ursWindowTargetId = Nothing-  , _ursName = Nothing-  , _ursTargets = Nothing-  , _ursDescription = Nothing-  , _ursWindowId = Nothing-  , _ursResponseStatus = pResponseStatus_-  }+    { _ursOwnerInformation = Nothing+    , _ursWindowTargetId = Nothing+    , _ursName = Nothing+    , _ursTargets = Nothing+    , _ursDescription = Nothing+    , _ursWindowId = Nothing+    , _ursResponseStatus = pResponseStatus_+    }   -- | The updated owner. ursOwnerInformation :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)-ursOwnerInformation = lens _ursOwnerInformation (\ s a -> s{_ursOwnerInformation = a}) . mapping _Sensitive;+ursOwnerInformation = lens _ursOwnerInformation (\ s a -> s{_ursOwnerInformation = a}) . mapping _Sensitive  -- | The target ID specified in the update request. ursWindowTargetId :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)-ursWindowTargetId = lens _ursWindowTargetId (\ s a -> s{_ursWindowTargetId = a});+ursWindowTargetId = lens _ursWindowTargetId (\ s a -> s{_ursWindowTargetId = a})  -- | The updated name. ursName :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)-ursName = lens _ursName (\ s a -> s{_ursName = a});+ursName = lens _ursName (\ s a -> s{_ursName = a})  -- | The updated targets. ursTargets :: Lens' UpdateMaintenanceWindowTargetResponse [Target]-ursTargets = lens _ursTargets (\ s a -> s{_ursTargets = a}) . _Default . _Coerce;+ursTargets = lens _ursTargets (\ s a -> s{_ursTargets = a}) . _Default . _Coerce  -- | The updated description. ursDescription :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)-ursDescription = lens _ursDescription (\ s a -> s{_ursDescription = a}) . mapping _Sensitive;+ursDescription = lens _ursDescription (\ s a -> s{_ursDescription = a}) . mapping _Sensitive  -- | The Maintenance Window ID specified in the update request. ursWindowId :: Lens' UpdateMaintenanceWindowTargetResponse (Maybe Text)-ursWindowId = lens _ursWindowId (\ s a -> s{_ursWindowId = a});+ursWindowId = lens _ursWindowId (\ s a -> s{_ursWindowId = a})  -- | -- | The response status code. ursResponseStatus :: Lens' UpdateMaintenanceWindowTargetResponse Int-ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a});+ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a})  instance NFData UpdateMaintenanceWindowTargetResponse          where
gen/Network/AWS/SSM/UpdateMaintenanceWindowTask.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateMaintenanceWindowTask--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,20 +21,22 @@ -- Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values: -- ----- Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.+--     * TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript. ----- Service role ARN.+--     * ServiceRoleArn ----- Task parameters.+--     * TaskInvocationParameters ----- Task priority.+--     * Priority ----- Task MaxConcurrency and MaxErrors.+--     * MaxConcurrency ----- Log location.+--     * MaxErrors ----- If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null. --+--+-- If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the 'RegisterTaskWithMaintenanceWindow' action are required for this request. Optional fields that aren't specified are set to null.+-- module Network.AWS.SSM.UpdateMaintenanceWindowTask     (     -- * Creating a Request@@ -139,78 +141,78 @@     -> UpdateMaintenanceWindowTask updateMaintenanceWindowTask pWindowId_ pWindowTaskId_ =   UpdateMaintenanceWindowTask'-  { _umwtServiceRoleARN = Nothing-  , _umwtReplace = Nothing-  , _umwtTaskParameters = Nothing-  , _umwtPriority = Nothing-  , _umwtTaskARN = Nothing-  , _umwtMaxErrors = Nothing-  , _umwtTaskInvocationParameters = Nothing-  , _umwtName = Nothing-  , _umwtTargets = Nothing-  , _umwtLoggingInfo = Nothing-  , _umwtDescription = Nothing-  , _umwtMaxConcurrency = Nothing-  , _umwtWindowId = pWindowId_-  , _umwtWindowTaskId = pWindowTaskId_-  }+    { _umwtServiceRoleARN = Nothing+    , _umwtReplace = Nothing+    , _umwtTaskParameters = Nothing+    , _umwtPriority = Nothing+    , _umwtTaskARN = Nothing+    , _umwtMaxErrors = Nothing+    , _umwtTaskInvocationParameters = Nothing+    , _umwtName = Nothing+    , _umwtTargets = Nothing+    , _umwtLoggingInfo = Nothing+    , _umwtDescription = Nothing+    , _umwtMaxConcurrency = Nothing+    , _umwtWindowId = pWindowId_+    , _umwtWindowTaskId = pWindowTaskId_+    }   -- | The IAM service role ARN to modify. The system assumes this role during task execution. umwtServiceRoleARN :: Lens' UpdateMaintenanceWindowTask (Maybe Text)-umwtServiceRoleARN = lens _umwtServiceRoleARN (\ s a -> s{_umwtServiceRoleARN = a});+umwtServiceRoleARN = lens _umwtServiceRoleARN (\ s a -> s{_umwtServiceRoleARN = 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. umwtReplace :: Lens' UpdateMaintenanceWindowTask (Maybe Bool)-umwtReplace = lens _umwtReplace (\ s a -> s{_umwtReplace = a});+umwtReplace = lens _umwtReplace (\ s a -> s{_umwtReplace = 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 umwtTaskParameters :: Lens' UpdateMaintenanceWindowTask (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))-umwtTaskParameters = lens _umwtTaskParameters (\ s a -> s{_umwtTaskParameters = a}) . mapping (_Sensitive . _Map);+umwtTaskParameters = lens _umwtTaskParameters (\ s a -> s{_umwtTaskParameters = a}) . mapping (_Sensitive . _Map)  -- | 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)-umwtPriority = lens _umwtPriority (\ s a -> s{_umwtPriority = a}) . mapping _Nat;+umwtPriority = lens _umwtPriority (\ s a -> s{_umwtPriority = a}) . mapping _Nat  -- | The task ARN to modify. umwtTaskARN :: Lens' UpdateMaintenanceWindowTask (Maybe Text)-umwtTaskARN = lens _umwtTaskARN (\ s a -> s{_umwtTaskARN = a});+umwtTaskARN = lens _umwtTaskARN (\ s a -> s{_umwtTaskARN = a})  -- | The new @MaxErrors@ value to specify. @MaxErrors@ is the maximum number of errors that are allowed before the task stops being scheduled. umwtMaxErrors :: Lens' UpdateMaintenanceWindowTask (Maybe Text)-umwtMaxErrors = lens _umwtMaxErrors (\ s a -> s{_umwtMaxErrors = a});+umwtMaxErrors = lens _umwtMaxErrors (\ s a -> s{_umwtMaxErrors = 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. umwtTaskInvocationParameters :: Lens' UpdateMaintenanceWindowTask (Maybe MaintenanceWindowTaskInvocationParameters)-umwtTaskInvocationParameters = lens _umwtTaskInvocationParameters (\ s a -> s{_umwtTaskInvocationParameters = a});+umwtTaskInvocationParameters = lens _umwtTaskInvocationParameters (\ s a -> s{_umwtTaskInvocationParameters = a})  -- | The new task name to specify. umwtName :: Lens' UpdateMaintenanceWindowTask (Maybe Text)-umwtName = lens _umwtName (\ s a -> s{_umwtName = a});+umwtName = lens _umwtName (\ s a -> s{_umwtName = 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. umwtTargets :: Lens' UpdateMaintenanceWindowTask [Target]-umwtTargets = lens _umwtTargets (\ s a -> s{_umwtTargets = a}) . _Default . _Coerce;+umwtTargets = lens _umwtTargets (\ s a -> s{_umwtTargets = a}) . _Default . _Coerce  -- | The new logging location in Amazon S3 to specify. umwtLoggingInfo :: Lens' UpdateMaintenanceWindowTask (Maybe LoggingInfo)-umwtLoggingInfo = lens _umwtLoggingInfo (\ s a -> s{_umwtLoggingInfo = a});+umwtLoggingInfo = lens _umwtLoggingInfo (\ s a -> s{_umwtLoggingInfo = a})  -- | The new task description to specify. umwtDescription :: Lens' UpdateMaintenanceWindowTask (Maybe Text)-umwtDescription = lens _umwtDescription (\ s a -> s{_umwtDescription = a}) . mapping _Sensitive;+umwtDescription = lens _umwtDescription (\ s a -> s{_umwtDescription = a}) . mapping _Sensitive  -- | The new @MaxConcurrency@ value you want to specify. @MaxConcurrency@ is the number of targets that are allowed to run this task in parallel. umwtMaxConcurrency :: Lens' UpdateMaintenanceWindowTask (Maybe Text)-umwtMaxConcurrency = lens _umwtMaxConcurrency (\ s a -> s{_umwtMaxConcurrency = a});+umwtMaxConcurrency = lens _umwtMaxConcurrency (\ s a -> s{_umwtMaxConcurrency = a})  -- | The Maintenance Window ID that contains the task to modify. umwtWindowId :: Lens' UpdateMaintenanceWindowTask Text-umwtWindowId = lens _umwtWindowId (\ s a -> s{_umwtWindowId = a});+umwtWindowId = lens _umwtWindowId (\ s a -> s{_umwtWindowId = a})  -- | The task ID to modify. umwtWindowTaskId :: Lens' UpdateMaintenanceWindowTask Text-umwtWindowTaskId = lens _umwtWindowTaskId (\ s a -> s{_umwtWindowTaskId = a});+umwtWindowTaskId = lens _umwtWindowTaskId (\ s a -> s{_umwtWindowTaskId = a})  instance AWSRequest UpdateMaintenanceWindowTask where         type Rs UpdateMaintenanceWindowTask =@@ -329,78 +331,78 @@     -> UpdateMaintenanceWindowTaskResponse updateMaintenanceWindowTaskResponse pResponseStatus_ =   UpdateMaintenanceWindowTaskResponse'-  { _umwtrsServiceRoleARN = Nothing-  , _umwtrsWindowTaskId = Nothing-  , _umwtrsTaskParameters = Nothing-  , _umwtrsPriority = Nothing-  , _umwtrsTaskARN = Nothing-  , _umwtrsMaxErrors = Nothing-  , _umwtrsTaskInvocationParameters = Nothing-  , _umwtrsName = Nothing-  , _umwtrsTargets = Nothing-  , _umwtrsLoggingInfo = Nothing-  , _umwtrsDescription = Nothing-  , _umwtrsMaxConcurrency = Nothing-  , _umwtrsWindowId = Nothing-  , _umwtrsResponseStatus = pResponseStatus_-  }+    { _umwtrsServiceRoleARN = Nothing+    , _umwtrsWindowTaskId = Nothing+    , _umwtrsTaskParameters = Nothing+    , _umwtrsPriority = Nothing+    , _umwtrsTaskARN = Nothing+    , _umwtrsMaxErrors = Nothing+    , _umwtrsTaskInvocationParameters = Nothing+    , _umwtrsName = Nothing+    , _umwtrsTargets = Nothing+    , _umwtrsLoggingInfo = Nothing+    , _umwtrsDescription = Nothing+    , _umwtrsMaxConcurrency = Nothing+    , _umwtrsWindowId = Nothing+    , _umwtrsResponseStatus = pResponseStatus_+    }   -- | The updated service role ARN value. umwtrsServiceRoleARN :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsServiceRoleARN = lens _umwtrsServiceRoleARN (\ s a -> s{_umwtrsServiceRoleARN = a});+umwtrsServiceRoleARN = lens _umwtrsServiceRoleARN (\ s a -> s{_umwtrsServiceRoleARN = a})  -- | The task ID of the Maintenance Window that was updated. umwtrsWindowTaskId :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsWindowTaskId = lens _umwtrsWindowTaskId (\ s a -> s{_umwtrsWindowTaskId = a});+umwtrsWindowTaskId = lens _umwtrsWindowTaskId (\ s a -> s{_umwtrsWindowTaskId = a})  -- | The updated parameter values. umwtrsTaskParameters :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe (HashMap Text MaintenanceWindowTaskParameterValueExpression))-umwtrsTaskParameters = lens _umwtrsTaskParameters (\ s a -> s{_umwtrsTaskParameters = a}) . mapping (_Sensitive . _Map);+umwtrsTaskParameters = lens _umwtrsTaskParameters (\ s a -> s{_umwtrsTaskParameters = a}) . mapping (_Sensitive . _Map)  -- | The updated priority value. umwtrsPriority :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Natural)-umwtrsPriority = lens _umwtrsPriority (\ s a -> s{_umwtrsPriority = a}) . mapping _Nat;+umwtrsPriority = lens _umwtrsPriority (\ s a -> s{_umwtrsPriority = a}) . mapping _Nat  -- | The updated task ARN value. umwtrsTaskARN :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsTaskARN = lens _umwtrsTaskARN (\ s a -> s{_umwtrsTaskARN = a});+umwtrsTaskARN = lens _umwtrsTaskARN (\ s a -> s{_umwtrsTaskARN = a})  -- | The updated MaxErrors value. umwtrsMaxErrors :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsMaxErrors = lens _umwtrsMaxErrors (\ s a -> s{_umwtrsMaxErrors = a});+umwtrsMaxErrors = lens _umwtrsMaxErrors (\ s a -> s{_umwtrsMaxErrors = a})  -- | The updated parameter values. umwtrsTaskInvocationParameters :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe MaintenanceWindowTaskInvocationParameters)-umwtrsTaskInvocationParameters = lens _umwtrsTaskInvocationParameters (\ s a -> s{_umwtrsTaskInvocationParameters = a});+umwtrsTaskInvocationParameters = lens _umwtrsTaskInvocationParameters (\ s a -> s{_umwtrsTaskInvocationParameters = a})  -- | The updated task name. umwtrsName :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsName = lens _umwtrsName (\ s a -> s{_umwtrsName = a});+umwtrsName = lens _umwtrsName (\ s a -> s{_umwtrsName = a})  -- | The updated target values. umwtrsTargets :: Lens' UpdateMaintenanceWindowTaskResponse [Target]-umwtrsTargets = lens _umwtrsTargets (\ s a -> s{_umwtrsTargets = a}) . _Default . _Coerce;+umwtrsTargets = lens _umwtrsTargets (\ s a -> s{_umwtrsTargets = a}) . _Default . _Coerce  -- | The updated logging information in Amazon S3. umwtrsLoggingInfo :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe LoggingInfo)-umwtrsLoggingInfo = lens _umwtrsLoggingInfo (\ s a -> s{_umwtrsLoggingInfo = a});+umwtrsLoggingInfo = lens _umwtrsLoggingInfo (\ s a -> s{_umwtrsLoggingInfo = a})  -- | The updated task description. umwtrsDescription :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsDescription = lens _umwtrsDescription (\ s a -> s{_umwtrsDescription = a}) . mapping _Sensitive;+umwtrsDescription = lens _umwtrsDescription (\ s a -> s{_umwtrsDescription = a}) . mapping _Sensitive  -- | The updated MaxConcurrency value. umwtrsMaxConcurrency :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsMaxConcurrency = lens _umwtrsMaxConcurrency (\ s a -> s{_umwtrsMaxConcurrency = a});+umwtrsMaxConcurrency = lens _umwtrsMaxConcurrency (\ s a -> s{_umwtrsMaxConcurrency = a})  -- | The ID of the Maintenance Window that was updated. umwtrsWindowId :: Lens' UpdateMaintenanceWindowTaskResponse (Maybe Text)-umwtrsWindowId = lens _umwtrsWindowId (\ s a -> s{_umwtrsWindowId = a});+umwtrsWindowId = lens _umwtrsWindowId (\ s a -> s{_umwtrsWindowId = a})  -- | -- | The response status code. umwtrsResponseStatus :: Lens' UpdateMaintenanceWindowTaskResponse Int-umwtrsResponseStatus = lens _umwtrsResponseStatus (\ s a -> s{_umwtrsResponseStatus = a});+umwtrsResponseStatus = lens _umwtrsResponseStatus (\ s a -> s{_umwtrsResponseStatus = a})  instance NFData UpdateMaintenanceWindowTaskResponse          where
gen/Network/AWS/SSM/UpdateManagedInstanceRole.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdateManagedInstanceRole--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,16 +64,16 @@     -> UpdateManagedInstanceRole updateManagedInstanceRole pInstanceId_ pIAMRole_ =   UpdateManagedInstanceRole'-  {_umirInstanceId = pInstanceId_, _umirIAMRole = pIAMRole_}+    {_umirInstanceId = pInstanceId_, _umirIAMRole = pIAMRole_}   -- | The ID of the managed instance where you want to update the role. umirInstanceId :: Lens' UpdateManagedInstanceRole Text-umirInstanceId = lens _umirInstanceId (\ s a -> s{_umirInstanceId = a});+umirInstanceId = lens _umirInstanceId (\ s a -> s{_umirInstanceId = a})  -- | The IAM role you want to assign or change. umirIAMRole :: Lens' UpdateManagedInstanceRole Text-umirIAMRole = lens _umirIAMRole (\ s a -> s{_umirIAMRole = a});+umirIAMRole = lens _umirIAMRole (\ s a -> s{_umirIAMRole = a})  instance AWSRequest UpdateManagedInstanceRole where         type Rs UpdateManagedInstanceRole =@@ -132,7 +132,7 @@  -- | -- | The response status code. umirrsResponseStatus :: Lens' UpdateManagedInstanceRoleResponse Int-umirrsResponseStatus = lens _umirrsResponseStatus (\ s a -> s{_umirrsResponseStatus = a});+umirrsResponseStatus = lens _umirrsResponseStatus (\ s a -> s{_umirrsResponseStatus = a})  instance NFData UpdateManagedInstanceRoleResponse          where
gen/Network/AWS/SSM/UpdatePatchBaseline.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.SSM.UpdatePatchBaseline--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,11 +27,14 @@       updatePatchBaseline     , UpdatePatchBaseline     -- * Request Lenses+    , upbReplace     , upbApprovalRules     , upbGlobalFilters     , upbApprovedPatchesComplianceLevel     , upbApprovedPatches+    , upbApprovedPatchesEnableNonSecurity     , upbRejectedPatches+    , upbSources     , upbName     , upbDescription     , upbBaselineId@@ -45,7 +48,9 @@     , upbrsGlobalFilters     , upbrsApprovedPatchesComplianceLevel     , upbrsApprovedPatches+    , upbrsApprovedPatchesEnableNonSecurity     , upbrsRejectedPatches+    , upbrsSources     , upbrsCreatedDate     , upbrsName     , upbrsModifiedDate@@ -63,31 +68,40 @@  -- | /See:/ 'updatePatchBaseline' smart constructor. data UpdatePatchBaseline = UpdatePatchBaseline'-  { _upbApprovalRules                  :: !(Maybe PatchRuleGroup)-  , _upbGlobalFilters                  :: !(Maybe PatchFilterGroup)-  , _upbApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)-  , _upbApprovedPatches                :: !(Maybe [Text])-  , _upbRejectedPatches                :: !(Maybe [Text])-  , _upbName                           :: !(Maybe Text)-  , _upbDescription                    :: !(Maybe Text)-  , _upbBaselineId                     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)+  { _upbReplace                          :: !(Maybe Bool)+  , _upbApprovalRules                    :: !(Maybe PatchRuleGroup)+  , _upbGlobalFilters                    :: !(Maybe PatchFilterGroup)+  , _upbApprovedPatchesComplianceLevel   :: !(Maybe PatchComplianceLevel)+  , _upbApprovedPatches                  :: !(Maybe [Text])+  , _upbApprovedPatchesEnableNonSecurity :: !(Maybe Bool)+  , _upbRejectedPatches                  :: !(Maybe [Text])+  , _upbSources                          :: !(Maybe [PatchSource])+  , _upbName                             :: !(Maybe Text)+  , _upbDescription                      :: !(Maybe Text)+  , _upbBaselineId                       :: !Text+  } deriving (Eq, Show, Data, Typeable, Generic)   -- | Creates a value of 'UpdatePatchBaseline' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'upbReplace' - 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.+-- -- * 'upbApprovalRules' - A set of rules used to include patches in the baseline. -- -- * 'upbGlobalFilters' - A set of global filters used to exclude patches from the baseline. -- -- * 'upbApprovedPatchesComplianceLevel' - Assigns a new compliance severity level to an existing patch baseline. ----- * 'upbApprovedPatches' - A list of explicitly approved patches for the baseline.+-- * 'upbApprovedPatches' - A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ . ----- * 'upbRejectedPatches' - A list of explicitly rejected patches for the baseline.+-- * 'upbApprovedPatchesEnableNonSecurity' - Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only. --+-- * 'upbRejectedPatches' - A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ .+--+-- * 'upbSources' - Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.+-- -- * 'upbName' - The name of the patch baseline. -- -- * 'upbDescription' - A description of the patch baseline.@@ -98,48 +112,63 @@     -> UpdatePatchBaseline updatePatchBaseline pBaselineId_ =   UpdatePatchBaseline'-  { _upbApprovalRules = Nothing-  , _upbGlobalFilters = Nothing-  , _upbApprovedPatchesComplianceLevel = Nothing-  , _upbApprovedPatches = Nothing-  , _upbRejectedPatches = Nothing-  , _upbName = Nothing-  , _upbDescription = Nothing-  , _upbBaselineId = pBaselineId_-  }+    { _upbReplace = Nothing+    , _upbApprovalRules = Nothing+    , _upbGlobalFilters = Nothing+    , _upbApprovedPatchesComplianceLevel = Nothing+    , _upbApprovedPatches = Nothing+    , _upbApprovedPatchesEnableNonSecurity = Nothing+    , _upbRejectedPatches = Nothing+    , _upbSources = Nothing+    , _upbName = Nothing+    , _upbDescription = Nothing+    , _upbBaselineId = pBaselineId_+    }  +-- | 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)+upbReplace = lens _upbReplace (\ s a -> s{_upbReplace = a})+ -- | A set of rules used to include patches in the baseline. upbApprovalRules :: Lens' UpdatePatchBaseline (Maybe PatchRuleGroup)-upbApprovalRules = lens _upbApprovalRules (\ s a -> s{_upbApprovalRules = a});+upbApprovalRules = lens _upbApprovalRules (\ s a -> s{_upbApprovalRules = a})  -- | A set of global filters used to exclude patches from the baseline. upbGlobalFilters :: Lens' UpdatePatchBaseline (Maybe PatchFilterGroup)-upbGlobalFilters = lens _upbGlobalFilters (\ s a -> s{_upbGlobalFilters = a});+upbGlobalFilters = lens _upbGlobalFilters (\ s a -> s{_upbGlobalFilters = a})  -- | Assigns a new compliance severity level to an existing patch baseline. upbApprovedPatchesComplianceLevel :: Lens' UpdatePatchBaseline (Maybe PatchComplianceLevel)-upbApprovedPatchesComplianceLevel = lens _upbApprovedPatchesComplianceLevel (\ s a -> s{_upbApprovedPatchesComplianceLevel = a});+upbApprovedPatchesComplianceLevel = lens _upbApprovedPatchesComplianceLevel (\ s a -> s{_upbApprovedPatchesComplianceLevel = a}) --- | A list of explicitly approved patches for the baseline.+-- | A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ . upbApprovedPatches :: Lens' UpdatePatchBaseline [Text]-upbApprovedPatches = lens _upbApprovedPatches (\ s a -> s{_upbApprovedPatches = a}) . _Default . _Coerce;+upbApprovedPatches = lens _upbApprovedPatches (\ s a -> s{_upbApprovedPatches = a}) . _Default . _Coerce --- | A list of explicitly rejected patches for the baseline.+-- | Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.+upbApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaseline (Maybe Bool)+upbApprovedPatchesEnableNonSecurity = lens _upbApprovedPatchesEnableNonSecurity (\ s a -> s{_upbApprovedPatchesEnableNonSecurity = a})++-- | A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see <http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html Package Name Formats for Approved and Rejected Patch Lists> in the /AWS Systems Manager User Guide/ . upbRejectedPatches :: Lens' UpdatePatchBaseline [Text]-upbRejectedPatches = lens _upbRejectedPatches (\ s a -> s{_upbRejectedPatches = a}) . _Default . _Coerce;+upbRejectedPatches = lens _upbRejectedPatches (\ s a -> s{_upbRejectedPatches = a}) . _Default . _Coerce +-- | 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]+upbSources = lens _upbSources (\ s a -> s{_upbSources = a}) . _Default . _Coerce+ -- | The name of the patch baseline. upbName :: Lens' UpdatePatchBaseline (Maybe Text)-upbName = lens _upbName (\ s a -> s{_upbName = a});+upbName = lens _upbName (\ s a -> s{_upbName = a})  -- | A description of the patch baseline. upbDescription :: Lens' UpdatePatchBaseline (Maybe Text)-upbDescription = lens _upbDescription (\ s a -> s{_upbDescription = a});+upbDescription = lens _upbDescription (\ s a -> s{_upbDescription = a})  -- | The ID of the patch baseline to update. upbBaselineId :: Lens' UpdatePatchBaseline Text-upbBaselineId = lens _upbBaselineId (\ s a -> s{_upbBaselineId = a});+upbBaselineId = lens _upbBaselineId (\ s a -> s{_upbBaselineId = a})  instance AWSRequest UpdatePatchBaseline where         type Rs UpdatePatchBaseline =@@ -153,7 +182,9 @@                      <*> (x .?> "GlobalFilters")                      <*> (x .?> "ApprovedPatchesComplianceLevel")                      <*> (x .?> "ApprovedPatches" .!@ mempty)+                     <*> (x .?> "ApprovedPatchesEnableNonSecurity")                      <*> (x .?> "RejectedPatches" .!@ mempty)+                     <*> (x .?> "Sources" .!@ mempty)                      <*> (x .?> "CreatedDate")                      <*> (x .?> "Name")                      <*> (x .?> "ModifiedDate")@@ -178,12 +209,16 @@         toJSON UpdatePatchBaseline'{..}           = object               (catMaybes-                 [("ApprovalRules" .=) <$> _upbApprovalRules,+                 [("Replace" .=) <$> _upbReplace,+                  ("ApprovalRules" .=) <$> _upbApprovalRules,                   ("GlobalFilters" .=) <$> _upbGlobalFilters,                   ("ApprovedPatchesComplianceLevel" .=) <$>                     _upbApprovedPatchesComplianceLevel,                   ("ApprovedPatches" .=) <$> _upbApprovedPatches,+                  ("ApprovedPatchesEnableNonSecurity" .=) <$>+                    _upbApprovedPatchesEnableNonSecurity,                   ("RejectedPatches" .=) <$> _upbRejectedPatches,+                  ("Sources" .=) <$> _upbSources,                   ("Name" .=) <$> _upbName,                   ("Description" .=) <$> _upbDescription,                   Just ("BaselineId" .= _upbBaselineId)])@@ -196,19 +231,21 @@  -- | /See:/ 'updatePatchBaselineResponse' smart constructor. data UpdatePatchBaselineResponse = UpdatePatchBaselineResponse'-  { _upbrsApprovalRules                  :: !(Maybe PatchRuleGroup)-  , _upbrsOperatingSystem                :: !(Maybe OperatingSystem)-  , _upbrsGlobalFilters                  :: !(Maybe PatchFilterGroup)-  , _upbrsApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)-  , _upbrsApprovedPatches                :: !(Maybe [Text])-  , _upbrsRejectedPatches                :: !(Maybe [Text])-  , _upbrsCreatedDate                    :: !(Maybe POSIX)-  , _upbrsName                           :: !(Maybe Text)-  , _upbrsModifiedDate                   :: !(Maybe POSIX)-  , _upbrsDescription                    :: !(Maybe Text)-  , _upbrsBaselineId                     :: !(Maybe Text)-  , _upbrsResponseStatus                 :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)+  { _upbrsApprovalRules                    :: !(Maybe PatchRuleGroup)+  , _upbrsOperatingSystem                  :: !(Maybe OperatingSystem)+  , _upbrsGlobalFilters                    :: !(Maybe PatchFilterGroup)+  , _upbrsApprovedPatchesComplianceLevel   :: !(Maybe PatchComplianceLevel)+  , _upbrsApprovedPatches                  :: !(Maybe [Text])+  , _upbrsApprovedPatchesEnableNonSecurity :: !(Maybe Bool)+  , _upbrsRejectedPatches                  :: !(Maybe [Text])+  , _upbrsSources                          :: !(Maybe [PatchSource])+  , _upbrsCreatedDate                      :: !(Maybe POSIX)+  , _upbrsName                             :: !(Maybe Text)+  , _upbrsModifiedDate                     :: !(Maybe POSIX)+  , _upbrsDescription                      :: !(Maybe Text)+  , _upbrsBaselineId                       :: !(Maybe Text)+  , _upbrsResponseStatus                   :: !Int+  } deriving (Eq, Show, Data, Typeable, Generic)   -- | Creates a value of 'UpdatePatchBaselineResponse' with the minimum fields required to make a request.@@ -225,8 +262,12 @@ -- -- * 'upbrsApprovedPatches' - A list of explicitly approved patches for the baseline. --+-- * 'upbrsApprovedPatchesEnableNonSecurity' - Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.+-- -- * 'upbrsRejectedPatches' - A list of explicitly rejected patches for the baseline. --+-- * 'upbrsSources' - Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.+-- -- * 'upbrsCreatedDate' - The date when the patch baseline was created. -- -- * 'upbrsName' - The name of the patch baseline.@@ -243,67 +284,77 @@     -> UpdatePatchBaselineResponse updatePatchBaselineResponse pResponseStatus_ =   UpdatePatchBaselineResponse'-  { _upbrsApprovalRules = Nothing-  , _upbrsOperatingSystem = Nothing-  , _upbrsGlobalFilters = Nothing-  , _upbrsApprovedPatchesComplianceLevel = Nothing-  , _upbrsApprovedPatches = Nothing-  , _upbrsRejectedPatches = Nothing-  , _upbrsCreatedDate = Nothing-  , _upbrsName = Nothing-  , _upbrsModifiedDate = Nothing-  , _upbrsDescription = Nothing-  , _upbrsBaselineId = Nothing-  , _upbrsResponseStatus = pResponseStatus_-  }+    { _upbrsApprovalRules = Nothing+    , _upbrsOperatingSystem = Nothing+    , _upbrsGlobalFilters = Nothing+    , _upbrsApprovedPatchesComplianceLevel = Nothing+    , _upbrsApprovedPatches = Nothing+    , _upbrsApprovedPatchesEnableNonSecurity = Nothing+    , _upbrsRejectedPatches = Nothing+    , _upbrsSources = Nothing+    , _upbrsCreatedDate = Nothing+    , _upbrsName = Nothing+    , _upbrsModifiedDate = Nothing+    , _upbrsDescription = Nothing+    , _upbrsBaselineId = Nothing+    , _upbrsResponseStatus = pResponseStatus_+    }   -- | A set of rules used to include patches in the baseline. upbrsApprovalRules :: Lens' UpdatePatchBaselineResponse (Maybe PatchRuleGroup)-upbrsApprovalRules = lens _upbrsApprovalRules (\ s a -> s{_upbrsApprovalRules = a});+upbrsApprovalRules = lens _upbrsApprovalRules (\ s a -> s{_upbrsApprovalRules = a})  -- | The operating system rule used by the updated patch baseline. upbrsOperatingSystem :: Lens' UpdatePatchBaselineResponse (Maybe OperatingSystem)-upbrsOperatingSystem = lens _upbrsOperatingSystem (\ s a -> s{_upbrsOperatingSystem = a});+upbrsOperatingSystem = lens _upbrsOperatingSystem (\ s a -> s{_upbrsOperatingSystem = a})  -- | A set of global filters used to exclude patches from the baseline. upbrsGlobalFilters :: Lens' UpdatePatchBaselineResponse (Maybe PatchFilterGroup)-upbrsGlobalFilters = lens _upbrsGlobalFilters (\ s a -> s{_upbrsGlobalFilters = a});+upbrsGlobalFilters = lens _upbrsGlobalFilters (\ s a -> s{_upbrsGlobalFilters = a})  -- | The compliance severity level assigned to the patch baseline after the update completed. upbrsApprovedPatchesComplianceLevel :: Lens' UpdatePatchBaselineResponse (Maybe PatchComplianceLevel)-upbrsApprovedPatchesComplianceLevel = lens _upbrsApprovedPatchesComplianceLevel (\ s a -> s{_upbrsApprovedPatchesComplianceLevel = a});+upbrsApprovedPatchesComplianceLevel = lens _upbrsApprovedPatchesComplianceLevel (\ s a -> s{_upbrsApprovedPatchesComplianceLevel = a})  -- | A list of explicitly approved patches for the baseline. upbrsApprovedPatches :: Lens' UpdatePatchBaselineResponse [Text]-upbrsApprovedPatches = lens _upbrsApprovedPatches (\ s a -> s{_upbrsApprovedPatches = a}) . _Default . _Coerce;+upbrsApprovedPatches = lens _upbrsApprovedPatches (\ s a -> s{_upbrsApprovedPatches = a}) . _Default . _Coerce +-- | Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.+upbrsApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaselineResponse (Maybe Bool)+upbrsApprovedPatchesEnableNonSecurity = lens _upbrsApprovedPatchesEnableNonSecurity (\ s a -> s{_upbrsApprovedPatchesEnableNonSecurity = a})+ -- | A list of explicitly rejected patches for the baseline. upbrsRejectedPatches :: Lens' UpdatePatchBaselineResponse [Text]-upbrsRejectedPatches = lens _upbrsRejectedPatches (\ s a -> s{_upbrsRejectedPatches = a}) . _Default . _Coerce;+upbrsRejectedPatches = lens _upbrsRejectedPatches (\ s a -> s{_upbrsRejectedPatches = a}) . _Default . _Coerce +-- | 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]+upbrsSources = lens _upbrsSources (\ s a -> s{_upbrsSources = a}) . _Default . _Coerce+ -- | The date when the patch baseline was created. upbrsCreatedDate :: Lens' UpdatePatchBaselineResponse (Maybe UTCTime)-upbrsCreatedDate = lens _upbrsCreatedDate (\ s a -> s{_upbrsCreatedDate = a}) . mapping _Time;+upbrsCreatedDate = lens _upbrsCreatedDate (\ s a -> s{_upbrsCreatedDate = a}) . mapping _Time  -- | The name of the patch baseline. upbrsName :: Lens' UpdatePatchBaselineResponse (Maybe Text)-upbrsName = lens _upbrsName (\ s a -> s{_upbrsName = a});+upbrsName = lens _upbrsName (\ s a -> s{_upbrsName = a})  -- | The date when the patch baseline was last modified. upbrsModifiedDate :: Lens' UpdatePatchBaselineResponse (Maybe UTCTime)-upbrsModifiedDate = lens _upbrsModifiedDate (\ s a -> s{_upbrsModifiedDate = a}) . mapping _Time;+upbrsModifiedDate = lens _upbrsModifiedDate (\ s a -> s{_upbrsModifiedDate = a}) . mapping _Time  -- | A description of the Patch Baseline. upbrsDescription :: Lens' UpdatePatchBaselineResponse (Maybe Text)-upbrsDescription = lens _upbrsDescription (\ s a -> s{_upbrsDescription = a});+upbrsDescription = lens _upbrsDescription (\ s a -> s{_upbrsDescription = a})  -- | The ID of the deleted patch baseline. upbrsBaselineId :: Lens' UpdatePatchBaselineResponse (Maybe Text)-upbrsBaselineId = lens _upbrsBaselineId (\ s a -> s{_upbrsBaselineId = a});+upbrsBaselineId = lens _upbrsBaselineId (\ s a -> s{_upbrsBaselineId = a})  -- | -- | The response status code. upbrsResponseStatus :: Lens' UpdatePatchBaselineResponse Int-upbrsResponseStatus = lens _upbrsResponseStatus (\ s a -> s{_upbrsResponseStatus = a});+upbrsResponseStatus = lens _upbrsResponseStatus (\ s a -> s{_upbrsResponseStatus = a})  instance NFData UpdatePatchBaselineResponse where
gen/Network/AWS/SSM/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.SSM.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Gen/SSM.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.SSM--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -163,6 +163,9 @@ --         , requestCancelCommand $ --             cancelCommand --+--         , requestDescribeAutomationStepExecutions $+--             describeAutomationStepExecutions+-- --         , requestGetCommandInvocation $ --             getCommandInvocation --@@ -268,6 +271,12 @@ --         , requestUpdateAssociation $ --             updateAssociation --+--         , requestDescribeInventoryDeletions $+--             describeInventoryDeletions+--+--         , requestDeleteInventory $+--             deleteInventory+-- --         , requestPutInventory $ --             putInventory --@@ -454,6 +463,9 @@ --         , responseCancelCommand $ --             cancelCommandResponse --+--         , responseDescribeAutomationStepExecutions $+--             describeAutomationStepExecutionsResponse+-- --         , responseGetCommandInvocation $ --             getCommandInvocationResponse --@@ -559,6 +571,12 @@ --         , responseUpdateAssociation $ --             updateAssociationResponse --+--         , responseDescribeInventoryDeletions $+--             describeInventoryDeletionsResponse+--+--         , responseDeleteInventory $+--             deleteInventoryResponse+-- --         , responsePutInventory $ --             putInventoryResponse --@@ -837,6 +855,11 @@     "CancelCommand"     "fixture/CancelCommand.yaml" +requestDescribeAutomationStepExecutions :: DescribeAutomationStepExecutions -> TestTree+requestDescribeAutomationStepExecutions = req+    "DescribeAutomationStepExecutions"+    "fixture/DescribeAutomationStepExecutions.yaml"+ requestGetCommandInvocation :: GetCommandInvocation -> TestTree requestGetCommandInvocation = req     "GetCommandInvocation"@@ -1012,6 +1035,16 @@     "UpdateAssociation"     "fixture/UpdateAssociation.yaml" +requestDescribeInventoryDeletions :: DescribeInventoryDeletions -> TestTree+requestDescribeInventoryDeletions = req+    "DescribeInventoryDeletions"+    "fixture/DescribeInventoryDeletions.yaml"++requestDeleteInventory :: DeleteInventory -> TestTree+requestDeleteInventory = req+    "DeleteInventory"+    "fixture/DeleteInventory.yaml"+ requestPutInventory :: PutInventory -> TestTree requestPutInventory = req     "PutInventory"@@ -1409,6 +1442,13 @@     ssm     (Proxy :: Proxy CancelCommand) +responseDescribeAutomationStepExecutions :: DescribeAutomationStepExecutionsResponse -> TestTree+responseDescribeAutomationStepExecutions = res+    "DescribeAutomationStepExecutionsResponse"+    "fixture/DescribeAutomationStepExecutionsResponse.proto"+    ssm+    (Proxy :: Proxy DescribeAutomationStepExecutions)+ responseGetCommandInvocation :: GetCommandInvocationResponse -> TestTree responseGetCommandInvocation = res     "GetCommandInvocationResponse"@@ -1653,6 +1693,20 @@     "fixture/UpdateAssociationResponse.proto"     ssm     (Proxy :: Proxy UpdateAssociation)++responseDescribeInventoryDeletions :: DescribeInventoryDeletionsResponse -> TestTree+responseDescribeInventoryDeletions = res+    "DescribeInventoryDeletionsResponse"+    "fixture/DescribeInventoryDeletionsResponse.proto"+    ssm+    (Proxy :: Proxy DescribeInventoryDeletions)++responseDeleteInventory :: DeleteInventoryResponse -> TestTree+responseDeleteInventory = res+    "DeleteInventoryResponse"+    "fixture/DeleteInventoryResponse.proto"+    ssm+    (Proxy :: Proxy DeleteInventory)  responsePutInventory :: PutInventoryResponse -> TestTree responsePutInventory = res
test/Test/AWS/SSM.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-}  -- Module      : Test.AWS.SSM--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or
test/Test/AWS/SSM/Internal.hs view
@@ -2,7 +2,7 @@ {-# OPTIONS_GHC -fno-warn-unused-imports #-}  -- Module      : Test.AWS.SSM.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or