amazonka-resourcegroups-1.6.1: 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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Enum QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Eq QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Data QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Read QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Show QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Generic QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Associated Types

type Rep QueryType :: Type -> Type #

Hashable QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

ToJSON QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

FromJSON QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

ToHeader QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

ToQuery QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

ToByteString QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Methods

toBS :: QueryType -> ByteString #

FromText QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

ToText QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Methods

toText :: QueryType -> Text #

NFData QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

Methods

rnf :: QueryType -> () #

type Rep QueryType Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Sum

type Rep QueryType = D1 (MetaData "QueryType" "Network.AWS.ResourceGroups.Types.Sum" "amazonka-resourcegroups-1.6.1-ESIAO7l4Zjz1j0LGvWxGeP" False) (C1 (MetaCons "TagFilters10" PrefixI False) (U1 :: Type -> Type))

Group

data Group Source #

A resource group.

See: group' smart constructor.

Instances
Eq Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

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

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

Data Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Show Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

showsPrec :: Int -> Group -> ShowS #

show :: Group -> String #

showList :: [Group] -> ShowS #

Generic Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Associated Types

type Rep Group :: Type -> Type #

Methods

from :: Group -> Rep Group x #

to :: Rep Group x -> Group #

Hashable Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

hashWithSalt :: Int -> Group -> Int #

hash :: Group -> Int #

FromJSON Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

NFData Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

rnf :: Group -> () #

type Rep Group Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

type Rep Group = D1 (MetaData "Group" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.1-ESIAO7l4Zjz1j0LGvWxGeP" False) (C1 (MetaCons "Group'" PrefixI True) (S1 (MetaSel (Just "_gDescription") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 (MetaSel (Just "_gGroupARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "_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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Data GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Show GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Generic GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Associated Types

type Rep GroupQuery :: Type -> Type #

Hashable GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

FromJSON GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

NFData GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

rnf :: GroupQuery -> () #

type Rep GroupQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

type Rep GroupQuery = D1 (MetaData "GroupQuery" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.1-ESIAO7l4Zjz1j0LGvWxGeP" False) (C1 (MetaCons "GroupQuery'" PrefixI True) (S1 (MetaSel (Just "_gqGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "_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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Data ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Show ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Generic ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Associated Types

type Rep ResourceIdentifier :: Type -> Type #

Hashable ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

FromJSON ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

NFData ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

rnf :: ResourceIdentifier -> () #

type Rep ResourceIdentifier Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

type Rep ResourceIdentifier = D1 (MetaData "ResourceIdentifier" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.1-ESIAO7l4Zjz1j0LGvWxGeP" False) (C1 (MetaCons "ResourceIdentifier'" PrefixI True) (S1 (MetaSel (Just "_riResourceType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Data ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

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 # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Show ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Generic ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Associated Types

type Rep ResourceQuery :: Type -> Type #

Hashable ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

ToJSON ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

FromJSON ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

NFData ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

Methods

rnf :: ResourceQuery -> () #

type Rep ResourceQuery Source # 
Instance details

Defined in Network.AWS.ResourceGroups.Types.Product

type Rep ResourceQuery = D1 (MetaData "ResourceQuery" "Network.AWS.ResourceGroups.Types.Product" "amazonka-resourcegroups-1.6.1-ESIAO7l4Zjz1j0LGvWxGeP" False) (C1 (MetaCons "ResourceQuery'" PrefixI True) (S1 (MetaSel (Just "_rqType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 QueryType) :*: S1 (MetaSel (Just "_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.