# 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 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
# @note When making an API call, you may pass CreateGroupInput
# data as a hash:
#
# {
# name: "GroupName", # required
# description: "Description",
# resource_query: {
# type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0, CLOUDFORMATION_STACK_1_0
# query: "Query", # required
# },
# tags: {
# "TagKey" => "TagValue",
# },
# configuration: [
# {
# type: "GroupConfigurationType", # required
# parameters: [
# {
# name: "GroupConfigurationParameterName", # required
# values: ["GroupConfigurationParameterValue"],
# },
# ],
# },
# ],
# }
#
# @!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`
# or `aws`; these are reserved. A resource group name must be unique
# within each AWS Region in your AWS 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 AWS 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 AWS 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
# @note When making an API call, you may pass DeleteGroupInput
# data as a hash:
#
# {
# group_name: "GroupName",
# group: "GroupString",
# }
#
# @!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
# @note When making an API call, you may pass GetGroupConfigurationInput
# data as a hash:
#
# {
# group: "GroupString",
# }
#
# @!attribute [rw] group
# The name or the ARN of the resource group.
# @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
# The service configuration associated 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
# @note When making an API call, you may pass GetGroupInput
# data as a hash:
#
# {
# group_name: "GroupName",
# group: "GroupString",
# }
#
# @!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 full description 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
# @note When making an API call, you may pass GetGroupQueryInput
# data as a hash:
#
# {
# group_name: "GroupName",
# group: "GroupString",
# }
#
# @!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
# @note When making an API call, you may pass GetTagsInput
# data as a hash:
#
# {
# arn: "GroupArn", # required
# }
#
# @!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 AWS 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 AWS Region and AWS 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 AWS 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 AWS 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
#
# @note When making an API call, you may pass GroupConfigurationItem
# data as a hash:
#
# {
# type: "GroupConfigurationType", # required
# parameters: [
# {
# name: "GroupConfigurationParameterName", # required
# values: ["GroupConfigurationParameterValue"],
# },
# ],
# }
#
# @!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
#
# @note When making an API call, you may pass GroupConfigurationParameter
# data as a hash:
#
# {
# name: "GroupConfigurationParameterName", # required
# values: ["GroupConfigurationParameterValue"],
# }
#
# @!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.
#
# @note When making an API call, you may pass GroupFilter
# data as a hash:
#
# {
# name: "resource-type", # required, accepts resource-type, configuration-type
# values: ["GroupFilterValue"], # required
# }
#
# @!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
# AWS 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 AWS 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
# @note When making an API call, you may pass GroupResourcesInput
# data as a hash:
#
# {
# group: "GroupString", # required
# resource_arns: ["ResourceArn"], # required
# }
#
# @!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 for 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 resources that were successfully added to the
# group by this operation.
# @return [Array]
#
# @!attribute [rw] failed
# A list of ARNs of any resources that failed to be added to the group
# by this operation.
# @return [Array]
#
# @!attribute [rw] pending
# A list of ARNs of any resources that are still in the process of
# being added to the group by this operation. 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
# @note When making an API call, you may pass ListGroupResourcesInput
# data as a hash:
#
# {
# group_name: "GroupName",
# group: "GroupString",
# filters: [
# {
# name: "resource-type", # required, accepts resource-type
# values: ["ResourceFilterValue"], # required
# },
# ],
# max_results: 1,
# next_token: "NextToken",
# }
#
# @!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`,
# AWS 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 AWS CloudFormation 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 is an object that
# contains `ErrorCode` and `Message` structures. Possible values for
# `ErrorCode` are `CLOUDFORMATION_STACK_INACTIVE` and
# `CLOUDFORMATION_STACK_NOT_EXISTING`.
# @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
# @note When making an API call, you may pass ListGroupsInput
# data as a hash:
#
# {
# filters: [
# {
# name: "resource-type", # required, accepts resource-type, configuration-type
# values: ["GroupFilterValue"], # required
# },
# ],
# max_results: 1,
# next_token: "NextToken",
# }
#
# @!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 of the
# specified resource types. Specify up to five resource types in the
# format `AWS::ServiceCode::ResourceType `. For example,
# `AWS::EC2::Instance`, or `AWS::S3::Bucket`.
#
# * `configuration-type` - Filter the results to include only those
# groups that have the specified configuration types attached. The
# current supported values are:
#
# * `AWS:EC2::CapacityReservationPool`
#
# * `AWS:EC2::HostManagement`
# @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
# @note When making an API call, you may pass PutGroupConfigurationInput
# data as a hash:
#
# {
# group: "GroupString",
# configuration: [
# {
# type: "GroupConfigurationType", # required
# parameters: [
# {
# name: "GroupConfigurationParameterName", # required
# values: ["GroupConfigurationParameterValue"],
# },
# ],
# },
# ],
# }
#
# @!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 AWS 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` operations on CloudFormation stack-based queries.
# The error occurs if the CloudFormation stack on which the query is
# based either does not exist, or has a status that renders the stack
# inactive. A `QueryError` occurrence does not necessarily mean that AWS
# Resource Groups could not complete the operation, but the resulting
# group might have no member resources.
#
# @!attribute [rw] error_code
# Possible values are `CLOUDFORMATION_STACK_INACTIVE` and
# `CLOUDFORMATION_STACK_NOT_EXISTING`.
# @return [String]
#
# @!attribute [rw] message
# A message that explains the `ErrorCode` value. Messages might state
# that the specified CloudFormation stack does not exist (or no longer
# exists). For `CLOUDFORMATION_STACK_INACTIVE`, the message typically
# states that the CloudFormation stack has a status that is not (or no
# longer) active, such as `CREATE_FAILED`.
# @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.
#
# @note When making an API call, you may pass ResourceFilter
# data as a hash:
#
# {
# name: "resource-type", # required, accepts resource-type
# values: ["ResourceFilterValue"], # required
# }
#
# @!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 that is used to define a resource group or a search for
# resources. A query specifies both a query type and a query string as a
# JSON object. See the examples section for example JSON strings.
#
# The examples that follow are shown as standard JSON strings. If you
# include such a string as a parameter to the AWS CLI or an SDK API, you
# might need to 'escape' the string into a single line. For example,
# see the [Quoting strings][1] in the *AWS CLI User Guide*.
#
# **Example 1**
#
# The following generic example shows a resource query JSON string that
# includes only resources that meet the following criteria:
#
# * The resource type must be either `resource_type1` or
# `resource_type2`.
#
# * The resource must have a tag `Key1` with a value of either `ValueA`
# or `ValueB`.
#
# * The resource must have a tag `Key2` with a value of either `ValueC`
# or `ValueD`.
#
# `\{ "Type": "TAG_FILTERS_1_0", "Query": \{ "ResourceTypeFilters": [
# "resource_type1", "resource_type2"], "TagFilters": [ \{ "Key": "Key1",
# "Values": ["ValueA","ValueB"] \}, \{ "Key":"Key2",
# "Values":["ValueC","ValueD"] \} ] \} \}`
#
# This has the equivalent "shortcut" syntax of the following:
#
# `\{ "Type": "TAG_FILTERS_1_0", "Query": \{ "ResourceTypeFilters": [
# "resource_type1", "resource_type2"], "TagFilters": [ \{ "Key1":
# ["ValueA","ValueB"] \}, \{ "Key2": ["ValueC","ValueD"] \} ] \} \}`
#
# **Example 2**
#
# The following example shows a resource query JSON string that includes
# only Amazon EC2 instances that are tagged `Stage` with a value of
# `Test`.
#
# `\{ "Type": "TAG_FILTERS_1_0", "Query": "\{ "ResourceTypeFilters":
# "AWS::EC2::Instance", "TagFilters": \{ "Stage": "Test" \} \} \}`
#
# **Example 3**
#
# The following example shows a resource query JSON string that includes
# resource of any supported type as long as it is tagged `Stage` with a
# value of `Prod`.
#
# `\{ "Type": "TAG_FILTERS_1_0", "Query": \{ "ResourceTypeFilters":
# "AWS::AllSupported", "TagFilters": \{ "Stage": "Prod" \} \} \}`
#
# **Example 4**
#
# The following example shows a resource query JSON string that includes
# only Amazon EC2 instances and Amazon S3 buckets that are part of the
# specified AWS CloudFormation stack.
#
# `\{ "Type": "CLOUDFORMATION_STACK_1_0", "Query": \{
# "ResourceTypeFilters": [ "AWS::EC2::Instance", "AWS::S3::Bucket" ],
# "StackIdentifier":
# "arn:aws:cloudformation:us-west-2:123456789012:stack/AWStestuseraccount/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE"
# \} \}`
#
#
#
# [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html
#
# @note When making an API call, you may pass ResourceQuery
# data as a hash:
#
# {
# type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0, CLOUDFORMATION_STACK_1_0
# query: "Query", # required
# }
#
# @!attribute [rw] type
# The type of the query. You can use the following values:
#
# * CLOUDFORMATION_STACK_1_0:
Specifies that the
# `Query` contains an ARN for a CloudFormation stack.
#
# * TAG_FILTERS_1_0:
Specifies that the `Query`
# parameter contains a JSON string that represents a collection of
# simple tag filters for resource types and tags. 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 query could include the following.
#
# * An 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 query would not include the following items in the results,
# however.
#
# * An 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.
# @return [String]
#
# @!attribute [rw] query
# The query that defines a group or a search.
# @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
# @note When making an API call, you may pass SearchResourcesInput
# data as a hash:
#
# {
# resource_query: { # required
# type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0, CLOUDFORMATION_STACK_1_0
# query: "Query", # required
# },
# max_results: 1,
# next_token: "NextToken",
# }
#
# @!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 is an object that
# contains `ErrorCode` and `Message` structures. Possible values for
# `ErrorCode` are `CLOUDFORMATION_STACK_INACTIVE` and
# `CLOUDFORMATION_STACK_NOT_EXISTING`.
# @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
# @note When making an API call, you may pass TagInput
# data as a hash:
#
# {
# arn: "GroupArn", # required
# tags: { # required
# "TagKey" => "TagValue",
# },
# }
#
# @!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
# @note When making an API call, you may pass UngroupResourcesInput
# data as a hash:
#
# {
# group: "GroupString", # required
# resource_arns: ["ResourceArn"], # required
# }
#
# @!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
# @note When making an API call, you may pass UntagInput
# data as a hash:
#
# {
# arn: "GroupArn", # required
# keys: ["TagKey"], # required
# }
#
# @!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
# @note When making an API call, you may pass UpdateGroupInput
# data as a hash:
#
# {
# group_name: "GroupName",
# group: "GroupString",
# description: "Description",
# }
#
# @!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
# @note When making an API call, you may pass UpdateGroupQueryInput
# data as a hash:
#
# {
# group_name: "GroupName",
# group: "GroupString",
# resource_query: { # required
# type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0, CLOUDFORMATION_STACK_1_0
# query: "Query", # required
# },
# }
#
# @!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 AWS 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