amazonka-resourcegroups-1.6.0: Amazon Resource Groups SDK.

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

Network.AWS.ResourceGroups

Contents

Description

AWS Resource Groups

AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service databases, and Amazon S3 buckets into groups using criteria that you define as tags. A resource group is a collection of resources that match the resource types specified in a query, and share one or more tags or portions of tags. You can create a group of resources based on their roles in your cloud infrastructure, lifecycle stages, regions, application layers, or virtually any criteria. Resource groups enable you to automate management tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in AWS Systems Manager that shows AWS Config compliance and other monitoring data about member resources.

To create a resource group, build a resource query, and specify tags that identify the criteria that members of the group have in common. Tags are key-value pairs.

For more information about Resource Groups, see the AWS Resource Groups User Guide .

AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of operations.

  • Create, Read, Update, and Delete (CRUD) operations on resource groups and resource query entities
  • Applying, editing, and removing tags from resource groups
  • Resolving resource group member ARNs so they can be returned as search results
  • Getting data about resources that are members of a group
  • Searching AWS resources based on a resource query

Synopsis

Service Configuration

resourceGroups :: Service Source #

API version 2017-11-27 of the Amazon Resource Groups SDK configuration.

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

ForbiddenException

_ForbiddenException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The caller is not authorized to make the request.

NotFoundException

_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #

One or more resources specified in the request do not exist.

TooManyRequestsException

_TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The caller has exceeded throttling limits.

InternalServerErrorException

_InternalServerErrorException :: AsError a => Getting (First ServiceError) a ServiceError Source #

An internal error occurred while processing the request.

MethodNotAllowedException

_MethodNotAllowedException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request uses an HTTP method which is not allowed for the specified resource.

UnauthorizedException

_UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request has not been applied because it lacks valid authentication credentials for the target resource.

BadRequestException

_BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request does not comply with validation rules that are defined for the request parameters.

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.

SearchResources (Paginated)

GetTags

Tag

Untag

UpdateGroupQuery

ListGroupResources (Paginated)

GetGroupQuery

CreateGroup

DeleteGroup

UpdateGroup

ListGroups (Paginated)

GetGroup

Types

QueryType

data QueryType Source #

Constructors

TagFilters10 

Instances

Bounded QueryType Source # 
Enum QueryType Source # 
Eq QueryType Source # 
Data QueryType Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QueryType -> c QueryType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QueryType #

toConstr :: QueryType -> Constr #

dataTypeOf :: QueryType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c QueryType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QueryType) #

gmapT :: (forall b. Data b => b -> b) -> QueryType -> QueryType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QueryType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QueryType -> r #

gmapQ :: (forall d. Data d => d -> u) -> QueryType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> QueryType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> QueryType -> m QueryType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryType -> m QueryType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryType -> m QueryType #

Ord QueryType Source # 
Read QueryType Source # 
Show QueryType Source # 
Generic QueryType Source # 

Associated Types

type Rep QueryType :: * -> * #

Hashable QueryType Source # 
ToJSON QueryType Source # 
FromJSON QueryType Source # 
NFData QueryType Source # 

Methods

rnf :: QueryType -> () #

ToHeader QueryType Source # 
ToQuery QueryType Source # 
ToByteString QueryType Source # 

Methods

toBS :: QueryType -> ByteString #

FromText QueryType Source # 
ToText QueryType Source # 

Methods

toText :: QueryType -> Text #

type Rep QueryType Source # 
type Rep QueryType = D1 * (MetaData "QueryType" "Network.AWS.ResourceGroups.Types.Sum" "amazonka-resourcegroups-1.6.0-BcTE97yO3xiNkTKZdYgRR" False) (C1 * (MetaCons "TagFilters10" PrefixI False) (U1 *))

Group

data Group Source #

A resource group.

See: group' smart constructor.

Instances

Eq Group Source # 

Methods

(==) :: Group -> Group -> Bool #

(/=) :: Group -> Group -> Bool #

Data Group Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Group -> c Group #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Group #

toConstr :: Group -> Constr #

dataTypeOf :: Group -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Group) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Group) #

gmapT :: (forall b. Data b => b -> b) -> Group -> Group #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Group -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Group -> r #

gmapQ :: (forall d. Data d => d -> u) -> Group -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Group -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Group -> m Group #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Group -> m Group #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Group -> m Group #

Read Group Source # 
Show Group Source # 

Methods

showsPrec :: Int -> Group -> ShowS #

show :: Group -> String #

showList :: [Group] -> ShowS #

Generic Group Source # 

Associated Types

type Rep Group :: * -> * #

Methods

from :: Group -> Rep Group x #

to :: Rep Group x -> Group #

Hashable Group Source # 

Methods

hashWithSalt :: Int -> Group -> Int #

hash :: Group -> Int #

FromJSON Group Source # 
NFData Group Source # 

Methods

rnf :: Group -> () #

type Rep Group Source # 
type Rep Group = D1 * (MetaData "Group" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.0-BcTE97yO3xiNkTKZdYgRR" False) (C1 * (MetaCons "Group'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_gDescription") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) ((:*:) * (S1 * (MetaSel (Just Symbol "_gGroupARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "_gName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)))))

group' Source #

Arguments

:: Text

gGroupARN

-> Text

gName

-> Group 

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

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

  • gDescription - The description of the resource group.
  • gGroupARN - The ARN of a resource group.
  • gName - The name of a resource group.

gDescription :: Lens' Group (Maybe Text) Source #

The description of the resource group.

gGroupARN :: Lens' Group Text Source #

The ARN of a resource group.

gName :: Lens' Group Text Source #

The name of a resource group.

GroupQuery

data GroupQuery Source #

The underlying resource query of a resource group. Resources that match query results are part of the group.

See: groupQuery smart constructor.

Instances

Eq GroupQuery Source # 
Data GroupQuery Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GroupQuery -> c GroupQuery #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GroupQuery #

toConstr :: GroupQuery -> Constr #

dataTypeOf :: GroupQuery -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c GroupQuery) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GroupQuery) #

gmapT :: (forall b. Data b => b -> b) -> GroupQuery -> GroupQuery #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GroupQuery -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GroupQuery -> r #

gmapQ :: (forall d. Data d => d -> u) -> GroupQuery -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GroupQuery -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GroupQuery -> m GroupQuery #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GroupQuery -> m GroupQuery #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GroupQuery -> m GroupQuery #

Read GroupQuery Source # 
Show GroupQuery Source # 
Generic GroupQuery Source # 

Associated Types

type Rep GroupQuery :: * -> * #

Hashable GroupQuery Source # 
FromJSON GroupQuery Source # 
NFData GroupQuery Source # 

Methods

rnf :: GroupQuery -> () #

type Rep GroupQuery Source # 
type Rep GroupQuery = D1 * (MetaData "GroupQuery" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.0-BcTE97yO3xiNkTKZdYgRR" False) (C1 * (MetaCons "GroupQuery'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_gqGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "_gqResourceQuery") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * ResourceQuery))))

groupQuery Source #

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

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

  • gqGroupName - The name of a resource group that is associated with a specific resource query.
  • gqResourceQuery - The resource query which determines which AWS resources are members of the associated resource group.

gqGroupName :: Lens' GroupQuery Text Source #

The name of a resource group that is associated with a specific resource query.

gqResourceQuery :: Lens' GroupQuery ResourceQuery Source #

The resource query which determines which AWS resources are members of the associated resource group.

ResourceIdentifier

data ResourceIdentifier Source #

The ARN of a resource, and its resource type.

See: resourceIdentifier smart constructor.

Instances

Eq ResourceIdentifier Source # 
Data ResourceIdentifier Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResourceIdentifier -> c ResourceIdentifier #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResourceIdentifier #

toConstr :: ResourceIdentifier -> Constr #

dataTypeOf :: ResourceIdentifier -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ResourceIdentifier) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResourceIdentifier) #

gmapT :: (forall b. Data b => b -> b) -> ResourceIdentifier -> ResourceIdentifier #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResourceIdentifier -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResourceIdentifier -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResourceIdentifier -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResourceIdentifier -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResourceIdentifier -> m ResourceIdentifier #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourceIdentifier -> m ResourceIdentifier #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourceIdentifier -> m ResourceIdentifier #

Read ResourceIdentifier Source # 
Show ResourceIdentifier Source # 
Generic ResourceIdentifier Source # 
Hashable ResourceIdentifier Source # 
FromJSON ResourceIdentifier Source # 
NFData ResourceIdentifier Source # 

Methods

rnf :: ResourceIdentifier -> () #

type Rep ResourceIdentifier Source # 
type Rep ResourceIdentifier = D1 * (MetaData "ResourceIdentifier" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.0-BcTE97yO3xiNkTKZdYgRR" False) (C1 * (MetaCons "ResourceIdentifier'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_riResourceType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) (S1 * (MetaSel (Just Symbol "_riResourceARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text)))))

resourceIdentifier :: ResourceIdentifier Source #

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

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

riResourceType :: Lens' ResourceIdentifier (Maybe Text) Source #

The resource type of a resource, such as AWS::EC2::Instance .

ResourceQuery

data ResourceQuery Source #

The query that is used to define a resource group or a search for resources.

See: resourceQuery smart constructor.

Instances

Eq ResourceQuery Source # 
Data ResourceQuery Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResourceQuery -> c ResourceQuery #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResourceQuery #

toConstr :: ResourceQuery -> Constr #

dataTypeOf :: ResourceQuery -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ResourceQuery) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResourceQuery) #

gmapT :: (forall b. Data b => b -> b) -> ResourceQuery -> ResourceQuery #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResourceQuery -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResourceQuery -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResourceQuery -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResourceQuery -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResourceQuery -> m ResourceQuery #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourceQuery -> m ResourceQuery #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourceQuery -> m ResourceQuery #

Read ResourceQuery Source # 
Show ResourceQuery Source # 
Generic ResourceQuery Source # 

Associated Types

type Rep ResourceQuery :: * -> * #

Hashable ResourceQuery Source # 
ToJSON ResourceQuery Source # 
FromJSON ResourceQuery Source # 
NFData ResourceQuery Source # 

Methods

rnf :: ResourceQuery -> () #

type Rep ResourceQuery Source # 
type Rep ResourceQuery = D1 * (MetaData "ResourceQuery" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.0-BcTE97yO3xiNkTKZdYgRR" False) (C1 * (MetaCons "ResourceQuery'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_rqType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * QueryType)) (S1 * (MetaSel (Just Symbol "_rqSearchQuery") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text))))

resourceQuery Source #

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

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

  • rqType - The type of the query. The valid value in this release is TAG_FILTERS_1_0 . TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple tag filters for resource types and tags, as supported by the AWS Tagging API GetResources operation. When more than one element is present, only resources that match all filters are part of the result. If a filter specifies more than one value for a key, a resource matches the filter if its tag value matches any of the specified values.
  • rqSearchQuery - The query that defines a group or a search.

rqType :: Lens' ResourceQuery QueryType Source #

The type of the query. The valid value in this release is TAG_FILTERS_1_0 . TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple tag filters for resource types and tags, as supported by the AWS Tagging API GetResources operation. When more than one element is present, only resources that match all filters are part of the result. If a filter specifies more than one value for a key, a resource matches the filter if its tag value matches any of the specified values.

rqSearchQuery :: Lens' ResourceQuery Text Source #

The query that defines a group or a search.