amazonka-config-1.1.0: Amazon Config SDK.

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.Config

Contents

Description

AWS Config

AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an Elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources.

You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config

This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config.

The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process.

For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config? in the AWS Config Developer Guide.

See: AWS API Reference

Synopsis

Service

data Config Source

Version 2014-11-12 of the Amazon Config SDK.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by Config.

ValidationException

_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError Source

The requested action is not valid.

InvalidTimeRangeException

_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified time range is not valid. The earlier time is not chronologically before the later time.

InvalidRecordingGroupException

_InvalidRecordingGroupException :: AsError a => Getting (First ServiceError) a ServiceError Source

AWS Config throws an exception if the recording group does not contain a valid list of resource types. Invalid values could also be incorrectly formatted.

InvalidSNSTopicARNException

_InvalidSNSTopicARNException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified Amazon SNS topic does not exist.

InvalidRoleException

_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have provided a null or empty role ARN.

LastDeliveryChannelDeleteFailedException

_LastDeliveryChannelDeleteFailedException :: AsError a => Getting (First ServiceError) a ServiceError Source

You cannot delete the delivery channel you specified because the configuration recorder is running.

InvalidLimitException

_InvalidLimitException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have reached the limit on the pagination.

InvalidDeliveryChannelNameException

_InvalidDeliveryChannelNameException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified delivery channel name is not valid.

NoSuchDeliveryChannelException

_NoSuchDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have specified a delivery channel that does not exist.

ResourceNotDiscoveredException

_ResourceNotDiscoveredException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have specified a resource that is either unknown or has not been discovered.

InvalidNextTokenException

_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified nextToken for pagination is not valid.

NoSuchBucketException

_NoSuchBucketException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified Amazon S3 bucket does not exist.

NoAvailableConfigurationRecorderException

_NoAvailableConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError Source

There are no configuration recorders available to provide the role needed to describe your resources.

NoAvailableDeliveryChannelException

_NoAvailableDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError Source

There is no delivery channel available to record configurations.

NoRunningConfigurationRecorderException

_NoRunningConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError Source

There is no configuration recorder running.

MaxNumberOfConfigurationRecordersExceededException

_MaxNumberOfConfigurationRecordersExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have reached the limit on the number of recorders you can create.

InvalidConfigurationRecorderNameException

_InvalidConfigurationRecorderNameException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have provided a configuration recorder name that is not valid.

InsufficientDeliveryPolicyException

_InsufficientDeliveryPolicyException :: AsError a => Getting (First ServiceError) a ServiceError Source

Your Amazon S3 bucket policy does not permit AWS Config to write to it.

MaxNumberOfDeliveryChannelsExceededException

_MaxNumberOfDeliveryChannelsExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have reached the limit on the number of delivery channels you can create.

NoSuchConfigurationRecorderException

_NoSuchConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError Source

You have specified a configuration recorder that does not exist.

InvalidS3KeyPrefixException

_InvalidS3KeyPrefixException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified Amazon S3 key prefix is not valid.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

GetResourceConfigHistory

StopConfigurationRecorder

DeliverConfigSnapshot

DescribeConfigurationRecorders

StartConfigurationRecorder

DescribeConfigurationRecorderStatus

PutConfigurationRecorder

DeleteDeliveryChannel

PutDeliveryChannel

DescribeDeliveryChannelStatus

DescribeDeliveryChannels

Types

ChronologicalOrder

ConfigurationItemStatus

DeliveryStatus

RecorderStatus

ResourceType

ConfigExportDeliveryInfo

data ConfigExportDeliveryInfo Source

A list that contains the status of the delivery of either the snapshot or the configuration history to the specified Amazon S3 bucket.

See: configExportDeliveryInfo smart constructor.

configExportDeliveryInfo :: ConfigExportDeliveryInfo Source

Creates a value of ConfigExportDeliveryInfo with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

cediLastErrorCode :: Lens' ConfigExportDeliveryInfo (Maybe Text) Source

The error code from the last attempted delivery.

cediLastAttemptTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime) Source

The time of the last attempted delivery.

cediLastSuccessfulTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime) Source

The time of the last successful delivery.

cediLastStatus :: Lens' ConfigExportDeliveryInfo (Maybe DeliveryStatus) Source

Status of the last attempted delivery.

cediLastErrorMessage :: Lens' ConfigExportDeliveryInfo (Maybe Text) Source

The error message from the last attempted delivery.

ConfigStreamDeliveryInfo

configStreamDeliveryInfo :: ConfigStreamDeliveryInfo Source

Creates a value of ConfigStreamDeliveryInfo with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

csdiLastErrorCode :: Lens' ConfigStreamDeliveryInfo (Maybe Text) Source

The error code from the last attempted delivery.

csdiLastStatus :: Lens' ConfigStreamDeliveryInfo (Maybe DeliveryStatus) Source

Status of the last attempted delivery.

Note Providing an SNS topic on a DeliveryChannel for AWS Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

csdiLastErrorMessage :: Lens' ConfigStreamDeliveryInfo (Maybe Text) Source

The error message from the last attempted delivery.

ConfigurationItem

data ConfigurationItem Source

A list that contains detailed configurations of a specified resource.

Currently, the list does not contain information about non-AWS components (for example, applications on your Amazon EC2 instances).

See: configurationItem smart constructor.

ciResourceId :: Lens' ConfigurationItem (Maybe Text) Source

The ID of the resource (for example., 'sg-xxxxxx').

ciConfigurationStateId :: Lens' ConfigurationItem (Maybe Text) Source

An identifier that indicates the ordering of the configuration items of a resource.

ciArn :: Lens' ConfigurationItem (Maybe Text) Source

The Amazon Resource Name (ARN) of the resource.

ciResourceCreationTime :: Lens' ConfigurationItem (Maybe UTCTime) Source

The time stamp when the resource was created.

ciAccountId :: Lens' ConfigurationItem (Maybe Text) Source

The 12 digit AWS account ID associated with the resource.

ciConfigurationItemCaptureTime :: Lens' ConfigurationItem (Maybe UTCTime) Source

The time when the configuration recording was initiated.

ciAvailabilityZone :: Lens' ConfigurationItem (Maybe Text) Source

The Availability Zone associated with the resource.

ciRelationships :: Lens' ConfigurationItem [Relationship] Source

A list of related AWS resources.

ciVersion :: Lens' ConfigurationItem (Maybe Text) Source

The version number of the resource configuration.

ciRelatedEvents :: Lens' ConfigurationItem [Text] Source

A list of CloudTrail event IDs.

A populated field indicates that the current configuration was initiated by the events recorded in the CloudTrail log. For more information about CloudTrail, see What is AWS CloudTrail?.

An empty field indicates that the current configuration was not initiated by any event.

ciConfiguration :: Lens' ConfigurationItem (Maybe Text) Source

The description of the resource configuration.

ciConfigurationItemMD5Hash :: Lens' ConfigurationItem (Maybe Text) Source

Unique MD5 hash that represents the configuration item's state.

You can use MD5 hash to compare the states of two or more configuration items that are associated with the same resource.

ciTags :: Lens' ConfigurationItem (HashMap Text Text) Source

A mapping of key value tags associated with the resource.

ConfigurationRecorder

configurationRecorder :: ConfigurationRecorder Source

Creates a value of ConfigurationRecorder with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

crName :: Lens' ConfigurationRecorder (Maybe Text) Source

The name of the recorder. By default, AWS Config automatically assigns the name "default" when creating the configuration recorder. You cannot change the assigned name.

crRecordingGroup :: Lens' ConfigurationRecorder (Maybe RecordingGroup) Source

The recording group specifies either to record configurations for all supported resources or to provide a list of resource types to record. The list of resource types must be a subset of supported resource types.

crRoleARN :: Lens' ConfigurationRecorder (Maybe Text) Source

Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources associated with the account.

ConfigurationRecorderStatus

configurationRecorderStatus :: ConfigurationRecorderStatus Source

Creates a value of ConfigurationRecorderStatus with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

crsLastErrorCode :: Lens' ConfigurationRecorderStatus (Maybe Text) Source

The error code indicating that the recording failed.

crsLastStopTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime) Source

The time the recorder was last stopped.

crsLastStatusChangeTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime) Source

The time when the status was last changed.

crsRecording :: Lens' ConfigurationRecorderStatus (Maybe Bool) Source

Specifies whether the recorder is currently recording or not.

crsLastStatus :: Lens' ConfigurationRecorderStatus (Maybe RecorderStatus) Source

The last (previous) status of the recorder.

crsLastErrorMessage :: Lens' ConfigurationRecorderStatus (Maybe Text) Source

The message indicating that the recording failed due to an error.

crsName :: Lens' ConfigurationRecorderStatus (Maybe Text) Source

The name of the configuration recorder.

crsLastStartTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime) Source

The time the recorder was last started.

DeliveryChannel

deliveryChannel :: DeliveryChannel Source

Creates a value of DeliveryChannel with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

dcS3KeyPrefix :: Lens' DeliveryChannel (Maybe Text) Source

The prefix for the specified Amazon S3 bucket.

dcSnsTopicARN :: Lens' DeliveryChannel (Maybe Text) Source

The Amazon Resource Name (ARN) of the IAM role used for accessing the Amazon S3 bucket and the Amazon SNS topic.

dcName :: Lens' DeliveryChannel (Maybe Text) Source

The name of the delivery channel. By default, AWS Config automatically assigns the name "default" when creating the delivery channel. You cannot change the assigned name.

dcS3BucketName :: Lens' DeliveryChannel (Maybe Text) Source

The name of the Amazon S3 bucket used to store configuration history for the delivery channel.

DeliveryChannelStatus

deliveryChannelStatus :: DeliveryChannelStatus Source

Creates a value of DeliveryChannelStatus with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

dcsConfigStreamDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigStreamDeliveryInfo) Source

A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic.

dcsConfigSnapshotDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo) Source

A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket.

dcsConfigHistoryDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo) Source

A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket.

dcsName :: Lens' DeliveryChannelStatus (Maybe Text) Source

The name of the delivery channel.

RecordingGroup

data RecordingGroup Source

The group of AWS resource types that AWS Config records when starting the configuration recorder.

recordingGroup can have one and only one parameter. Choose either allSupported or resourceTypes.

See: recordingGroup smart constructor.

recordingGroup :: RecordingGroup Source

Creates a value of RecordingGroup with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rgAllSupported :: Lens' RecordingGroup (Maybe Bool) Source

Records all supported resource types in the recording group. For a list of supported resource types, see Supported resource types. If you specify allSupported, you cannot enumerate a list of resourceTypes.

rgResourceTypes :: Lens' RecordingGroup [ResourceType] Source

A comma-separated list of strings representing valid AWS resource types (e.g., 'AWS::EC2::Instance' or 'AWS::CloudTrail::Trail'). resourceTypes is only valid if you have chosen not to select allSupported. For a list of valid resourceTypes values, see the resourceType Value column in the following topic: Supported AWS Resource Types.

Relationship

data Relationship Source

The relationship of the related resource to the main resource.

See: relationship smart constructor.

relationship :: Relationship Source

Creates a value of Relationship with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rResourceId :: Lens' Relationship (Maybe Text) Source

The resource ID of the related resource (for example, 'sg-xxxxxx').

rResourceType :: Lens' Relationship (Maybe ResourceType) Source

The resource type of the related resource.

rRelationshipName :: Lens' Relationship (Maybe Text) Source

The name of the related resource.