{-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Amazonka.ResourceGroups -- Copyright : (c) 2013-2021 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) -- -- Derived from API version @2017-11-27@ of the AWS service descriptions, licensed under Apache 2.0. -- -- 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 -- <https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html 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 module Amazonka.ResourceGroups ( -- * Service Configuration defaultService, -- * Errors -- $errors -- ** ForbiddenException _ForbiddenException, -- ** NotFoundException _NotFoundException, -- ** TooManyRequestsException _TooManyRequestsException, -- ** InternalServerErrorException _InternalServerErrorException, -- ** MethodNotAllowedException _MethodNotAllowedException, -- ** UnauthorizedException _UnauthorizedException, -- ** BadRequestException _BadRequestException, -- * Waiters -- $waiters -- * Operations -- $operations -- ** SearchResources (Paginated) SearchResources (SearchResources'), newSearchResources, SearchResourcesResponse (SearchResourcesResponse'), newSearchResourcesResponse, -- ** GetTags GetTags (GetTags'), newGetTags, GetTagsResponse (GetTagsResponse'), newGetTagsResponse, -- ** Tag Tag (Tag'), newTag, TagResponse (TagResponse'), newTagResponse, -- ** UngroupResources UngroupResources (UngroupResources'), newUngroupResources, UngroupResourcesResponse (UngroupResourcesResponse'), newUngroupResourcesResponse, -- ** GroupResources GroupResources (GroupResources'), newGroupResources, GroupResourcesResponse (GroupResourcesResponse'), newGroupResourcesResponse, -- ** PutGroupConfiguration PutGroupConfiguration (PutGroupConfiguration'), newPutGroupConfiguration, PutGroupConfigurationResponse (PutGroupConfigurationResponse'), newPutGroupConfigurationResponse, -- ** Untag Untag (Untag'), newUntag, UntagResponse (UntagResponse'), newUntagResponse, -- ** UpdateGroupQuery UpdateGroupQuery (UpdateGroupQuery'), newUpdateGroupQuery, UpdateGroupQueryResponse (UpdateGroupQueryResponse'), newUpdateGroupQueryResponse, -- ** ListGroupResources (Paginated) ListGroupResources (ListGroupResources'), newListGroupResources, ListGroupResourcesResponse (ListGroupResourcesResponse'), newListGroupResourcesResponse, -- ** GetGroupQuery GetGroupQuery (GetGroupQuery'), newGetGroupQuery, GetGroupQueryResponse (GetGroupQueryResponse'), newGetGroupQueryResponse, -- ** CreateGroup CreateGroup (CreateGroup'), newCreateGroup, CreateGroupResponse (CreateGroupResponse'), newCreateGroupResponse, -- ** DeleteGroup DeleteGroup (DeleteGroup'), newDeleteGroup, DeleteGroupResponse (DeleteGroupResponse'), newDeleteGroupResponse, -- ** UpdateGroup UpdateGroup (UpdateGroup'), newUpdateGroup, UpdateGroupResponse (UpdateGroupResponse'), newUpdateGroupResponse, -- ** ListGroups (Paginated) ListGroups (ListGroups'), newListGroups, ListGroupsResponse (ListGroupsResponse'), newListGroupsResponse, -- ** GetGroup GetGroup (GetGroup'), newGetGroup, GetGroupResponse (GetGroupResponse'), newGetGroupResponse, -- ** GetGroupConfiguration GetGroupConfiguration (GetGroupConfiguration'), newGetGroupConfiguration, GetGroupConfigurationResponse (GetGroupConfigurationResponse'), newGetGroupConfigurationResponse, -- * Types -- ** GroupConfigurationStatus GroupConfigurationStatus (..), -- ** GroupFilterName GroupFilterName (..), -- ** QueryErrorCode QueryErrorCode (..), -- ** QueryType QueryType (..), -- ** ResourceFilterName ResourceFilterName (..), -- ** ResourceStatusValue ResourceStatusValue (..), -- ** FailedResource FailedResource (FailedResource'), newFailedResource, -- ** Group Group (Group'), newGroup, -- ** GroupConfiguration GroupConfiguration (GroupConfiguration'), newGroupConfiguration, -- ** GroupConfigurationItem GroupConfigurationItem (GroupConfigurationItem'), newGroupConfigurationItem, -- ** GroupConfigurationParameter GroupConfigurationParameter (GroupConfigurationParameter'), newGroupConfigurationParameter, -- ** GroupFilter GroupFilter (GroupFilter'), newGroupFilter, -- ** GroupIdentifier GroupIdentifier (GroupIdentifier'), newGroupIdentifier, -- ** GroupQuery GroupQuery (GroupQuery'), newGroupQuery, -- ** ListGroupResourcesItem ListGroupResourcesItem (ListGroupResourcesItem'), newListGroupResourcesItem, -- ** PendingResource PendingResource (PendingResource'), newPendingResource, -- ** QueryError QueryError (QueryError'), newQueryError, -- ** ResourceFilter ResourceFilter (ResourceFilter'), newResourceFilter, -- ** ResourceIdentifier ResourceIdentifier (ResourceIdentifier'), newResourceIdentifier, -- ** ResourceQuery ResourceQuery (ResourceQuery'), newResourceQuery, -- ** ResourceStatus ResourceStatus (ResourceStatus'), newResourceStatus, ) where import Amazonka.ResourceGroups.CreateGroup import Amazonka.ResourceGroups.DeleteGroup import Amazonka.ResourceGroups.GetGroup import Amazonka.ResourceGroups.GetGroupConfiguration import Amazonka.ResourceGroups.GetGroupQuery import Amazonka.ResourceGroups.GetTags import Amazonka.ResourceGroups.GroupResources import Amazonka.ResourceGroups.Lens import Amazonka.ResourceGroups.ListGroupResources import Amazonka.ResourceGroups.ListGroups import Amazonka.ResourceGroups.PutGroupConfiguration import Amazonka.ResourceGroups.SearchResources import Amazonka.ResourceGroups.Tag import Amazonka.ResourceGroups.Types import Amazonka.ResourceGroups.UngroupResources import Amazonka.ResourceGroups.Untag import Amazonka.ResourceGroups.UpdateGroup import Amazonka.ResourceGroups.UpdateGroupQuery import Amazonka.ResourceGroups.Waiters -- $errors -- Error matchers are designed for use with the functions provided by -- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>. -- This allows catching (and rethrowing) service specific errors returned -- by 'ResourceGroups'. -- $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. -- $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.