createGroup method
- required String name,
- List<
GroupConfigurationItem> ? configuration, - String? description,
- ResourceQuery? resourceQuery,
- Map<
String, String> ? tags,
Creates a resource group with the specified name and description. You can optionally include a resource query, or a service configuration. For more information about constructing a resource query, see Create a tag-based group in Resource Groups. For more information about service configurations, see Service configurations for resource groups.
Minimum permissions
To run this command, you must have the following permissions:
-
resource-groups:CreateGroup
May throw BadRequestException. May throw ForbiddenException. May throw MethodNotAllowedException. May throw TooManyRequestsException. May throw InternalServerErrorException.
Parameter 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.
Parameter 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.
Parameter description
:
The description of the resource group. Descriptions can consist of
letters, numbers, hyphens, underscores, periods, and spaces.
Parameter resourceQuery
:
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.
Parameter tags
:
The tags to add to the group. A tag is key-value pair string.
Implementation
Future<CreateGroupOutput> createGroup({
required String name,
List<GroupConfigurationItem>? configuration,
String? description,
ResourceQuery? resourceQuery,
Map<String, String>? tags,
}) async {
ArgumentError.checkNotNull(name, 'name');
_s.validateStringLength(
'name',
name,
1,
128,
isRequired: true,
);
_s.validateStringLength(
'description',
description,
0,
512,
);
final $payload = <String, dynamic>{
'Name': name,
if (configuration != null) 'Configuration': configuration,
if (description != null) 'Description': description,
if (resourceQuery != null) 'ResourceQuery': resourceQuery,
if (tags != null) 'Tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/groups',
exceptionFnMap: _exceptionFns,
);
return CreateGroupOutput.fromJson(response);
}