DAX / Client / decrease_replication_factor

decrease_replication_factor#

DAX.Client.decrease_replication_factor(**kwargs)#

Removes one or more nodes from a DAX cluster.

Note

You cannot use DecreaseReplicationFactor to remove the last node in a DAX cluster. If you need to do this, use DeleteCluster instead.

See also: AWS API Documentation

Request Syntax

response = client.decrease_replication_factor(
    ClusterName='string',
    NewReplicationFactor=123,
    AvailabilityZones=[
        'string',
    ],
    NodeIdsToRemove=[
        'string',
    ]
)
Parameters:
  • ClusterName (string) –

    [REQUIRED]

    The name of the DAX cluster from which you want to remove nodes.

  • NewReplicationFactor (integer) –

    [REQUIRED]

    The new number of nodes for the DAX cluster.

  • AvailabilityZones (list) –

    The Availability Zone(s) from which to remove nodes.

    • (string) –

  • NodeIdsToRemove (list) –

    The unique identifiers of the nodes to be removed from the cluster.

    • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'Cluster': {
        'ClusterName': 'string',
        'Description': 'string',
        'ClusterArn': 'string',
        'TotalNodes': 123,
        'ActiveNodes': 123,
        'NodeType': 'string',
        'Status': 'string',
        'ClusterDiscoveryEndpoint': {
            'Address': 'string',
            'Port': 123,
            'URL': 'string'
        },
        'NodeIdsToRemove': [
            'string',
        ],
        'Nodes': [
            {
                'NodeId': 'string',
                'Endpoint': {
                    'Address': 'string',
                    'Port': 123,
                    'URL': 'string'
                },
                'NodeCreateTime': datetime(2015, 1, 1),
                'AvailabilityZone': 'string',
                'NodeStatus': 'string',
                'ParameterGroupStatus': 'string'
            },
        ],
        'PreferredMaintenanceWindow': 'string',
        'NotificationConfiguration': {
            'TopicArn': 'string',
            'TopicStatus': 'string'
        },
        'SubnetGroup': 'string',
        'SecurityGroups': [
            {
                'SecurityGroupIdentifier': 'string',
                'Status': 'string'
            },
        ],
        'IamRoleArn': 'string',
        'ParameterGroup': {
            'ParameterGroupName': 'string',
            'ParameterApplyStatus': 'string',
            'NodeIdsToReboot': [
                'string',
            ]
        },
        'SSEDescription': {
            'Status': 'ENABLING'|'ENABLED'|'DISABLING'|'DISABLED'
        },
        'ClusterEndpointEncryptionType': 'NONE'|'TLS'
    }
}

Response Structure

  • (dict) –

    • Cluster (dict) –

      A description of the DAX cluster, after you have decreased its replication factor.

      • ClusterName (string) –

        The name of the DAX cluster.

      • Description (string) –

        The description of the cluster.

      • ClusterArn (string) –

        The Amazon Resource Name (ARN) that uniquely identifies the cluster.

      • TotalNodes (integer) –

        The total number of nodes in the cluster.

      • ActiveNodes (integer) –

        The number of nodes in the cluster that are active (i.e., capable of serving requests).

      • NodeType (string) –

        The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

      • Status (string) –

        The current status of the cluster.

      • ClusterDiscoveryEndpoint (dict) –

        The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use the URL to configure the DAX client to find their cluster.

        • Address (string) –

          The DNS hostname of the endpoint.

        • Port (integer) –

          The port number that applications should use to connect to the endpoint.

        • URL (string) –

          The URL that applications should use to connect to the endpoint. The default ports are 8111 for the “dax” protocol and 9111 for the “daxs” protocol.

      • NodeIdsToRemove (list) –

        A list of nodes to be removed from the cluster.

        • (string) –

      • Nodes (list) –

        A list of nodes that are currently in the cluster.

        • (dict) –

          Represents an individual node within a DAX cluster.

          • NodeId (string) –

            A system-generated identifier for the node.

          • Endpoint (dict) –

            The endpoint for the node, consisting of a DNS name and a port number. Client applications can connect directly to a node endpoint, if desired (as an alternative to allowing DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

            • Address (string) –

              The DNS hostname of the endpoint.

            • Port (integer) –

              The port number that applications should use to connect to the endpoint.

            • URL (string) –

              The URL that applications should use to connect to the endpoint. The default ports are 8111 for the “dax” protocol and 9111 for the “daxs” protocol.

          • NodeCreateTime (datetime) –

            The date and time (in UNIX epoch format) when the node was launched.

          • AvailabilityZone (string) –

            The Availability Zone (AZ) in which the node has been deployed.

          • NodeStatus (string) –

            The current status of the node. For example: available.

          • ParameterGroupStatus (string) –

            The status of the parameter group associated with this node. For example, in-sync.

      • PreferredMaintenanceWindow (string) –

        A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

      • NotificationConfiguration (dict) –

        Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

        • TopicArn (string) –

          The Amazon Resource Name (ARN) that identifies the topic.

        • TopicStatus (string) –

          The current state of the topic. A value of “active” means that notifications will be sent to the topic. A value of “inactive” means that notifications will not be sent to the topic.

      • SubnetGroup (string) –

        The subnet group where the DAX cluster is running.

      • SecurityGroups (list) –

        A list of security groups, and the status of each, for the nodes in the cluster.

        • (dict) –

          An individual VPC security group and its status.

          • SecurityGroupIdentifier (string) –

            The unique ID for this security group.

          • Status (string) –

            The status of this security group.

      • IamRoleArn (string) –

        A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role’s permissions to access DynamoDB on your behalf.

      • ParameterGroup (dict) –

        The parameter group being used by nodes in the cluster.

        • ParameterGroupName (string) –

          The name of the parameter group.

        • ParameterApplyStatus (string) –

          The status of parameter updates.

        • NodeIdsToReboot (list) –

          The node IDs of one or more nodes to be rebooted.

          • (string) –

      • SSEDescription (dict) –

        The description of the server-side encryption status on the specified DAX cluster.

        • Status (string) –

          The current state of server-side encryption:

          • ENABLING - Server-side encryption is being enabled.

          • ENABLED - Server-side encryption is enabled.

          • DISABLING - Server-side encryption is being disabled.

          • DISABLED - Server-side encryption is disabled.

      • ClusterEndpointEncryptionType (string) –

        The type of encryption supported by the cluster’s endpoint. Values are:

        • NONE for no encryption TLS for Transport Layer Security

Exceptions

  • DAX.Client.exceptions.ClusterNotFoundFault

  • DAX.Client.exceptions.NodeNotFoundFault

  • DAX.Client.exceptions.InvalidClusterStateFault

  • DAX.Client.exceptions.ServiceLinkedRoleNotFoundFault

  • DAX.Client.exceptions.InvalidParameterValueException

  • DAX.Client.exceptions.InvalidParameterCombinationException