/* * 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.cleanrooms.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 CreateCollaborationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* A list of initial members, not including the creator. This list is immutable. *
*/ private java.util.List* The display name for a collaboration. *
*/ private String name; /** ** A description of the collaboration provided by the collaboration owner. *
*/ private String description; /** ** The abilities granted to the collaboration creator. *
*/ private java.util.List* The display name of the collaboration creator. *
*/ private String creatorDisplayName; /** ** The settings for client-side encryption with Cryptographic Computing for Clean Rooms. *
*/ private DataEncryptionMetadata dataEncryptionMetadata; /** ** An indicator as to whether query logging has been enabled or disabled for the collaboration. *
*/ private String queryLogStatus; /** ** An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM * policies to control access to this resource. *
*/ private java.util.Map* A list of initial members, not including the creator. This list is immutable. *
* * @return A list of initial members, not including the creator. This list is immutable. */ public java.util.List* A list of initial members, not including the creator. This list is immutable. *
* * @param members * A list of initial members, not including the creator. This list is immutable. */ public void setMembers(java.util.Collection* A list of initial members, not including the creator. This list is immutable. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setMembers(java.util.Collection)} or {@link #withMembers(java.util.Collection)} if you want to override * the existing values. *
* * @param members * A list of initial members, not including the creator. This list is immutable. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withMembers(MemberSpecification... members) { if (this.members == null) { setMembers(new java.util.ArrayList* A list of initial members, not including the creator. This list is immutable. *
* * @param members * A list of initial members, not including the creator. This list is immutable. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withMembers(java.util.Collection* The display name for a collaboration. *
* * @param name * The display name for a collaboration. */ public void setName(String name) { this.name = name; } /** ** The display name for a collaboration. *
* * @return The display name for a collaboration. */ public String getName() { return this.name; } /** ** The display name for a collaboration. *
* * @param name * The display name for a collaboration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withName(String name) { setName(name); return this; } /** ** A description of the collaboration provided by the collaboration owner. *
* * @param description * A description of the collaboration provided by the collaboration owner. */ public void setDescription(String description) { this.description = description; } /** ** A description of the collaboration provided by the collaboration owner. *
* * @return A description of the collaboration provided by the collaboration owner. */ public String getDescription() { return this.description; } /** ** A description of the collaboration provided by the collaboration owner. *
* * @param description * A description of the collaboration provided by the collaboration owner. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withDescription(String description) { setDescription(description); return this; } /** ** The abilities granted to the collaboration creator. *
* * @return The abilities granted to the collaboration creator. * @see MemberAbility */ public java.util.List* The abilities granted to the collaboration creator. *
* * @param creatorMemberAbilities * The abilities granted to the collaboration creator. * @see MemberAbility */ public void setCreatorMemberAbilities(java.util.Collection* The abilities granted to the collaboration creator. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setCreatorMemberAbilities(java.util.Collection)} or * {@link #withCreatorMemberAbilities(java.util.Collection)} if you want to override the existing values. *
* * @param creatorMemberAbilities * The abilities granted to the collaboration creator. * @return Returns a reference to this object so that method calls can be chained together. * @see MemberAbility */ public CreateCollaborationRequest withCreatorMemberAbilities(String... creatorMemberAbilities) { if (this.creatorMemberAbilities == null) { setCreatorMemberAbilities(new java.util.ArrayList* The abilities granted to the collaboration creator. *
* * @param creatorMemberAbilities * The abilities granted to the collaboration creator. * @return Returns a reference to this object so that method calls can be chained together. * @see MemberAbility */ public CreateCollaborationRequest withCreatorMemberAbilities(java.util.Collection* The abilities granted to the collaboration creator. *
* * @param creatorMemberAbilities * The abilities granted to the collaboration creator. * @return Returns a reference to this object so that method calls can be chained together. * @see MemberAbility */ public CreateCollaborationRequest withCreatorMemberAbilities(MemberAbility... creatorMemberAbilities) { java.util.ArrayList* The display name of the collaboration creator. *
* * @param creatorDisplayName * The display name of the collaboration creator. */ public void setCreatorDisplayName(String creatorDisplayName) { this.creatorDisplayName = creatorDisplayName; } /** ** The display name of the collaboration creator. *
* * @return The display name of the collaboration creator. */ public String getCreatorDisplayName() { return this.creatorDisplayName; } /** ** The display name of the collaboration creator. *
* * @param creatorDisplayName * The display name of the collaboration creator. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withCreatorDisplayName(String creatorDisplayName) { setCreatorDisplayName(creatorDisplayName); return this; } /** ** The settings for client-side encryption with Cryptographic Computing for Clean Rooms. *
* * @param dataEncryptionMetadata * The settings for client-side encryption with Cryptographic Computing for Clean Rooms. */ public void setDataEncryptionMetadata(DataEncryptionMetadata dataEncryptionMetadata) { this.dataEncryptionMetadata = dataEncryptionMetadata; } /** ** The settings for client-side encryption with Cryptographic Computing for Clean Rooms. *
* * @return The settings for client-side encryption with Cryptographic Computing for Clean Rooms. */ public DataEncryptionMetadata getDataEncryptionMetadata() { return this.dataEncryptionMetadata; } /** ** The settings for client-side encryption with Cryptographic Computing for Clean Rooms. *
* * @param dataEncryptionMetadata * The settings for client-side encryption with Cryptographic Computing for Clean Rooms. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withDataEncryptionMetadata(DataEncryptionMetadata dataEncryptionMetadata) { setDataEncryptionMetadata(dataEncryptionMetadata); return this; } /** ** An indicator as to whether query logging has been enabled or disabled for the collaboration. *
* * @param queryLogStatus * An indicator as to whether query logging has been enabled or disabled for the collaboration. * @see CollaborationQueryLogStatus */ public void setQueryLogStatus(String queryLogStatus) { this.queryLogStatus = queryLogStatus; } /** ** An indicator as to whether query logging has been enabled or disabled for the collaboration. *
* * @return An indicator as to whether query logging has been enabled or disabled for the collaboration. * @see CollaborationQueryLogStatus */ public String getQueryLogStatus() { return this.queryLogStatus; } /** ** An indicator as to whether query logging has been enabled or disabled for the collaboration. *
* * @param queryLogStatus * An indicator as to whether query logging has been enabled or disabled for the collaboration. * @return Returns a reference to this object so that method calls can be chained together. * @see CollaborationQueryLogStatus */ public CreateCollaborationRequest withQueryLogStatus(String queryLogStatus) { setQueryLogStatus(queryLogStatus); return this; } /** ** An indicator as to whether query logging has been enabled or disabled for the collaboration. *
* * @param queryLogStatus * An indicator as to whether query logging has been enabled or disabled for the collaboration. * @return Returns a reference to this object so that method calls can be chained together. * @see CollaborationQueryLogStatus */ public CreateCollaborationRequest withQueryLogStatus(CollaborationQueryLogStatus queryLogStatus) { this.queryLogStatus = queryLogStatus.toString(); return this; } /** ** An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM * policies to control access to this resource. *
* * @return An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control * in IAM policies to control access to this resource. */ public java.util.Map* An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM * policies to control access to this resource. *
* * @param tags * An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control * in IAM policies to control access to this resource. */ public void setTags(java.util.Map* An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM * policies to control access to this resource. *
* * @param tags * An optional label that you can assign to a resource when you create it. Each tag consists of a key and an * optional value, both of which you define. When you use tagging, you can also use tag-based access control * in IAM policies to control access to this resource. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateCollaborationRequest withTags(java.util.Map