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? snapshotIdentifier,
})

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

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

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, AWS 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 AWS customer 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 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? snapshotIdentifier,
}) async {
  ArgumentError.checkNotNull(actionType, 'actionType');
  _s.validateStringLength(
    'clusterIdentifier',
    clusterIdentifier,
    0,
    2147483647,
  );
  _s.validateStringLength(
    'marker',
    marker,
    0,
    2147483647,
  );
  _s.validateStringLength(
    'ownerAccount',
    ownerAccount,
    0,
    2147483647,
  );
  _s.validateStringLength(
    'snapshotIdentifier',
    snapshotIdentifier,
    0,
    2147483647,
  );
  final $request = <String, dynamic>{};
  $request['ActionType'] = actionType.toValue();
  clusterIdentifier?.also((arg) => $request['ClusterIdentifier'] = arg);
  filters?.also((arg) => $request['Filters'] = arg);
  marker?.also((arg) => $request['Marker'] = arg);
  maxRecords?.also((arg) => $request['MaxRecords'] = arg);
  ownerAccount?.also((arg) => $request['OwnerAccount'] = arg);
  snapshotIdentifier?.also((arg) => $request['SnapshotIdentifier'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'DescribeNodeConfigurationOptions',
    version: '2012-12-01',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['DescribeNodeConfigurationOptionsMessage'],
    shapes: shapes,
    resultWrapper: 'DescribeNodeConfigurationOptionsResult',
  );
  return NodeConfigurationOptionsMessage.fromXml($result);
}