/* * Copyright 2018-2023 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.sagemaker.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 UpdateWorkteamRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name of the work team to update. *

*/ private String workteamName; /** *

* A list of MemberDefinition objects that contains objects that identify the workers that make up the * work team. *

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces * created using Amazon Cognito use CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. You should not provide input for both of these * parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user groups * within the user pool used to create a workforce. All of the CognitoMemberDefinition objects that * make up the member definition must have the same ClientId and UserPool values. To add a * Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more * information about user pools, see Amazon Cognito * User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your private * work team in OidcMemberDefinition by listing those groups in Groups. Be aware that user * groups that are already in the work team must also be listed in Groups when you make this request to * remain on the work team. If you do not include these user groups, they will no longer be associated with the work * team you update. *

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

* An updated description for the work team. *

*/ private String description; /** *

* Configures SNS topic notifications for available or expiring work items *

*/ private NotificationConfiguration notificationConfiguration; /** *

* The name of the work team to update. *

* * @param workteamName * The name of the work team to update. */ public void setWorkteamName(String workteamName) { this.workteamName = workteamName; } /** *

* The name of the work team to update. *

* * @return The name of the work team to update. */ public String getWorkteamName() { return this.workteamName; } /** *

* The name of the work team to update. *

* * @param workteamName * The name of the work team to update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkteamRequest withWorkteamName(String workteamName) { setWorkteamName(workteamName); return this; } /** *

* A list of MemberDefinition objects that contains objects that identify the workers that make up the * work team. *

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces * created using Amazon Cognito use CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. You should not provide input for both of these * parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user groups * within the user pool used to create a workforce. All of the CognitoMemberDefinition objects that * make up the member definition must have the same ClientId and UserPool values. To add a * Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more * information about user pools, see Amazon Cognito * User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your private * work team in OidcMemberDefinition by listing those groups in Groups. Be aware that user * groups that are already in the work team must also be listed in Groups when you make this request to * remain on the work team. If you do not include these user groups, they will no longer be associated with the work * team you update. *

* * @return A list of MemberDefinition objects that contains objects that identify the workers that make * up the work team.

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private * workforces created using Amazon Cognito use CognitoMemberDefinition. For workforces created * using your own OIDC identity provider (IdP) use OidcMemberDefinition. You should not provide * input for both of these parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user * groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition must have the same * ClientId and UserPool values. To add a Amazon Cognito user group to an existing * worker pool, see Adding groups to a User Pool. For more information about user pools, see * * Amazon Cognito User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your * private work team in OidcMemberDefinition by listing those groups in Groups. Be * aware that user groups that are already in the work team must also be listed in Groups when * you make this request to remain on the work team. If you do not include these user groups, they will no * longer be associated with the work team you update. */ public java.util.List getMemberDefinitions() { return memberDefinitions; } /** *

* A list of MemberDefinition objects that contains objects that identify the workers that make up the * work team. *

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces * created using Amazon Cognito use CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. You should not provide input for both of these * parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user groups * within the user pool used to create a workforce. All of the CognitoMemberDefinition objects that * make up the member definition must have the same ClientId and UserPool values. To add a * Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more * information about user pools, see Amazon Cognito * User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your private * work team in OidcMemberDefinition by listing those groups in Groups. Be aware that user * groups that are already in the work team must also be listed in Groups when you make this request to * remain on the work team. If you do not include these user groups, they will no longer be associated with the work * team you update. *

* * @param memberDefinitions * A list of MemberDefinition objects that contains objects that identify the workers that make * up the work team.

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private * workforces created using Amazon Cognito use CognitoMemberDefinition. For workforces created * using your own OIDC identity provider (IdP) use OidcMemberDefinition. You should not provide * input for both of these parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user * groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition must have the same * ClientId and UserPool values. To add a Amazon Cognito user group to an existing * worker pool, see Adding groups to a User Pool. For more information about user pools, see * Amazon * Cognito User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your * private work team in OidcMemberDefinition by listing those groups in Groups. Be * aware that user groups that are already in the work team must also be listed in Groups when * you make this request to remain on the work team. If you do not include these user groups, they will no * longer be associated with the work team you update. */ public void setMemberDefinitions(java.util.Collection memberDefinitions) { if (memberDefinitions == null) { this.memberDefinitions = null; return; } this.memberDefinitions = new java.util.ArrayList(memberDefinitions); } /** *

* A list of MemberDefinition objects that contains objects that identify the workers that make up the * work team. *

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces * created using Amazon Cognito use CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. You should not provide input for both of these * parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user groups * within the user pool used to create a workforce. All of the CognitoMemberDefinition objects that * make up the member definition must have the same ClientId and UserPool values. To add a * Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more * information about user pools, see Amazon Cognito * User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your private * work team in OidcMemberDefinition by listing those groups in Groups. Be aware that user * groups that are already in the work team must also be listed in Groups when you make this request to * remain on the work team. If you do not include these user groups, they will no longer be associated with the work * team you update. *

*

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

* * @param memberDefinitions * A list of MemberDefinition objects that contains objects that identify the workers that make * up the work team.

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private * workforces created using Amazon Cognito use CognitoMemberDefinition. For workforces created * using your own OIDC identity provider (IdP) use OidcMemberDefinition. You should not provide * input for both of these parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user * groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition must have the same * ClientId and UserPool values. To add a Amazon Cognito user group to an existing * worker pool, see Adding groups to a User Pool. For more information about user pools, see * Amazon * Cognito User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your * private work team in OidcMemberDefinition by listing those groups in Groups. Be * aware that user groups that are already in the work team must also be listed in Groups when * you make this request to remain on the work team. If you do not include these user groups, they will no * longer be associated with the work team you update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkteamRequest withMemberDefinitions(MemberDefinition... memberDefinitions) { if (this.memberDefinitions == null) { setMemberDefinitions(new java.util.ArrayList(memberDefinitions.length)); } for (MemberDefinition ele : memberDefinitions) { this.memberDefinitions.add(ele); } return this; } /** *

* A list of MemberDefinition objects that contains objects that identify the workers that make up the * work team. *

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces * created using Amazon Cognito use CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. You should not provide input for both of these * parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user groups * within the user pool used to create a workforce. All of the CognitoMemberDefinition objects that * make up the member definition must have the same ClientId and UserPool values. To add a * Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more * information about user pools, see Amazon Cognito * User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your private * work team in OidcMemberDefinition by listing those groups in Groups. Be aware that user * groups that are already in the work team must also be listed in Groups when you make this request to * remain on the work team. If you do not include these user groups, they will no longer be associated with the work * team you update. *

* * @param memberDefinitions * A list of MemberDefinition objects that contains objects that identify the workers that make * up the work team.

*

* Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private * workforces created using Amazon Cognito use CognitoMemberDefinition. For workforces created * using your own OIDC identity provider (IdP) use OidcMemberDefinition. You should not provide * input for both of these parameters in a single request. *

*

* For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito user * groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition must have the same * ClientId and UserPool values. To add a Amazon Cognito user group to an existing * worker pool, see Adding groups to a User Pool. For more information about user pools, see * Amazon * Cognito User Pools. *

*

* For workforces created using your own OIDC IdP, specify the user groups that you want to include in your * private work team in OidcMemberDefinition by listing those groups in Groups. Be * aware that user groups that are already in the work team must also be listed in Groups when * you make this request to remain on the work team. If you do not include these user groups, they will no * longer be associated with the work team you update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkteamRequest withMemberDefinitions(java.util.Collection memberDefinitions) { setMemberDefinitions(memberDefinitions); return this; } /** *

* An updated description for the work team. *

* * @param description * An updated description for the work team. */ public void setDescription(String description) { this.description = description; } /** *

* An updated description for the work team. *

* * @return An updated description for the work team. */ public String getDescription() { return this.description; } /** *

* An updated description for the work team. *

* * @param description * An updated description for the work team. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkteamRequest withDescription(String description) { setDescription(description); return this; } /** *

* Configures SNS topic notifications for available or expiring work items *

* * @param notificationConfiguration * Configures SNS topic notifications for available or expiring work items */ public void setNotificationConfiguration(NotificationConfiguration notificationConfiguration) { this.notificationConfiguration = notificationConfiguration; } /** *

* Configures SNS topic notifications for available or expiring work items *

* * @return Configures SNS topic notifications for available or expiring work items */ public NotificationConfiguration getNotificationConfiguration() { return this.notificationConfiguration; } /** *

* Configures SNS topic notifications for available or expiring work items *

* * @param notificationConfiguration * Configures SNS topic notifications for available or expiring work items * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkteamRequest withNotificationConfiguration(NotificationConfiguration notificationConfiguration) { setNotificationConfiguration(notificationConfiguration); 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 (getWorkteamName() != null) sb.append("WorkteamName: ").append(getWorkteamName()).append(","); if (getMemberDefinitions() != null) sb.append("MemberDefinitions: ").append(getMemberDefinitions()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getNotificationConfiguration() != null) sb.append("NotificationConfiguration: ").append(getNotificationConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateWorkteamRequest == false) return false; UpdateWorkteamRequest other = (UpdateWorkteamRequest) obj; if (other.getWorkteamName() == null ^ this.getWorkteamName() == null) return false; if (other.getWorkteamName() != null && other.getWorkteamName().equals(this.getWorkteamName()) == false) return false; if (other.getMemberDefinitions() == null ^ this.getMemberDefinitions() == null) return false; if (other.getMemberDefinitions() != null && other.getMemberDefinitions().equals(this.getMemberDefinitions()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getNotificationConfiguration() == null ^ this.getNotificationConfiguration() == null) return false; if (other.getNotificationConfiguration() != null && other.getNotificationConfiguration().equals(this.getNotificationConfiguration()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getWorkteamName() == null) ? 0 : getWorkteamName().hashCode()); hashCode = prime * hashCode + ((getMemberDefinitions() == null) ? 0 : getMemberDefinitions().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getNotificationConfiguration() == null) ? 0 : getNotificationConfiguration().hashCode()); return hashCode; } @Override public UpdateWorkteamRequest clone() { return (UpdateWorkteamRequest) super.clone(); } }