Skip to content

enable_instance_sql_ha_standby_detections

enable_instance_sql_ha_standby_detections(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    instance_ids: Optional[InstanceIdUpdateStringList] = None,
    sql_server_credentials: Optional[SecretArn] = None,
    dry_run: Optional[Boolean] = None,
) -> EnableInstanceSqlHaStandbyDetectionsResult

Enable Amazon EC2 instances running in an SQL Server High Availability cluster for SQL Server High Availability instance standby detection monitoring. Once enabled, Amazon Web Services monitors the metadata for the instances to determine whether they are active or standby nodes in the SQL Server High Availability cluster. If the instances are determined to be standby failover nodes, Amazon Web Services automatically applies SQL Server licensing fee waiver for those instances.

To register an instance, it must be running a Windows SQL Server license-included AMI and have the Amazon Web Services Systems Manager agent installed and running. Only Windows Server 2019 and later and SQL Server (Standard and Enterprise editions) 2017 and later are supported. For more information, see Prerequisites for using SQL Server High Availability instance standby detection.

Parameters:

  • instance_ids (Optional[InstanceIdUpdateStringList], default: None ) –

    The IDs of the instances to enable for SQL Server High Availability standby detection monitoring.

  • sql_server_credentials (Optional[SecretArn], default: None ) –

    The ARN of the Secrets Manager secret containing the SQL Server access credentials. The specified secret must contain valid SQL Server credentials for the specified instances. If not specified, deafult local user credentials will be used by the Amazon Web Services Systems Manager agent. To enable instances with different credentials, you must make separate requests.

  • dry_run (Optional[Boolean], default: None ) –

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Raises:

Source code in docs_src/capo_ec2/_services/ec2.py
def enable_instance_sql_ha_standby_detections(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    instance_ids: Optional[
        "capo_ec2.types.instance_id_update_string_list.InstanceIdUpdateStringList"
    ] = None,
    sql_server_credentials: Optional["capo_ec2.types.secret_arn.SecretArn"] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.enable_instance_sql_ha_standby_detections_result.EnableInstanceSqlHaStandbyDetectionsResult":
    """<p>Enable Amazon EC2 instances running in an SQL Server High Availability cluster for SQL Server High Availability instance standby detection monitoring. Once enabled, Amazon Web Services monitors the metadata for the instances to determine whether they are active or standby nodes in the SQL Server High Availability cluster. If the instances are determined to be standby failover nodes, Amazon Web Services automatically applies SQL Server licensing fee waiver for those instances.</p> <p>To register an instance, it must be running a Windows SQL Server license-included AMI and have the Amazon Web Services Systems Manager agent installed and running. Only Windows Server 2019 and later and SQL Server (Standard and Enterprise editions) 2017 and later are supported. For more information, see <a href="https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/prerequisites-and-requirements.html"> Prerequisites for using SQL Server High Availability instance standby detection</a>.</p>

    Args:
        instance_ids: <p>The IDs of the instances to enable for SQL Server High Availability standby detection monitoring.</p>
        sql_server_credentials: <p>The ARN of the Secrets Manager secret containing the SQL Server access credentials. The specified secret must contain valid SQL Server credentials for the specified instances. If not specified, deafult local user credentials will be used by the Amazon Web Services Systems Manager agent. To enable instances with different credentials, you must make separate requests.</p>
        dry_run: <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_ec2.types.enable_instance_sql_ha_standby_detections_request.EnableInstanceSqlHaStandbyDetectionsRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.enable_instance_sql_ha_standby_detections_result.EnableInstanceSqlHaStandbyDetectionsResult"
    ]:
        import capo_ec2._operations.amazon_ec2.enable_instance_sql_ha_standby_detections

        output, http_response = (
            capo_ec2._operations.amazon_ec2.enable_instance_sql_ha_standby_detections.enable_instance_sql_ha_standby_detections(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("EnableInstanceSqlHaStandbyDetections")
    )
    input_: capo_ec2.types.enable_instance_sql_ha_standby_detections_request.EnableInstanceSqlHaStandbyDetectionsRequest = {}
    if instance_ids is not None:
        input_["instance_ids"] = instance_ids
    if sql_server_credentials is not None:
        input_["sql_server_credentials"] = sql_server_credentials
    if dry_run is not None:
        input_["dry_run"] = dry_run

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