Associates an encryption configuration to an existing cluster.
Use this API to enable encryption on existing clusters that don't already have encryption enabled. This allows you to implement a defense-in-depth security strategy without migrating applications to new Amazon EKS clusters.
Parameters:
-
cluster_name
(String)
–
The name of your cluster.
-
encryption_config
(EncryptionConfigList)
–
The configuration you are using for encryption.
-
client_request_token
(Optional[String], default:
None
)
–
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Raises:
-
ClientException
–
These errors are usually caused by a client action. Actions can include using an action or resource on behalf of an IAM principal that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.
-
InvalidParameterException
–
The specified parameter is invalid. Review the available parameters for the API request.
-
InvalidRequestException
–
The request is invalid given the state of the cluster. Check the state of the cluster and the associated operations.
-
ResourceInUseException
–
The specified resource is in use.
-
ResourceNotFoundException
–
The specified resource could not be found. You can view your available clusters with ListClusters. You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node groups are Amazon Web Services Region specific.
-
ServerException
–
These errors are usually caused by a server-side issue.
-
ThrottlingException
–
The request or operation couldn't be performed because a service is throttling requests.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_eks/_services/eks.py
| def associate_encryption_config(
self,
cluster_name: "capo_eks.types.string.String",
encryption_config: "capo_eks.types.encryption_config_list.EncryptionConfigList",
*,
config_overrides: Optional[EKSClientConfig] = None,
client_request_token: Optional["capo_eks.types.string.String"] = None,
) -> "capo_eks.types.associate_encryption_config_response.AssociateEncryptionConfigResponse":
"""<p>Associates an encryption configuration to an existing cluster.</p> <p>Use this API to enable encryption on existing clusters that don't already have encryption enabled. This allows you to implement a defense-in-depth security strategy without migrating applications to new Amazon EKS clusters.</p>
Args:
cluster_name: <p>The name of your cluster.</p>
encryption_config: <p>The configuration you are using for encryption.</p>
client_request_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>
Raises:
capo_eks.errors.client_exception.ClientException: <p>These errors are usually caused by a client action. Actions can include using an action or resource on behalf of an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html">IAM principal</a> that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.</p>
capo_eks.errors.invalid_parameter_exception.InvalidParameterException: <p>The specified parameter is invalid. Review the available parameters for the API request.</p>
capo_eks.errors.invalid_request_exception.InvalidRequestException: <p>The request is invalid given the state of the cluster. Check the state of the cluster and the associated operations.</p>
capo_eks.errors.resource_in_use_exception.ResourceInUseException: <p>The specified resource is in use.</p>
capo_eks.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource could not be found. You can view your available clusters with <code>ListClusters</code>. You can view your available managed node groups with <code>ListNodegroups</code>. Amazon EKS clusters and node groups are Amazon Web Services Region specific.</p>
capo_eks.errors.server_exception.ServerException: <p>These errors are usually caused by a server-side issue.</p>
capo_eks.errors.throttling_exception.ThrottlingException: <p>The request or operation couldn't be performed because a service is throttling requests.</p>
capo_eks.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_eks.types.associate_encryption_config_request.AssociateEncryptionConfigRequest]",
) -> OperationResponse[
"capo_eks.types.associate_encryption_config_response.AssociateEncryptionConfigResponse"
]:
import capo_eks._operations.aws_wesley_frontend.associate_encryption_config
output, http_response = (
capo_eks._operations.aws_wesley_frontend.associate_encryption_config.associate_encryption_config(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("AssociateEncryptionConfig")
)
input_: capo_eks.types.associate_encryption_config_request.AssociateEncryptionConfigRequest = {
"cluster_name": cluster_name,
"encryption_config": encryption_config,
}
if client_request_token is None:
client_request_token = str(uuid.uuid4())
input_["client_request_token"] = client_request_token
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|