Deletes the specified key pair by removing the public key from Amazon Lightsail.
You can delete key pairs that were created using the ImportKeyPair and CreateKeyPair actions, as well as the Lightsail default key pair. A new default key pair will not be created unless you launch an instance without specifying a custom key pair, or you call the DownloadDefaultKeyPair API.
The delete key pair operation supports tag-based access control via resource tags applied to the resource identified by key pair name. For more information, see the Amazon Lightsail Developer Guide.
Parameters:
-
key_pair_name
(ResourceName)
–
The name of the key pair to delete.
-
expected_fingerprint
(Optional[string], default:
None
)
–
The RSA fingerprint of the Lightsail default key pair to delete.
The expectedFingerprint parameter is required only when specifying to delete a Lightsail default key pair.
Raises:
-
AccessDeniedException
–
Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.
-
AccountSetupInProgressException
–
Lightsail throws this exception when an account is still in the setup in progress state.
-
InvalidInputException
–
Lightsail throws this exception when user input does not conform to the validation rules of an input field.
Domain and distribution APIs are only available in the N. Virginia (us-east-1) Amazon Web Services Region. Please set your Amazon Web Services Region configuration to us-east-1 to create, view, or edit these resources.
-
NotFoundException
–
Lightsail throws this exception when it cannot find a resource.
-
OperationFailureException
–
Lightsail throws this exception when an operation fails to execute.
-
RegionSetupInProgressException
–
Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up.
-
ServiceException
–
A general service exception.
-
UnauthenticatedException
–
Lightsail throws this exception when the user has not been authenticated.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_lightsail/_services/lightsail.py
| def delete_key_pair(
self,
key_pair_name: "capo_lightsail.types.resource_name.ResourceName",
*,
config_overrides: Optional[LightsailClientConfig] = None,
expected_fingerprint: Optional["capo_lightsail.types.string.string"] = None,
) -> "capo_lightsail.types.delete_key_pair_result.DeleteKeyPairResult":
"""<p>Deletes the specified key pair by removing the public key from Amazon Lightsail.</p> <p>You can delete key pairs that were created using the <a href="https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_ImportKeyPair.html">ImportKeyPair</a> and <a href="https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_CreateKeyPair.html">CreateKeyPair</a> actions, as well as the Lightsail default key pair. A new default key pair will not be created unless you launch an instance without specifying a custom key pair, or you call the <a href="https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_DownloadDefaultKeyPair.html">DownloadDefaultKeyPair</a> API. </p> <p>The <code>delete key pair</code> operation supports tag-based access control via resource tags applied to the resource identified by <code>key pair name</code>. For more information, see the <a href="https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-controlling-access-using-tags">Amazon Lightsail Developer Guide</a>.</p>
Args:
key_pair_name: <p>The name of the key pair to delete.</p>
expected_fingerprint: <p>The RSA fingerprint of the Lightsail default key pair to delete.</p> <note> <p>The <code>expectedFingerprint</code> parameter is required only when specifying to delete a Lightsail default key pair.</p> </note>
Raises:
capo_lightsail.errors.access_denied_exception.AccessDeniedException: <p>Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.</p>
capo_lightsail.errors.account_setup_in_progress_exception.AccountSetupInProgressException: <p>Lightsail throws this exception when an account is still in the setup in progress state.</p>
capo_lightsail.errors.invalid_input_exception.InvalidInputException: <p>Lightsail throws this exception when user input does not conform to the validation rules of an input field.</p> <note> <p>Domain and distribution APIs are only available in the N. Virginia (<code>us-east-1</code>) Amazon Web Services Region. Please set your Amazon Web Services Region configuration to <code>us-east-1</code> to create, view, or edit these resources.</p> </note>
capo_lightsail.errors.not_found_exception.NotFoundException: <p>Lightsail throws this exception when it cannot find a resource.</p>
capo_lightsail.errors.operation_failure_exception.OperationFailureException: <p>Lightsail throws this exception when an operation fails to execute.</p>
capo_lightsail.errors.region_setup_in_progress_exception.RegionSetupInProgressException: <p>Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up.</p>
capo_lightsail.errors.service_exception.ServiceException: <p>A general service exception.</p>
capo_lightsail.errors.unauthenticated_exception.UnauthenticatedException: <p>Lightsail throws this exception when the user has not been authenticated.</p>
capo_lightsail.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_lightsail.types.delete_key_pair_request.DeleteKeyPairRequest]",
) -> OperationResponse[
"capo_lightsail.types.delete_key_pair_result.DeleteKeyPairResult"
]:
import capo_lightsail._operations.lightsail_20161128.delete_key_pair
output, http_response = (
capo_lightsail._operations.lightsail_20161128.delete_key_pair.delete_key_pair(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("DeleteKeyPair")
)
input_: capo_lightsail.types.delete_key_pair_request.DeleteKeyPairRequest = {
"key_pair_name": key_pair_name
}
if expected_fingerprint is not None:
input_["expected_fingerprint"] = expected_fingerprint
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|