ResourceQuery class

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 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" } }

Annotations
  • @JsonSerializable(includeIfNull: false, explicitToJson: true, createFactory: true, createToJson: true)

Constructors

ResourceQuery({@required String query, @required QueryType type})
ResourceQuery.fromJson(Map<String, dynamic> json)
factory

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
query String
The query that defines a group or a search.
@JsonKey(name: 'Query'), final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
type QueryType
The type of the query. You can use the following values: [...]
@JsonKey(name: 'Type'), final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toJson() Map<String, dynamic>
toString() String
A string representation of this object. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited