# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::ResourceGroups
module Types
# The Resource Groups settings for this Amazon Web Services account.
#
# @!attribute [rw] group_lifecycle_events_desired_status
# The desired target status of the group lifecycle events feature. If
# @return [String]
#
# @!attribute [rw] group_lifecycle_events_status
# The current status of the group lifecycle events feature.
# @return [String]
#
# @!attribute [rw] group_lifecycle_events_status_message
# The text of any error message occurs during an attempt to turn group
# lifecycle events on or off.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/AccountSettings AWS API Documentation
#
class AccountSettings < Struct.new(
:group_lifecycle_events_desired_status,
:group_lifecycle_events_status,
:group_lifecycle_events_status_message)
SENSITIVE = []
include Aws::Structure
end
# The request includes one or more parameters that violate validation
# rules.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/BadRequestException AWS API Documentation
#
class BadRequestException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] name
# The name of the group, which is the identifier of the group in other
# operations. You can't change the name of a resource group after you
# create it. A resource group name can consist of letters, numbers,
# hyphens, periods, and underscores. The name cannot start with `AWS`,
# `aws`, or any other possible capitalization; these are reserved. A
# resource group name must be unique within each Amazon Web Services
# Region in your Amazon Web Services account.
# @return [String]
#
# @!attribute [rw] description
# The description of the resource group. Descriptions can consist of
# letters, numbers, hyphens, underscores, periods, and spaces.
# @return [String]
#
# @!attribute [rw] resource_query
# The resource query that determines which Amazon Web Services
# resources are members of this group. For more information about
# resource queries, see [Create a tag-based group in Resource
# Groups][1].
#
# A resource group can contain either a `ResourceQuery` or a
# `Configuration`, but not both.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag
# @return [Types::ResourceQuery]
#
# @!attribute [rw] tags
# The tags to add to the group. A tag is key-value pair string.
# @return [Hash]
#
# @!attribute [rw] configuration
# A configuration associates the resource group with an Amazon Web
# Services service and specifies how the service can interact with the
# resources in the group. A configuration is an array of
# GroupConfigurationItem elements. For details about the syntax of
# service configurations, see [Service configurations for Resource
# Groups][1].
#
# A resource group can contain either a `Configuration` or a
# `ResourceQuery`, but not both.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroupInput AWS API Documentation
#
class CreateGroupInput < Struct.new(
:name,
:description,
:resource_query,
:tags,
:configuration)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# The description of the resource group.
# @return [Types::Group]
#
# @!attribute [rw] resource_query
# The resource query associated with the group. For more information
# about resource queries, see [Create a tag-based group in Resource
# Groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag
# @return [Types::ResourceQuery]
#
# @!attribute [rw] tags
# The tags associated with the group.
# @return [Hash]
#
# @!attribute [rw] group_configuration
# The service configuration associated with the resource group. For
# details about the syntax of a service configuration, see [Service
# configurations for Resource Groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
# @return [Types::GroupConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroupOutput AWS API Documentation
#
class CreateGroupOutput < Struct.new(
:group,
:resource_query,
:tags,
:group_configuration)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# Deprecated - don't use this parameter. Use `Group` instead.
# @return [String]
#
# @!attribute [rw] group
# The name or the ARN of the resource group to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroupInput AWS API Documentation
#
class DeleteGroupInput < Struct.new(
:group_name,
:group)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# A full description of the deleted resource group.
# @return [Types::Group]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroupOutput AWS API Documentation
#
class DeleteGroupOutput < Struct.new(
:group)
SENSITIVE = []
include Aws::Structure
end
# A resource that failed to be added to or removed from a group.
#
# @!attribute [rw] resource_arn
# The ARN of the resource that failed to be added or removed.
# @return [String]
#
# @!attribute [rw] error_message
# The error message text associated with the failure.
# @return [String]
#
# @!attribute [rw] error_code
# The error code associated with the failure.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/FailedResource AWS API Documentation
#
class FailedResource < Struct.new(
:resource_arn,
:error_message,
:error_code)
SENSITIVE = []
include Aws::Structure
end
# The caller isn't authorized to make the request. Check permissions.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ForbiddenException AWS API Documentation
#
class ForbiddenException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] account_settings
# The current settings for the optional features in Resource Groups.
# @return [Types::AccountSettings]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetAccountSettingsOutput AWS API Documentation
#
class GetAccountSettingsOutput < Struct.new(
:account_settings)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# The name or the ARN of the resource group for which you want to
# retrive the service configuration.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfigurationInput AWS API Documentation
#
class GetGroupConfigurationInput < Struct.new(
:group)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_configuration
# A structure that describes the service configuration attached with
# the specified group. For details about the service configuration
# syntax, see [Service configurations for Resource Groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
# @return [Types::GroupConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfigurationOutput AWS API Documentation
#
class GetGroupConfigurationOutput < Struct.new(
:group_configuration)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# Deprecated - don't use this parameter. Use `Group` instead.
# @return [String]
#
# @!attribute [rw] group
# The name or the ARN of the resource group to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupInput AWS API Documentation
#
class GetGroupInput < Struct.new(
:group_name,
:group)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# A structure that contains the metadata details for the specified
# resource group. Use GetGroupQuery and GetGroupConfiguration to get
# those additional details of the resource group.
# @return [Types::Group]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupOutput AWS API Documentation
#
class GetGroupOutput < Struct.new(
:group)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# Don't use this parameter. Use `Group` instead.
# @return [String]
#
# @!attribute [rw] group
# The name or the ARN of the resource group to query.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQueryInput AWS API Documentation
#
class GetGroupQueryInput < Struct.new(
:group_name,
:group)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_query
# The resource query associated with the specified group. For more
# information about resource queries, see [Create a tag-based group in
# Resource Groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag
# @return [Types::GroupQuery]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQueryOutput AWS API Documentation
#
class GetGroupQueryOutput < Struct.new(
:group_query)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The ARN of the resource group whose tags you want to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTagsInput AWS API Documentation
#
class GetTagsInput < Struct.new(
:arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The ARN of the tagged resource group.
# @return [String]
#
# @!attribute [rw] tags
# The tags associated with the specified resource group.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTagsOutput AWS API Documentation
#
class GetTagsOutput < Struct.new(
:arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# A resource group that contains Amazon Web Services resources. You can
# assign resources to the group by associating either of the following
# elements with the group:
#
# * ResourceQuery - Use a resource query to specify a set of tag keys
# and values. All resources in the same Amazon Web Services Region and
# Amazon Web Services account that have those keys with the same
# values are included in the group. You can add a resource query when
# you create the group, or later by using the PutGroupConfiguration
# operation.
#
# * GroupConfiguration - Use a service configuration to associate the
# group with an Amazon Web Services service. The configuration
# specifies which resource types can be included in the group.
#
# @!attribute [rw] group_arn
# The ARN of the resource group.
# @return [String]
#
# @!attribute [rw] name
# The name of the resource group.
# @return [String]
#
# @!attribute [rw] description
# The description of the resource group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Group AWS API Documentation
#
class Group < Struct.new(
:group_arn,
:name,
:description)
SENSITIVE = []
include Aws::Structure
end
# A service configuration associated with a resource group. The
# configuration options are determined by the Amazon Web Services
# service that defines the `Type`, and specifies which resources can be
# included in the group. You can add a service configuration when you
# create the group by using CreateGroup, or later by using the
# PutGroupConfiguration operation. For details about group service
# configuration syntax, see [Service configurations for resource
# groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
#
# @!attribute [rw] configuration
# The configuration currently associated with the group and in effect.
# @return [Array]
#
# @!attribute [rw] proposed_configuration
# If present, the new configuration that is in the process of being
# applied to the group.
# @return [Array]
#
# @!attribute [rw] status
# The current status of an attempt to update the group configuration.
# @return [String]
#
# @!attribute [rw] failure_reason
# If present, the reason why a request to update the group
# configuration failed.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupConfiguration AWS API Documentation
#
class GroupConfiguration < Struct.new(
:configuration,
:proposed_configuration,
:status,
:failure_reason)
SENSITIVE = []
include Aws::Structure
end
# An item in a group configuration. A group service configuration can
# have one or more items. For details about group service configuration
# syntax, see [Service configurations for resource groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
#
# @!attribute [rw] type
# Specifies the type of group configuration item. Each item must have
# a unique value for `type`. For the list of types that you can
# specify for a configuration item, see [Supported resource types and
# parameters][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types
# @return [String]
#
# @!attribute [rw] parameters
# A collection of parameters for this group configuration item. For
# the list of parameters that you can use with each configuration item
# type, see [Supported resource types and parameters][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupConfigurationItem AWS API Documentation
#
class GroupConfigurationItem < Struct.new(
:type,
:parameters)
SENSITIVE = []
include Aws::Structure
end
# A parameter for a group configuration item. For details about group
# service configuration syntax, see [Service configurations for resource
# groups][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
#
# @!attribute [rw] name
# The name of the group configuration parameter. For the list of
# parameters that you can use with each configuration item type, see
# [Supported resource types and parameters][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types
# @return [String]
#
# @!attribute [rw] values
# The value or values to be used for the specified parameter. For the
# list of values you can use with each parameter, see [Supported
# resource types and parameters][1].
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupConfigurationParameter AWS API Documentation
#
class GroupConfigurationParameter < Struct.new(
:name,
:values)
SENSITIVE = []
include Aws::Structure
end
# A filter collection that you can use to restrict the results from a
# `List` operation to only those you want to include.
#
# @!attribute [rw] name
# The name of the filter. Filter names are case-sensitive.
# @return [String]
#
# @!attribute [rw] values
# One or more filter values. Allowed filter values vary by group
# filter name, and are case-sensitive.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupFilter AWS API Documentation
#
class GroupFilter < Struct.new(
:name,
:values)
SENSITIVE = []
include Aws::Structure
end
# The unique identifiers for a resource group.
#
# @!attribute [rw] group_name
# The name of the resource group.
# @return [String]
#
# @!attribute [rw] group_arn
# The ARN of the resource group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupIdentifier AWS API Documentation
#
class GroupIdentifier < Struct.new(
:group_name,
:group_arn)
SENSITIVE = []
include Aws::Structure
end
# A mapping of a query attached to a resource group that determines the
# Amazon Web Services resources that are members of the group.
#
# @!attribute [rw] group_name
# The name of the resource group that is associated with the specified
# resource query.
# @return [String]
#
# @!attribute [rw] resource_query
# The resource query that determines which Amazon Web Services
# resources are members of the associated resource group.
# @return [Types::ResourceQuery]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupQuery AWS API Documentation
#
class GroupQuery < Struct.new(
:group_name,
:resource_query)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# The name or the ARN of the resource group to add resources to.
# @return [String]
#
# @!attribute [rw] resource_arns
# The list of ARNs of the resources to be added to the group.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResourcesInput AWS API Documentation
#
class GroupResourcesInput < Struct.new(
:group,
:resource_arns)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] succeeded
# A list of ARNs of the resources that this operation successfully
# added to the group.
# @return [Array]
#
# @!attribute [rw] failed
# A list of ARNs of any resources that this operation failed to add to
# the group.
# @return [Array]
#
# @!attribute [rw] pending
# A list of ARNs of any resources that this operation is still in the
# process adding to the group. These pending additions continue
# asynchronously. You can check the status of pending additions by
# using the ` ListGroupResources ` operation, and checking the
# `Resources` array in the response and the `Status` field of each
# object in that array.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResourcesOutput AWS API Documentation
#
class GroupResourcesOutput < Struct.new(
:succeeded,
:failed,
:pending)
SENSITIVE = []
include Aws::Structure
end
# An internal error occurred while processing the request. Try again
# later.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/InternalServerErrorException AWS API Documentation
#
class InternalServerErrorException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# Deprecated - don't use this parameter. Use the
# Group
request field instead.
# @return [String]
#
# @!attribute [rw] group
# The name or the ARN of the resource group
# @return [String]
#
# @!attribute [rw] filters
# Filters, formatted as ResourceFilter objects, that you want to apply
# to a `ListGroupResources` operation. Filters the results to include
# only those of the specified resource types.
#
# * `resource-type` - Filter resources by their type. Specify up to
# five resource types in the format
# `AWS::ServiceCode::ResourceType`. For example,
# `AWS::EC2::Instance`, or `AWS::S3::Bucket`.
#
# ^
#
# When you specify a `resource-type` filter for `ListGroupResources`,
# Resource Groups validates your filter resource types against the
# types that are defined in the query associated with the group. For
# example, if a group contains only S3 buckets because its query
# specifies only that resource type, but your `resource-type` filter
# includes EC2 instances, AWS Resource Groups does not filter for EC2
# instances. In this case, a `ListGroupResources` request returns a
# `BadRequestException` error with a message similar to the following:
#
# `The resource types specified as filters in the request are not
# valid.`
#
# The error includes a list of resource types that failed the
# validation because they are not part of the query associated with
# the group. This validation doesn't occur when the group query
# specifies `AWS::AllSupported`, because a group based on such a query
# can contain any of the allowed resource types for the query type
# (tag-based or Amazon CloudFront stack-based queries).
# @return [Array]
#
# @!attribute [rw] max_results
# The total number of results that you want included on each page of
# the response. If you do not include this parameter, it defaults to a
# value that is specific to the operation. If additional items exist
# beyond the maximum you specify, the `NextToken` response element is
# present and has a value (is not null). Include that value as the
# `NextToken` request parameter in the next call to the operation to
# get the next part of the results. Note that the service might return
# fewer results than the maximum even when there are more results
# available. You should check `NextToken` after every operation to
# ensure that you receive all of the results.
# @return [Integer]
#
# @!attribute [rw] next_token
# The parameter for receiving additional results if you receive a
# `NextToken` response in a previous request. A `NextToken` response
# indicates that more output is available. Set this parameter to the
# value provided by a previous call's `NextToken` response to
# indicate where the output should continue from.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResourcesInput AWS API Documentation
#
class ListGroupResourcesInput < Struct.new(
:group_name,
:group,
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# A structure returned by the ListGroupResources operation that contains
# identity and group membership status information for one of the
# resources in the group.
#
# @!attribute [rw] identifier
# A structure that contains the ARN of a resource and its resource
# type.
# @return [Types::ResourceIdentifier]
#
# @!attribute [rw] status
# A structure that contains the status of this resource's membership
# in the group.
#
# This field is present in the response only if the group is of type
# `AWS::EC2::HostManagement`.
#
#
# @return [Types::ResourceStatus]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResourcesItem AWS API Documentation
#
class ListGroupResourcesItem < Struct.new(
:identifier,
:status)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] resources
# An array of resources from which you can determine each resource's
# identity, type, and group membership status.
# @return [Array]
#
# @!attribute [rw] resource_identifiers
# Deprecated - don't use this parameter. Use the
# Resources
response field instead.
# @return [Array]
#
# @!attribute [rw] next_token
# If present, indicates that more output is available than is included
# in the current response. Use this value in the `NextToken` request
# parameter in a subsequent call to the operation to get the next part
# of the output. You should repeat this until the `NextToken` response
# element comes back as `null`.
# @return [String]
#
# @!attribute [rw] query_errors
# A list of `QueryError` objects. Each error contains an `ErrorCode`
# and `Message`. Possible values for ErrorCode are
# `CLOUDFORMATION_STACK_INACTIVE`,
# `CLOUDFORMATION_STACK_NOT_EXISTING`,
# `CLOUDFORMATION_STACK_UNASSUMABLE_ROLE` and
# `RESOURCE_TYPE_NOT_SUPPORTED`.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResourcesOutput AWS API Documentation
#
class ListGroupResourcesOutput < Struct.new(
:resources,
:resource_identifiers,
:next_token,
:query_errors)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] filters
# Filters, formatted as GroupFilter objects, that you want to apply to
# a `ListGroups` operation.
#
# * `resource-type` - Filter the results to include only those
# resource groups that have the specified resource type in their
# `ResourceTypeFilter`. For example, `AWS::EC2::Instance` would
# return any resource group with a `ResourceTypeFilter` that
# includes `AWS::EC2::Instance`.
#
# * `configuration-type` - Filter the results to include only those
# groups that have the specified configuration types attached. The
# current supported values are:
#
# * `AWS::AppRegistry::Application`
#
# * `AWS::AppRegistry::ApplicationResourceGroups`
#
# * `AWS::CloudFormation::Stack`
#
# * `AWS::EC2::CapacityReservationPool`
#
# * `AWS::EC2::HostManagement`
#
# * `AWS::NetworkFirewall::RuleGroup`
# @return [Array]
#
# @!attribute [rw] max_results
# The total number of results that you want included on each page of
# the response. If you do not include this parameter, it defaults to a
# value that is specific to the operation. If additional items exist
# beyond the maximum you specify, the `NextToken` response element is
# present and has a value (is not null). Include that value as the
# `NextToken` request parameter in the next call to the operation to
# get the next part of the results. Note that the service might return
# fewer results than the maximum even when there are more results
# available. You should check `NextToken` after every operation to
# ensure that you receive all of the results.
# @return [Integer]
#
# @!attribute [rw] next_token
# The parameter for receiving additional results if you receive a
# `NextToken` response in a previous request. A `NextToken` response
# indicates that more output is available. Set this parameter to the
# value provided by a previous call's `NextToken` response to
# indicate where the output should continue from.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupsInput AWS API Documentation
#
class ListGroupsInput < Struct.new(
:filters,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_identifiers
# A list of GroupIdentifier objects. Each identifier is an object that
# contains both the `Name` and the `GroupArn`.
# @return [Array]
#
# @!attribute [rw] groups
# Deprecated - don't use this field. Use the
# GroupIdentifiers
response field instead.
# @return [Array]
#
# @!attribute [rw] next_token
# If present, indicates that more output is available than is included
# in the current response. Use this value in the `NextToken` request
# parameter in a subsequent call to the operation to get the next part
# of the output. You should repeat this until the `NextToken` response
# element comes back as `null`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupsOutput AWS API Documentation
#
class ListGroupsOutput < Struct.new(
:group_identifiers,
:groups,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# The request uses an HTTP method that isn't allowed for the specified
# resource.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/MethodNotAllowedException AWS API Documentation
#
class MethodNotAllowedException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# One or more of the specified resources don't exist.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/NotFoundException AWS API Documentation
#
class NotFoundException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# A structure that identifies a resource that is currently pending
# addition to the group as a member. Adding a resource to a resource
# group happens asynchronously as a background task and this one isn't
# completed yet.
#
# @!attribute [rw] resource_arn
# The Amazon resource name (ARN) of the resource that's in a pending
# state.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/PendingResource AWS API Documentation
#
class PendingResource < Struct.new(
:resource_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# The name or ARN of the resource group with the configuration that
# you want to update.
# @return [String]
#
# @!attribute [rw] configuration
# The new configuration to associate with the specified group. A
# configuration associates the resource group with an Amazon Web
# Services service and specifies how the service can interact with the
# resources in the group. A configuration is an array of
# GroupConfigurationItem elements.
#
# For information about the syntax of a service configuration, see
# [Service configurations for Resource Groups][1].
#
# A resource group can contain either a `Configuration` or a
# `ResourceQuery`, but not both.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/PutGroupConfigurationInput AWS API Documentation
#
class PutGroupConfigurationInput < Struct.new(
:group,
:configuration)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/PutGroupConfigurationOutput AWS API Documentation
#
class PutGroupConfigurationOutput < Aws::EmptyStructure; end
# A two-part error structure that can occur in `ListGroupResources` or
# `SearchResources`.
#
# @!attribute [rw] error_code
# Specifies the error code that was raised.
# @return [String]
#
# @!attribute [rw] message
# A message that explains the `ErrorCode`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/QueryError AWS API Documentation
#
class QueryError < Struct.new(
:error_code,
:message)
SENSITIVE = []
include Aws::Structure
end
# A filter name and value pair that is used to obtain more specific
# results from a list of resources.
#
# @!attribute [rw] name
# The name of the filter. Filter names are case-sensitive.
# @return [String]
#
# @!attribute [rw] values
# One or more filter values. Allowed filter values vary by resource
# filter name, and are case-sensitive.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ResourceFilter AWS API Documentation
#
class ResourceFilter < Struct.new(
:name,
:values)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains the ARN of a resource and its resource type.
#
# @!attribute [rw] resource_arn
# The ARN of a resource.
# @return [String]
#
# @!attribute [rw] resource_type
# The resource type of a resource, such as `AWS::EC2::Instance`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ResourceIdentifier AWS API Documentation
#
class ResourceIdentifier < Struct.new(
:resource_arn,
:resource_type)
SENSITIVE = []
include Aws::Structure
end
# The query you can use to define a resource group or a search for
# resources. A `ResourceQuery` specifies both a query `Type` and a
# `Query` string as JSON string objects. See the examples section for
# example JSON strings. For more information about creating a resource
# group with a resource query, see [Build queries and groups in Resource
# Groups][1] in the *Resource Groups User Guide*
#
# When you combine all of the elements together into a single string,
# any double quotes that are embedded inside another double quote pair
# must be escaped by preceding the embedded double quote with a
# backslash character (\\). For example, a complete `ResourceQuery`
# parameter must be formatted like the following CLI parameter example:
#
# `--resource-query
# '\{"Type":"TAG_FILTERS_1_0","Query":"\{"ResourceTypeFilters":["AWS::AllSupported"],"TagFilters":[\{"Key":"Stage","Values":["Test"]\}]\}"\}'`
#
# In the preceding example, all of the double quote characters in the
# value part of the `Query` element must be escaped because the value
# itself is surrounded by double quotes. For more information, see
# [Quoting strings][2] in the *Command Line Interface User Guide*.
#
# For the complete list of resource types that you can use in the array
# value for `ResourceTypeFilters`, see [Resources you can use with
# Resource Groups and Tag Editor][3] in the *Resource Groups User
# Guide*. For example:
#
# `"ResourceTypeFilters":["AWS::S3::Bucket", "AWS::EC2::Instance"]`
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html
# [2]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html
# [3]: https://docs.aws.amazon.com/ARG/latest/userguide/supported-resources.html
#
# @!attribute [rw] type
# The type of the query to perform. This can have one of two values:
#
# * CLOUDFORMATION_STACK_1_0:
Specifies that you
# want the group to contain the members of an CloudFormation stack.
# The `Query` contains a `StackIdentifier` element with an ARN for a
# CloudFormation stack.
#
# * TAG_FILTERS_1_0:
Specifies that you want the
# group to include resource that have tags that match the query.
# @return [String]
#
# @!attribute [rw] query
# The query that defines a group or a search. The contents depends on
# the value of the `Type` element.
#
# * `ResourceTypeFilters` – Applies to all `ResourceQuery` objects of
# either `Type`. This element contains one of the following two
# items:
#
# * The value `AWS::AllSupported`. This causes the ResourceQuery to
# match resources of any resource type that also match the query.
#
# * A list (a JSON array) of resource type identifiers that limit
# the query to only resources of the specified types. For the
# complete list of resource types that you can use in the array
# value for `ResourceTypeFilters`, see [Resources you can use with
# Resource Groups and Tag Editor][1] in the *Resource Groups User
# Guide*.
#
# Example: `"ResourceTypeFilters": ["AWS::AllSupported"]` or
# `"ResourceTypeFilters": ["AWS::EC2::Instance", "AWS::S3::Bucket"]`
#
# * `TagFilters` – applicable only if `Type` = `TAG_FILTERS_1_0`. The
# `Query` contains a JSON string that represents a collection of
# simple tag filters. The JSON string uses a syntax similar to the `
# GetResources ` operation, but uses only the ` ResourceTypeFilters
# ` and ` TagFilters ` fields. If you specify more than one tag key,
# only resources that match all tag keys, and at least one value of
# each specified tag key, are returned in your query. If you specify
# more than one value for a tag key, a resource matches the filter
# if it has a tag key value that matches *any* of the specified
# values.
#
# For example, consider the following sample query for resources
# that have two tags, `Stage` and `Version`, with two values each:
#
# `[\{"Stage":["Test","Deploy"]\},\{"Version":["1","2"]\}]`
#
# The results of this resource query could include the following.
#
# * An Amazon EC2 instance that has the following two tags:
# `\{"Stage":"Deploy"\}`, and `\{"Version":"2"\}`
#
# * An S3 bucket that has the following two tags:
# `\{"Stage":"Test"\}`, and `\{"Version":"1"\}`
#
# The resource query results would *not* include the following items
# in the results, however.
#
# * An Amazon EC2 instance that has only the following tag:
# `\{"Stage":"Deploy"\}`.
#
# The instance does not have **all** of the tag keys specified in
# the filter, so it is excluded from the results.
#
# * An RDS database that has the following two tags:
# `\{"Stage":"Archived"\}` and `\{"Version":"4"\}`
#
# The database has all of the tag keys, but none of those keys has
# an associated value that matches at least one of the specified
# values in the filter.
#
# Example: `"TagFilters": [ \{ "Key": "Stage", "Values": [ "Gamma",
# "Beta" ] \}`
#
# * `StackIdentifier` – applicable only if `Type` =
# `CLOUDFORMATION_STACK_1_0`. The value of this parameter is the
# Amazon Resource Name (ARN) of the CloudFormation stack whose
# resources you want included in the group.
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/userguide/supported-resources.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ResourceQuery AWS API Documentation
#
class ResourceQuery < Struct.new(
:type,
:query)
SENSITIVE = []
include Aws::Structure
end
# A structure that identifies the current group membership status for a
# resource. Adding a resource to a resource group is performed
# asynchronously as a background task. A `PENDING` status indicates, for
# this resource, that the process isn't completed yet.
#
# @!attribute [rw] name
# The current status.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ResourceStatus AWS API Documentation
#
class ResourceStatus < Struct.new(
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] resource_query
# The search query, using the same formats that are supported for
# resource group definition. For more information, see CreateGroup.
# @return [Types::ResourceQuery]
#
# @!attribute [rw] max_results
# The total number of results that you want included on each page of
# the response. If you do not include this parameter, it defaults to a
# value that is specific to the operation. If additional items exist
# beyond the maximum you specify, the `NextToken` response element is
# present and has a value (is not null). Include that value as the
# `NextToken` request parameter in the next call to the operation to
# get the next part of the results. Note that the service might return
# fewer results than the maximum even when there are more results
# available. You should check `NextToken` after every operation to
# ensure that you receive all of the results.
# @return [Integer]
#
# @!attribute [rw] next_token
# The parameter for receiving additional results if you receive a
# `NextToken` response in a previous request. A `NextToken` response
# indicates that more output is available. Set this parameter to the
# value provided by a previous call's `NextToken` response to
# indicate where the output should continue from.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResourcesInput AWS API Documentation
#
class SearchResourcesInput < Struct.new(
:resource_query,
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] resource_identifiers
# The ARNs and resource types of resources that are members of the
# group that you specified.
# @return [Array]
#
# @!attribute [rw] next_token
# If present, indicates that more output is available than is included
# in the current response. Use this value in the `NextToken` request
# parameter in a subsequent call to the operation to get the next part
# of the output. You should repeat this until the `NextToken` response
# element comes back as `null`.
# @return [String]
#
# @!attribute [rw] query_errors
# A list of `QueryError` objects. Each error contains an `ErrorCode`
# and `Message`.
#
# Possible values for `ErrorCode`:
#
# * `CLOUDFORMATION_STACK_INACTIVE`
#
# * `CLOUDFORMATION_STACK_NOT_EXISTING`
#
# * `CLOUDFORMATION_STACK_UNASSUMABLE_ROLE `
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResourcesOutput AWS API Documentation
#
class SearchResourcesOutput < Struct.new(
:resource_identifiers,
:next_token,
:query_errors)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The ARN of the resource group to which to add tags.
# @return [String]
#
# @!attribute [rw] tags
# The tags to add to the specified resource group. A tag is a
# string-to-string map of key-value pairs.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/TagInput AWS API Documentation
#
class TagInput < Struct.new(
:arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The ARN of the tagged resource.
# @return [String]
#
# @!attribute [rw] tags
# The tags that have been added to the specified resource group.
# @return [Hash]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/TagOutput AWS API Documentation
#
class TagOutput < Struct.new(
:arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# You've exceeded throttling limits by making too many requests in a
# period of time.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/TooManyRequestsException AWS API Documentation
#
class TooManyRequestsException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The request was rejected because it doesn't have valid credentials
# for the target resource.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UnauthorizedException AWS API Documentation
#
class UnauthorizedException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# The name or the ARN of the resource group from which to remove the
# resources.
# @return [String]
#
# @!attribute [rw] resource_arns
# The ARNs of the resources to be removed from the group.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResourcesInput AWS API Documentation
#
class UngroupResourcesInput < Struct.new(
:group,
:resource_arns)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] succeeded
# A list of resources that were successfully removed from the group by
# this operation.
# @return [Array]
#
# @!attribute [rw] failed
# A list of any resources that failed to be removed from the group by
# this operation.
# @return [Array]
#
# @!attribute [rw] pending
# A list of any resources that are still in the process of being
# removed from the group by this operation. These pending removals
# continue asynchronously. You can check the status of pending
# removals by using the ` ListGroupResources ` operation. After the
# resource is successfully removed, it no longer appears in the
# response.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResourcesOutput AWS API Documentation
#
class UngroupResourcesOutput < Struct.new(
:succeeded,
:failed,
:pending)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The ARN of the resource group from which to remove tags. The command
# removed both the specified keys and any values associated with those
# keys.
# @return [String]
#
# @!attribute [rw] keys
# The keys of the tags to be removed.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UntagInput AWS API Documentation
#
class UntagInput < Struct.new(
:arn,
:keys)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The ARN of the resource group from which tags have been removed.
# @return [String]
#
# @!attribute [rw] keys
# The keys of the tags that were removed.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UntagOutput AWS API Documentation
#
class UntagOutput < Struct.new(
:arn,
:keys)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_lifecycle_events_desired_status
# Specifies whether you want to turn [group lifecycle events][1] on or
# off.
#
#
#
# [1]: https://docs.aws.amazon.com/ARG/latest/userguide/monitor-groups.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateAccountSettingsInput AWS API Documentation
#
class UpdateAccountSettingsInput < Struct.new(
:group_lifecycle_events_desired_status)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] account_settings
# A structure that displays the status of the optional features in the
# account.
# @return [Types::AccountSettings]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateAccountSettingsOutput AWS API Documentation
#
class UpdateAccountSettingsOutput < Struct.new(
:account_settings)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# Don't use this parameter. Use `Group` instead.
# @return [String]
#
# @!attribute [rw] group
# The name or the ARN of the resource group to modify.
# @return [String]
#
# @!attribute [rw] description
# The new description that you want to update the resource group with.
# Descriptions can contain letters, numbers, hyphens, underscores,
# periods, and spaces.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupInput AWS API Documentation
#
class UpdateGroupInput < Struct.new(
:group_name,
:group,
:description)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group
# The update description of the resource group.
# @return [Types::Group]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupOutput AWS API Documentation
#
class UpdateGroupOutput < Struct.new(
:group)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# Don't use this parameter. Use `Group` instead.
# @return [String]
#
# @!attribute [rw] group
# The name or the ARN of the resource group to query.
# @return [String]
#
# @!attribute [rw] resource_query
# The resource query to determine which Amazon Web Services resources
# are members of this resource group.
#
# A resource group can contain either a `Configuration` or a
# `ResourceQuery`, but not both.
#
#
# @return [Types::ResourceQuery]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQueryInput AWS API Documentation
#
class UpdateGroupQueryInput < Struct.new(
:group_name,
:group,
:resource_query)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_query
# The updated resource query associated with the resource group after
# the update.
# @return [Types::GroupQuery]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQueryOutput AWS API Documentation
#
class UpdateGroupQueryOutput < Struct.new(
:group_query)
SENSITIVE = []
include Aws::Structure
end
end
end