copyDBClusterParameterGroup method

Future<CopyDBClusterParameterGroupResult> copyDBClusterParameterGroup({
  1. required String sourceDBClusterParameterGroupIdentifier,
  2. required String targetDBClusterParameterGroupDescription,
  3. required String targetDBClusterParameterGroupIdentifier,
  4. List<Tag>? tags,
})

Copies the specified cluster parameter group.

May throw DBParameterGroupAlreadyExistsFault. May throw DBParameterGroupNotFoundFault. May throw DBParameterGroupQuotaExceededFault.

Parameter sourceDBClusterParameterGroupIdentifier : The identifier or Amazon Resource Name (ARN) for the source cluster parameter group.

Constraints:

  • Must specify a valid cluster parameter group.
  • If the source cluster parameter group is in the same Amazon Web Services Region as the copy, specify a valid parameter group identifier; for example, my-db-cluster-param-group, or a valid ARN.
  • If the source parameter group is in a different Amazon Web Services Region than the copy, specify a valid cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group.

Parameter targetDBClusterParameterGroupDescription : A description for the copied cluster parameter group.

Parameter targetDBClusterParameterGroupIdentifier : The identifier for the copied cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank.
  • Must contain from 1 to 255 letters, numbers, or hyphens.
  • The first character must be a letter.
  • Cannot end with a hyphen or contain two consecutive hyphens.
Example: my-cluster-param-group1

Parameter tags : The tags that are to be assigned to the parameter group.

Implementation

Future<CopyDBClusterParameterGroupResult> copyDBClusterParameterGroup({
  required String sourceDBClusterParameterGroupIdentifier,
  required String targetDBClusterParameterGroupDescription,
  required String targetDBClusterParameterGroupIdentifier,
  List<Tag>? tags,
}) async {
  final $request = <String, String>{
    'SourceDBClusterParameterGroupIdentifier':
        sourceDBClusterParameterGroupIdentifier,
    'TargetDBClusterParameterGroupDescription':
        targetDBClusterParameterGroupDescription,
    'TargetDBClusterParameterGroupIdentifier':
        targetDBClusterParameterGroupIdentifier,
    if (tags != null)
      if (tags.isEmpty)
        'Tags': ''
      else
        for (var i1 = 0; i1 < tags.length; i1++)
          for (var e3 in tags[i1].toQueryMap().entries)
            'Tags.Tag.${i1 + 1}.${e3.key}': e3.value,
  };
  final $result = await _protocol.send(
    $request,
    action: 'CopyDBClusterParameterGroup',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    resultWrapper: 'CopyDBClusterParameterGroupResult',
  );
  return CopyDBClusterParameterGroupResult.fromXml($result);
}