updateAccessEntry method
Updates an access entry.
May throw InvalidParameterException.
May throw InvalidRequestException.
May throw ResourceNotFoundException.
May throw ServerException.
Parameter clusterName :
The name of your cluster.
Parameter principalArn :
The ARN of the IAM principal for the AccessEntry.
Parameter clientRequestToken :
A unique, case-sensitive identifier that you provide to ensure the
idempotency of the request.
Parameter kubernetesGroups :
The value for name that you've specified for kind:
Group as a subject in a Kubernetes
RoleBinding or ClusterRoleBinding object. Amazon
EKS doesn't confirm that the value for name exists in any
bindings on your cluster. You can specify one or more names.
Kubernetes authorizes the principalArn of the access entry to
access any cluster objects that you've specified in a Kubernetes
Role or ClusterRole object that is also
specified in a binding's roleRef. For more information about
creating Kubernetes RoleBinding,
ClusterRoleBinding, Role, or
ClusterRole objects, see Using
RBAC Authorization in the Kubernetes documentation.
If you want Amazon EKS to authorize the principalArn (instead
of, or in addition to Kubernetes authorizing the
principalArn), you can associate one or more access policies
to the access entry using AssociateAccessPolicy. If you
associate any access policies, the principalARN has all
permissions assigned in the associated access policies and all permissions
in any Kubernetes Role or ClusterRole objects
that the group names are bound to.
Parameter username :
The username to authenticate to Kubernetes with. We recommend not
specifying a username and letting Amazon EKS specify it for you. For more
information about the value Amazon EKS specifies for you, or constraints
before specifying your own username, see Creating
access entries in the Amazon EKS User Guide.
Implementation
Future<UpdateAccessEntryResponse> updateAccessEntry({
required String clusterName,
required String principalArn,
String? clientRequestToken,
List<String>? kubernetesGroups,
String? username,
}) async {
final $payload = <String, dynamic>{
'clientRequestToken': clientRequestToken ?? _s.generateIdempotencyToken(),
if (kubernetesGroups != null) 'kubernetesGroups': kubernetesGroups,
if (username != null) 'username': username,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/clusters/${Uri.encodeComponent(clusterName)}/access-entries/${Uri.encodeComponent(principalArn)}',
exceptionFnMap: _exceptionFns,
);
return UpdateAccessEntryResponse.fromJson(response);
}