Skip to content

describe_node_configuration_options async

describe_node_configuration_options(
    *,
    config_overrides: Optional[AsyncRedshiftClientConfig] = None,
    action_type: Optional[ActionType] = None,
    cluster_identifier: Optional[String] = None,
    snapshot_identifier: Optional[String] = None,
    snapshot_arn: Optional[String] = None,
    owner_account: Optional[String] = None,
    filters: Optional[NodeConfigurationOptionsFilterList] = None,
    marker: Optional[String] = None,
    max_records: Optional[IntegerOptional] = None,
) -> NodeConfigurationOptionsMessage

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

Parameters:

  • action_type (Optional[ActionType], default: None ) –

    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.

  • cluster_identifier (Optional[String], default: None ) –

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

  • snapshot_identifier (Optional[String], default: None ) –

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

  • snapshot_arn (Optional[String], default: None ) –

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

  • owner_account (Optional[String], default: None ) –

    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.

  • filters (Optional[NodeConfigurationOptionsFilterList], default: None ) –

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

  • marker (Optional[String], default: None ) –

    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.

  • max_records (Optional[IntegerOptional], default: None ) –

    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.

Raises:

Source code in docs_src/capo_redshift/_services/async_redshift.py
async def describe_node_configuration_options(
    self,
    *,
    config_overrides: Optional[AsyncRedshiftClientConfig] = None,
    action_type: Optional["capo_redshift.types.action_type.ActionType"] = None,
    cluster_identifier: Optional["capo_redshift.types.string.String"] = None,
    snapshot_identifier: Optional["capo_redshift.types.string.String"] = None,
    snapshot_arn: Optional["capo_redshift.types.string.String"] = None,
    owner_account: Optional["capo_redshift.types.string.String"] = None,
    filters: Optional[
        "capo_redshift.types.node_configuration_options_filter_list.NodeConfigurationOptionsFilterList"
    ] = None,
    marker: Optional["capo_redshift.types.string.String"] = None,
    max_records: Optional[
        "capo_redshift.types.integer_optional.IntegerOptional"
    ] = None,
) -> "capo_redshift.types.node_configuration_options_message.NodeConfigurationOptionsMessage":
    """<p>Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type.</p>

    Args:
        action_type: <p>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. </p>
        cluster_identifier: <p>The identifier of the cluster to evaluate for possible node configurations.</p>
        snapshot_identifier: <p>The identifier of the snapshot to evaluate for possible node configurations.</p>
        snapshot_arn: <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to describe node configuration.</p>
        owner_account: <p>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.</p>
        filters: <p>A set of name, operator, and value items to filter the results.</p>
        marker: <p>An optional parameter that specifies the starting point to return a set of response records. When the results of a <a>DescribeNodeConfigurationOptions</a> request exceed the value specified in <code>MaxRecords</code>, Amazon Web Services returns a value in the <code>Marker</code> field of the response. You can retrieve the next set of response records by providing the returned marker value in the <code>Marker</code> parameter and retrying the request. </p>
        max_records: <p>The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified <code>MaxRecords</code> value, a value is returned in a <code>marker</code> field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. </p> <p>Default: <code>500</code> </p> <p>Constraints: minimum 100, maximum 500.</p>

    Raises:
        capo_redshift.errors.access_to_snapshot_denied_fault.AccessToSnapshotDeniedFault: <p>The owner of the specified snapshot has not authorized your account to access the snapshot.</p>
        capo_redshift.errors.cluster_not_found_fault.ClusterNotFoundFault: <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster. </p>
        capo_redshift.errors.cluster_snapshot_not_found_fault.ClusterSnapshotNotFoundFault: <p>The snapshot identifier does not refer to an existing cluster snapshot.</p>
        capo_redshift.errors.invalid_cluster_snapshot_state_fault.InvalidClusterSnapshotStateFault: <p>The specified cluster snapshot is not in the <code>available</code> state, or other accounts are authorized to access the snapshot. </p>
        capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_redshift.types.describe_node_configuration_options_message.DescribeNodeConfigurationOptionsMessage]",
    ) -> AsyncOperationResponse[
        "capo_redshift.types.node_configuration_options_message.NodeConfigurationOptionsMessage"
    ]:
        import capo_redshift._operations.redshift_service_version20121201.describe_node_configuration_options

        (
            output,
            http_response,
        ) = await capo_redshift._operations.redshift_service_version20121201.describe_node_configuration_options.async_describe_node_configuration_options(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DescribeNodeConfigurationOptions")
    )
    input_: capo_redshift.types.describe_node_configuration_options_message.DescribeNodeConfigurationOptionsMessage = {}
    if action_type is not None:
        input_["action_type"] = action_type
    if cluster_identifier is not None:
        input_["cluster_identifier"] = cluster_identifier
    if snapshot_identifier is not None:
        input_["snapshot_identifier"] = snapshot_identifier
    if snapshot_arn is not None:
        input_["snapshot_arn"] = snapshot_arn
    if owner_account is not None:
        input_["owner_account"] = owner_account
    if filters is not None:
        input_["filters"] = filters
    if marker is not None:
        input_["marker"] = marker
    if max_records is not None:
        input_["max_records"] = max_records

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output