All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.eks.model.UpdateAccessEntryRequest Maven / Gradle / Ivy

/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.eks.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateAccessEntryRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of your cluster. *

*/ private String clusterName; /** *

* The ARN of the IAM principal for the AccessEntry. *

*/ private String principalArn; /** *

* 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. *

*/ private java.util.List kubernetesGroups; /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

*/ private String clientRequestToken; /** *

* 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. *

*/ private String username; /** *

* The name of your cluster. *

* * @param clusterName * The name of your cluster. */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** *

* The name of your cluster. *

* * @return The name of your cluster. */ public String getClusterName() { return this.clusterName; } /** *

* The name of your cluster. *

* * @param clusterName * The name of your cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAccessEntryRequest withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** *

* The ARN of the IAM principal for the AccessEntry. *

* * @param principalArn * The ARN of the IAM principal for the AccessEntry. */ public void setPrincipalArn(String principalArn) { this.principalArn = principalArn; } /** *

* The ARN of the IAM principal for the AccessEntry. *

* * @return The ARN of the IAM principal for the AccessEntry. */ public String getPrincipalArn() { return this.principalArn; } /** *

* The ARN of the IAM principal for the AccessEntry. *

* * @param principalArn * The ARN of the IAM principal for the AccessEntry. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAccessEntryRequest withPrincipalArn(String principalArn) { setPrincipalArn(principalArn); return this; } /** *

* 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. *

* * @return 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. */ public java.util.List getKubernetesGroups() { return 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. *

* * @param 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. */ public void setKubernetesGroups(java.util.Collection kubernetesGroups) { if (kubernetesGroups == null) { this.kubernetesGroups = null; return; } this.kubernetesGroups = new java.util.ArrayList(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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setKubernetesGroups(java.util.Collection)} or {@link #withKubernetesGroups(java.util.Collection)} if you * want to override the existing values. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAccessEntryRequest withKubernetesGroups(String... kubernetesGroups) { if (this.kubernetesGroups == null) { setKubernetesGroups(new java.util.ArrayList(kubernetesGroups.length)); } for (String ele : kubernetesGroups) { this.kubernetesGroups.add(ele); } return this; } /** *

* 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAccessEntryRequest withKubernetesGroups(java.util.Collection kubernetesGroups) { setKubernetesGroups(kubernetesGroups); return this; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

* * @param clientRequestToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */ public void setClientRequestToken(String clientRequestToken) { this.clientRequestToken = clientRequestToken; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

* * @return A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */ public String getClientRequestToken() { return this.clientRequestToken; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

* * @param clientRequestToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAccessEntryRequest withClientRequestToken(String clientRequestToken) { setClientRequestToken(clientRequestToken); return this; } /** *

* 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. *

* * @param 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. */ public void setUsername(String username) { this.username = 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. *

* * @return 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. */ public String getUsername() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAccessEntryRequest withUsername(String username) { setUsername(username); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getClusterName() != null) sb.append("ClusterName: ").append(getClusterName()).append(","); if (getPrincipalArn() != null) sb.append("PrincipalArn: ").append(getPrincipalArn()).append(","); if (getKubernetesGroups() != null) sb.append("KubernetesGroups: ").append(getKubernetesGroups()).append(","); if (getClientRequestToken() != null) sb.append("ClientRequestToken: ").append(getClientRequestToken()).append(","); if (getUsername() != null) sb.append("Username: ").append(getUsername()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateAccessEntryRequest == false) return false; UpdateAccessEntryRequest other = (UpdateAccessEntryRequest) obj; if (other.getClusterName() == null ^ this.getClusterName() == null) return false; if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == false) return false; if (other.getPrincipalArn() == null ^ this.getPrincipalArn() == null) return false; if (other.getPrincipalArn() != null && other.getPrincipalArn().equals(this.getPrincipalArn()) == false) return false; if (other.getKubernetesGroups() == null ^ this.getKubernetesGroups() == null) return false; if (other.getKubernetesGroups() != null && other.getKubernetesGroups().equals(this.getKubernetesGroups()) == false) return false; if (other.getClientRequestToken() == null ^ this.getClientRequestToken() == null) return false; if (other.getClientRequestToken() != null && other.getClientRequestToken().equals(this.getClientRequestToken()) == false) return false; if (other.getUsername() == null ^ this.getUsername() == null) return false; if (other.getUsername() != null && other.getUsername().equals(this.getUsername()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterName() == null) ? 0 : getClusterName().hashCode()); hashCode = prime * hashCode + ((getPrincipalArn() == null) ? 0 : getPrincipalArn().hashCode()); hashCode = prime * hashCode + ((getKubernetesGroups() == null) ? 0 : getKubernetesGroups().hashCode()); hashCode = prime * hashCode + ((getClientRequestToken() == null) ? 0 : getClientRequestToken().hashCode()); hashCode = prime * hashCode + ((getUsername() == null) ? 0 : getUsername().hashCode()); return hashCode; } @Override public UpdateAccessEntryRequest clone() { return (UpdateAccessEntryRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy