describeNodeConfigurationOptions method

Future<NodeConfigurationOptionsMessage> describeNodeConfigurationOptions({
  1. required ActionType actionType,
  2. String? clusterIdentifier,
  3. List<NodeConfigurationOptionsFilter>? filters,
  4. String? marker,
  5. int? maxRecords,
  6. String? ownerAccount,
  7. String? snapshotArn,
  8. String? snapshotIdentifier,
})

Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type.

May throw AccessToSnapshotDeniedFault. May throw ClusterNotFoundFault. May throw ClusterSnapshotNotFoundFault. May throw InvalidClusterSnapshotStateFault. May throw UnsupportedOperationFault.

Parameter actionType : The action type to evaluate for possible node configurations. Specify "restore-cluster" to get configuration combinations based on an existing snapshot. Specify "recommend-node-config" to get configuration recommendations based on an existing cluster or snapshot. Specify "resize-cluster" to get configuration combinations for elastic resize based on an existing cluster.

Parameter clusterIdentifier : The identifier of the cluster to evaluate for possible node configurations.

Parameter filters : A set of name, operator, and value items to filter the results.

Parameter marker : An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeNodeConfigurationOptions request exceed the value specified in MaxRecords, Amazon Web Services returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

Parameter maxRecords : The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 500

Constraints: minimum 100, maximum 500.

Parameter ownerAccount : The Amazon Web Services account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.

Parameter snapshotArn : The Amazon Resource Name (ARN) of the snapshot associated with the message to describe node configuration.

Parameter snapshotIdentifier : The identifier of the snapshot to evaluate for possible node configurations.

Implementation

Future<NodeConfigurationOptionsMessage> describeNodeConfigurationOptions({
  required ActionType actionType,
  String? clusterIdentifier,
  List<NodeConfigurationOptionsFilter>? filters,
  String? marker,
  int? maxRecords,
  String? ownerAccount,
  String? snapshotArn,
  String? snapshotIdentifier,
}) async {
  final $request = <String, String>{
    'ActionType': actionType.value,
    if (clusterIdentifier != null) 'ClusterIdentifier': clusterIdentifier,
    if (filters != null)
      if (filters.isEmpty)
        'Filters': ''
      else
        for (var i1 = 0; i1 < filters.length; i1++)
          for (var e3 in filters[i1].toQueryMap().entries)
            'Filters.NodeConfigurationOptionsFilter.${i1 + 1}.${e3.key}':
                e3.value,
    if (marker != null) 'Marker': marker,
    if (maxRecords != null) 'MaxRecords': maxRecords.toString(),
    if (ownerAccount != null) 'OwnerAccount': ownerAccount,
    if (snapshotArn != null) 'SnapshotArn': snapshotArn,
    if (snapshotIdentifier != null) 'SnapshotIdentifier': snapshotIdentifier,
  };
  final $result = await _protocol.send(
    $request,
    action: 'DescribeNodeConfigurationOptions',
    version: '2012-12-01',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    resultWrapper: 'DescribeNodeConfigurationOptionsResult',
  );
  return NodeConfigurationOptionsMessage.fromXml($result);
}