describeOrderableClusterOptions method

Future<OrderableClusterOptionsMessage> describeOrderableClusterOptions({
  1. String? clusterVersion,
  2. String? marker,
  3. int? maxRecords,
  4. String? nodeType,
})

Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

Parameter clusterVersion : The version filter value. Specify this parameter to show only the available offerings matching the specified version.

Default: All versions.

Constraints: Must be one of the version returned from DescribeClusterVersions.

Parameter marker : An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeOrderableClusterOptions 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: 100

Constraints: minimum 20, maximum 100.

Parameter nodeType : The node type filter value. Specify this parameter to show only the available offerings matching the specified node type.

Implementation

Future<OrderableClusterOptionsMessage> describeOrderableClusterOptions({
  String? clusterVersion,
  String? marker,
  int? maxRecords,
  String? nodeType,
}) async {
  _s.validateStringLength(
    'clusterVersion',
    clusterVersion,
    0,
    2147483647,
  );
  _s.validateStringLength(
    'marker',
    marker,
    0,
    2147483647,
  );
  _s.validateStringLength(
    'nodeType',
    nodeType,
    0,
    2147483647,
  );
  final $request = <String, dynamic>{};
  clusterVersion?.also((arg) => $request['ClusterVersion'] = arg);
  marker?.also((arg) => $request['Marker'] = arg);
  maxRecords?.also((arg) => $request['MaxRecords'] = arg);
  nodeType?.also((arg) => $request['NodeType'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'DescribeOrderableClusterOptions',
    version: '2012-12-01',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['DescribeOrderableClusterOptionsMessage'],
    shapes: shapes,
    resultWrapper: 'DescribeOrderableClusterOptionsResult',
  );
  return OrderableClusterOptionsMessage.fromXml($result);
}