:doc:`Redshift <../../redshift>` / Client / describe_node_configuration_options

***********************************
describe_node_configuration_options
***********************************



.. py:method:: Redshift.Client.describe_node_configuration_options(**kwargs)

  

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

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeNodeConfigurationOptions>`_  


  **Request Syntax**
  ::

    response = client.describe_node_configuration_options(
        ActionType='restore-cluster'|'recommend-node-config'|'resize-cluster',
        ClusterIdentifier='string',
        SnapshotIdentifier='string',
        SnapshotArn='string',
        OwnerAccount='string',
        Filters=[
            {
                'Name': 'NodeType'|'NumberOfNodes'|'EstimatedDiskUtilizationPercent'|'Mode',
                'Operator': 'eq'|'lt'|'gt'|'le'|'ge'|'in'|'between',
                'Values': [
                    'string',
                ]
            },
        ],
        Marker='string',
        MaxRecords=123
    )
    
  :type ActionType: string
  :param ActionType: **[REQUIRED]** 

    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.

    

  
  :type ClusterIdentifier: string
  :param ClusterIdentifier: 

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

    

  
  :type SnapshotIdentifier: string
  :param SnapshotIdentifier: 

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

    

  
  :type SnapshotArn: string
  :param SnapshotArn: 

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

    

  
  :type OwnerAccount: string
  :param 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.

    

  
  :type Filters: list
  :param Filters: 

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

    

  
    - *(dict) --* 

      A set of elements to filter the returned node configurations.

      

    
      - **Name** *(string) --* 

        The name of the element to filter.

        

      
      - **Operator** *(string) --* 

        The filter operator. If filter Name is NodeType only the 'in' operator is supported. Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 'ge'. Provide two values to evaluate for 'between'. Provide a list of values for 'in'.

        

      
      - **Values** *(list) --* 

        List of values. Compare Name using Operator to Values. If filter Name is NumberOfNodes, then values can range from 0 to 200. If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. For example, filter NumberOfNodes (name) GT (operator) 3 (values).

        

      
        - *(string) --* 

        
    
    

  :type Marker: string
  :param 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.

    

  
  :type MaxRecords: integer
  :param 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.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'NodeConfigurationOptionList': [
              {
                  'NodeType': 'string',
                  'NumberOfNodes': 123,
                  'EstimatedDiskUtilizationPercent': 123.0,
                  'Mode': 'standard'|'high-performance'
              },
          ],
          'Marker': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **NodeConfigurationOptionList** *(list) --* 

        A list of valid node configurations.

        
        

        - *(dict) --* 

          A list of node configurations.

          
          

          - **NodeType** *(string) --* 

            The node type, such as, "ra3.4xlarge".

            
          

          - **NumberOfNodes** *(integer) --* 

            The number of nodes.

            
          

          - **EstimatedDiskUtilizationPercent** *(float) --* 

            The estimated disk utilizaton percentage.

            
          

          - **Mode** *(string) --* 

            The category of the node configuration recommendation.

            
      
    
      

      - **Marker** *(string) --* 

        A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the ``Marker`` parameter and retrying the command. If the ``Marker`` field is empty, all response records have been retrieved for the request.

        
  
  **Exceptions**
  
  *   :py:class:`Redshift.Client.exceptions.ClusterSnapshotNotFoundFault`

  
  *   :py:class:`Redshift.Client.exceptions.InvalidClusterSnapshotStateFault`

  
  *   :py:class:`Redshift.Client.exceptions.ClusterNotFoundFault`

  
  *   :py:class:`Redshift.Client.exceptions.AccessToSnapshotDeniedFault`

  
  *   :py:class:`Redshift.Client.exceptions.UnsupportedOperationFault`

  