createGroup method

Future<CreateGroupOutput> createGroup({
  1. required String name,
  2. List<GroupConfigurationItem>? configuration,
  3. int? criticality,
  4. String? description,
  5. String? displayName,
  6. String? owner,
  7. ResourceQuery? resourceQuery,
  8. Map<String, String>? tags,
})

Creates a resource group with the specified name and description. You can optionally include either a resource query or a service configuration. For more information about constructing a resource query, see Build queries and groups in Resource Groups in the Resource Groups User Guide. For more information about service-linked groups and 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 InternalServerErrorException. May throw MethodNotAllowedException. May throw TooManyRequestsException.

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, 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.

Parameter 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.

Parameter criticality : The critical rank of the application group on a scale of 1 to 10, with a rank of 1 being the most critical, and a rank of 10 being least critical.

Parameter description : The description of the resource group. Descriptions can consist of letters, numbers, hyphens, underscores, periods, and spaces.

Parameter displayName : The name of the application group, which you can change at any time.

Parameter owner : A name, email address or other identifier for the person or group who is considered as the owner of this application group within your organization.

Parameter resourceQuery : 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.

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,
  int? criticality,
  String? description,
  String? displayName,
  String? owner,
  ResourceQuery? resourceQuery,
  Map<String, String>? tags,
}) async {
  _s.validateNumRange(
    'criticality',
    criticality,
    1,
    10,
  );
  final $payload = <String, dynamic>{
    'Name': name,
    if (configuration != null) 'Configuration': configuration,
    if (criticality != null) 'Criticality': criticality,
    if (description != null) 'Description': description,
    if (displayName != null) 'DisplayName': displayName,
    if (owner != null) 'Owner': owner,
    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);
}