Skip to content

update_cluster

update_cluster(
    cluster_name: String,
    *,
    config_overrides: Optional[DAXClientConfig] = None,
    description: Optional[String] = None,
    preferred_maintenance_window: Optional[String] = None,
    notification_topic_arn: Optional[String] = None,
    notification_topic_status: Optional[String] = None,
    parameter_group_name: Optional[String] = None,
    security_group_ids: Optional[SecurityGroupIdentifierList] = None,
) -> UpdateClusterResponse

Modifies the settings for a DAX cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

Parameters:

  • cluster_name (String) –

    The name of the DAX cluster to be modified.

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

    A description of the changes being made to the cluster.

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

    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.

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

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

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

    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.

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

    The name of a parameter group for this cluster.

  • security_group_ids (Optional[SecurityGroupIdentifierList], default: None ) –

    A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not specified, DAX assigns the default VPC security group to each node.

Raises:

Source code in docs_src/capo_dax/_services/dax.py
def update_cluster(
    self,
    cluster_name: "capo_dax.types.string.String",
    *,
    config_overrides: Optional[DAXClientConfig] = None,
    description: Optional["capo_dax.types.string.String"] = None,
    preferred_maintenance_window: Optional["capo_dax.types.string.String"] = None,
    notification_topic_arn: Optional["capo_dax.types.string.String"] = None,
    notification_topic_status: Optional["capo_dax.types.string.String"] = None,
    parameter_group_name: Optional["capo_dax.types.string.String"] = None,
    security_group_ids: Optional[
        "capo_dax.types.security_group_identifier_list.SecurityGroupIdentifierList"
    ] = None,
) -> "capo_dax.types.update_cluster_response.UpdateClusterResponse":
    """<p>Modifies the settings for a DAX cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.</p>

    Args:
        cluster_name: <p>The name of the DAX cluster to be modified.</p>
        description: <p>A description of the changes being made to the cluster.</p>
        preferred_maintenance_window: <p>A range of time when maintenance of DAX cluster software will be performed. For example: <code>sun:01:00-sun:09:00</code>. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.</p>
        notification_topic_arn: <p>The Amazon Resource Name (ARN) that identifies the topic.</p>
        notification_topic_status: <p>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.</p>
        parameter_group_name: <p>The name of a parameter group for this cluster.</p>
        security_group_ids: <p>A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not specified, DAX assigns the default VPC security group to each node.</p>

    Raises:
        capo_dax.errors.cluster_not_found_fault.ClusterNotFoundFault: <p>The requested cluster ID does not refer to an existing DAX cluster.</p>
        capo_dax.errors.invalid_cluster_state_fault.InvalidClusterStateFault: <p>The requested DAX cluster is not in the <i>available</i> state.</p>
        capo_dax.errors.invalid_parameter_combination_exception.InvalidParameterCombinationException: <p>Two or more incompatible parameters were specified.</p>
        capo_dax.errors.invalid_parameter_group_state_fault.InvalidParameterGroupStateFault: <p>One or more parameters in a parameter group are in an invalid state.</p>
        capo_dax.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>The value for a parameter is invalid.</p>
        capo_dax.errors.parameter_group_not_found_fault.ParameterGroupNotFoundFault: <p>The specified parameter group does not exist.</p>
        capo_dax.errors.service_linked_role_not_found_fault.ServiceLinkedRoleNotFoundFault: <p>The specified service linked role (SLR) was not found.</p>
        capo_dax.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_dax.types.update_cluster_request.UpdateClusterRequest]",
    ) -> OperationResponse[
        "capo_dax.types.update_cluster_response.UpdateClusterResponse"
    ]:
        import capo_dax._operations.amazon_daxv3.update_cluster

        output, http_response = (
            capo_dax._operations.amazon_daxv3.update_cluster.update_cluster(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateCluster")
    )
    input_: capo_dax.types.update_cluster_request.UpdateClusterRequest = {
        "cluster_name": cluster_name
    }
    if description is not None:
        input_["description"] = description
    if preferred_maintenance_window is not None:
        input_["preferred_maintenance_window"] = preferred_maintenance_window
    if notification_topic_arn is not None:
        input_["notification_topic_arn"] = notification_topic_arn
    if notification_topic_status is not None:
        input_["notification_topic_status"] = notification_topic_status
    if parameter_group_name is not None:
        input_["parameter_group_name"] = parameter_group_name
    if security_group_ids is not None:
        input_["security_group_ids"] = security_group_ids

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output