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

com.pulumi.aws.cleanrooms.inputs.CollaborationState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.cleanrooms.inputs;

import com.pulumi.aws.cleanrooms.inputs.CollaborationDataEncryptionMetadataArgs;
import com.pulumi.aws.cleanrooms.inputs.CollaborationMemberArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class CollaborationState extends com.pulumi.resources.ResourceArgs {

    public static final CollaborationState Empty = new CollaborationState();

    /**
     * The arn of the collaboration.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The arn of the collaboration.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The date and time the collaboration was created.
     * * `member status` - For each member included in the collaboration an additional computed attribute of status is added. These values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_MemberSummary.html#API-Type-MemberSummary-status).
     * 
     */
    @Import(name="createTime")
    private @Nullable Output createTime;

    /**
     * @return The date and time the collaboration was created.
     * * `member status` - For each member included in the collaboration an additional computed attribute of status is added. These values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_MemberSummary.html#API-Type-MemberSummary-status).
     * 
     */
    public Optional> createTime() {
        return Optional.ofNullable(this.createTime);
    }

    /**
     * The name for the member record for the collaboration creator.
     * 
     */
    @Import(name="creatorDisplayName")
    private @Nullable Output creatorDisplayName;

    /**
     * @return The name for the member record for the collaboration creator.
     * 
     */
    public Optional> creatorDisplayName() {
        return Optional.ofNullable(this.creatorDisplayName);
    }

    /**
     * The list of member abilities for the creator of the collaboration.  Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
     * 
     */
    @Import(name="creatorMemberAbilities")
    private @Nullable Output> creatorMemberAbilities;

    /**
     * @return The list of member abilities for the creator of the collaboration.  Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
     * 
     */
    public Optional>> creatorMemberAbilities() {
        return Optional.ofNullable(this.creatorMemberAbilities);
    }

    /**
     * a collection of settings which determine how the [c3r client](https://docs.aws.amazon.com/clean-rooms/latest/userguide/crypto-computing.html) will encrypt data for use within this collaboration.
     * * `data_encryption_metadata.allow_clear_text` - (Required - Forces new resource) - Indicates whether encrypted tables can contain cleartext data. This is a boolea
     *   field.
     * * `data_encryption_metadata.allow_duplicates` - (Required - Forces new resource ) - Indicates whether Fingerprint columns can contain duplicate entries. This is a
     *   boolean field.
     * * `data_encryption_metadata.allow_joins_on_columns_with_different_names` - (Required - Forces new resource) - Indicates whether Fingerprint columns can be joined
     *   n any other Fingerprint column with a different name. This is a boolean field.
     * * `data_encryption_metadata.preserve_nulls` - (Required - Forces new resource) - Indicates whether NULL values are to be copied as NULL to encrypted tables (true)
     *   or cryptographically processed (false).
     * 
     */
    @Import(name="dataEncryptionMetadata")
    private @Nullable Output dataEncryptionMetadata;

    /**
     * @return a collection of settings which determine how the [c3r client](https://docs.aws.amazon.com/clean-rooms/latest/userguide/crypto-computing.html) will encrypt data for use within this collaboration.
     * * `data_encryption_metadata.allow_clear_text` - (Required - Forces new resource) - Indicates whether encrypted tables can contain cleartext data. This is a boolea
     *   field.
     * * `data_encryption_metadata.allow_duplicates` - (Required - Forces new resource ) - Indicates whether Fingerprint columns can contain duplicate entries. This is a
     *   boolean field.
     * * `data_encryption_metadata.allow_joins_on_columns_with_different_names` - (Required - Forces new resource) - Indicates whether Fingerprint columns can be joined
     *   n any other Fingerprint column with a different name. This is a boolean field.
     * * `data_encryption_metadata.preserve_nulls` - (Required - Forces new resource) - Indicates whether NULL values are to be copied as NULL to encrypted tables (true)
     *   or cryptographically processed (false).
     * 
     */
    public Optional> dataEncryptionMetadata() {
        return Optional.ofNullable(this.dataEncryptionMetadata);
    }

    /**
     * A description for a collaboration.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A description for a collaboration.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Additional members of the collaboration which will be invited to join the collaboration.
     * * `member.account_id` - (Required - Forces new resource) - The account id for the invited member.
     * * `member.display_name` - (Required - Forces new resource) - The display name for the invited member.
     * * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
     * 
     */
    @Import(name="members")
    private @Nullable Output> members;

    /**
     * @return Additional members of the collaboration which will be invited to join the collaboration.
     * * `member.account_id` - (Required - Forces new resource) - The account id for the invited member.
     * * `member.display_name` - (Required - Forces new resource) - The display name for the invited member.
     * * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
     * 
     */
    public Optional>> members() {
        return Optional.ofNullable(this.members);
    }

    /**
     * The name of the collaboration.  Collaboration names do not need to be unique.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the collaboration.  Collaboration names do not need to be unique.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Determines if members of the collaboration can enable query logs within their own.
     * emberships. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-queryLogStatus).
     * 
     */
    @Import(name="queryLogStatus")
    private @Nullable Output queryLogStatus;

    /**
     * @return Determines if members of the collaboration can enable query logs within their own.
     * emberships. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-queryLogStatus).
     * 
     */
    public Optional> queryLogStatus() {
        return Optional.ofNullable(this.queryLogStatus);
    }

    /**
     * Key value pairs which tag the collaboration.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key value pairs which tag the collaboration.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    @Import(name="updateTime")
    private @Nullable Output updateTime;

    public Optional> updateTime() {
        return Optional.ofNullable(this.updateTime);
    }

    private CollaborationState() {}

    private CollaborationState(CollaborationState $) {
        this.arn = $.arn;
        this.createTime = $.createTime;
        this.creatorDisplayName = $.creatorDisplayName;
        this.creatorMemberAbilities = $.creatorMemberAbilities;
        this.dataEncryptionMetadata = $.dataEncryptionMetadata;
        this.description = $.description;
        this.members = $.members;
        this.name = $.name;
        this.queryLogStatus = $.queryLogStatus;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.updateTime = $.updateTime;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(CollaborationState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private CollaborationState $;

        public Builder() {
            $ = new CollaborationState();
        }

        public Builder(CollaborationState defaults) {
            $ = new CollaborationState(Objects.requireNonNull(defaults));
        }

        /**
         * @param arn The arn of the collaboration.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The arn of the collaboration.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param createTime The date and time the collaboration was created.
         * * `member status` - For each member included in the collaboration an additional computed attribute of status is added. These values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_MemberSummary.html#API-Type-MemberSummary-status).
         * 
         * @return builder
         * 
         */
        public Builder createTime(@Nullable Output createTime) {
            $.createTime = createTime;
            return this;
        }

        /**
         * @param createTime The date and time the collaboration was created.
         * * `member status` - For each member included in the collaboration an additional computed attribute of status is added. These values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_MemberSummary.html#API-Type-MemberSummary-status).
         * 
         * @return builder
         * 
         */
        public Builder createTime(String createTime) {
            return createTime(Output.of(createTime));
        }

        /**
         * @param creatorDisplayName The name for the member record for the collaboration creator.
         * 
         * @return builder
         * 
         */
        public Builder creatorDisplayName(@Nullable Output creatorDisplayName) {
            $.creatorDisplayName = creatorDisplayName;
            return this;
        }

        /**
         * @param creatorDisplayName The name for the member record for the collaboration creator.
         * 
         * @return builder
         * 
         */
        public Builder creatorDisplayName(String creatorDisplayName) {
            return creatorDisplayName(Output.of(creatorDisplayName));
        }

        /**
         * @param creatorMemberAbilities The list of member abilities for the creator of the collaboration.  Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
         * 
         * @return builder
         * 
         */
        public Builder creatorMemberAbilities(@Nullable Output> creatorMemberAbilities) {
            $.creatorMemberAbilities = creatorMemberAbilities;
            return this;
        }

        /**
         * @param creatorMemberAbilities The list of member abilities for the creator of the collaboration.  Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
         * 
         * @return builder
         * 
         */
        public Builder creatorMemberAbilities(List creatorMemberAbilities) {
            return creatorMemberAbilities(Output.of(creatorMemberAbilities));
        }

        /**
         * @param creatorMemberAbilities The list of member abilities for the creator of the collaboration.  Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
         * 
         * @return builder
         * 
         */
        public Builder creatorMemberAbilities(String... creatorMemberAbilities) {
            return creatorMemberAbilities(List.of(creatorMemberAbilities));
        }

        /**
         * @param dataEncryptionMetadata a collection of settings which determine how the [c3r client](https://docs.aws.amazon.com/clean-rooms/latest/userguide/crypto-computing.html) will encrypt data for use within this collaboration.
         * * `data_encryption_metadata.allow_clear_text` - (Required - Forces new resource) - Indicates whether encrypted tables can contain cleartext data. This is a boolea
         *   field.
         * * `data_encryption_metadata.allow_duplicates` - (Required - Forces new resource ) - Indicates whether Fingerprint columns can contain duplicate entries. This is a
         *   boolean field.
         * * `data_encryption_metadata.allow_joins_on_columns_with_different_names` - (Required - Forces new resource) - Indicates whether Fingerprint columns can be joined
         *   n any other Fingerprint column with a different name. This is a boolean field.
         * * `data_encryption_metadata.preserve_nulls` - (Required - Forces new resource) - Indicates whether NULL values are to be copied as NULL to encrypted tables (true)
         *   or cryptographically processed (false).
         * 
         * @return builder
         * 
         */
        public Builder dataEncryptionMetadata(@Nullable Output dataEncryptionMetadata) {
            $.dataEncryptionMetadata = dataEncryptionMetadata;
            return this;
        }

        /**
         * @param dataEncryptionMetadata a collection of settings which determine how the [c3r client](https://docs.aws.amazon.com/clean-rooms/latest/userguide/crypto-computing.html) will encrypt data for use within this collaboration.
         * * `data_encryption_metadata.allow_clear_text` - (Required - Forces new resource) - Indicates whether encrypted tables can contain cleartext data. This is a boolea
         *   field.
         * * `data_encryption_metadata.allow_duplicates` - (Required - Forces new resource ) - Indicates whether Fingerprint columns can contain duplicate entries. This is a
         *   boolean field.
         * * `data_encryption_metadata.allow_joins_on_columns_with_different_names` - (Required - Forces new resource) - Indicates whether Fingerprint columns can be joined
         *   n any other Fingerprint column with a different name. This is a boolean field.
         * * `data_encryption_metadata.preserve_nulls` - (Required - Forces new resource) - Indicates whether NULL values are to be copied as NULL to encrypted tables (true)
         *   or cryptographically processed (false).
         * 
         * @return builder
         * 
         */
        public Builder dataEncryptionMetadata(CollaborationDataEncryptionMetadataArgs dataEncryptionMetadata) {
            return dataEncryptionMetadata(Output.of(dataEncryptionMetadata));
        }

        /**
         * @param description A description for a collaboration.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A description for a collaboration.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param members Additional members of the collaboration which will be invited to join the collaboration.
         * * `member.account_id` - (Required - Forces new resource) - The account id for the invited member.
         * * `member.display_name` - (Required - Forces new resource) - The display name for the invited member.
         * * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
         * 
         * @return builder
         * 
         */
        public Builder members(@Nullable Output> members) {
            $.members = members;
            return this;
        }

        /**
         * @param members Additional members of the collaboration which will be invited to join the collaboration.
         * * `member.account_id` - (Required - Forces new resource) - The account id for the invited member.
         * * `member.display_name` - (Required - Forces new resource) - The display name for the invited member.
         * * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
         * 
         * @return builder
         * 
         */
        public Builder members(List members) {
            return members(Output.of(members));
        }

        /**
         * @param members Additional members of the collaboration which will be invited to join the collaboration.
         * * `member.account_id` - (Required - Forces new resource) - The account id for the invited member.
         * * `member.display_name` - (Required - Forces new resource) - The display name for the invited member.
         * * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities).
         * 
         * @return builder
         * 
         */
        public Builder members(CollaborationMemberArgs... members) {
            return members(List.of(members));
        }

        /**
         * @param name The name of the collaboration.  Collaboration names do not need to be unique.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the collaboration.  Collaboration names do not need to be unique.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param queryLogStatus Determines if members of the collaboration can enable query logs within their own.
         * emberships. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-queryLogStatus).
         * 
         * @return builder
         * 
         */
        public Builder queryLogStatus(@Nullable Output queryLogStatus) {
            $.queryLogStatus = queryLogStatus;
            return this;
        }

        /**
         * @param queryLogStatus Determines if members of the collaboration can enable query logs within their own.
         * emberships. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-queryLogStatus).
         * 
         * @return builder
         * 
         */
        public Builder queryLogStatus(String queryLogStatus) {
            return queryLogStatus(Output.of(queryLogStatus));
        }

        /**
         * @param tags Key value pairs which tag the collaboration.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key value pairs which tag the collaboration.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public Builder updateTime(@Nullable Output updateTime) {
            $.updateTime = updateTime;
            return this;
        }

        public Builder updateTime(String updateTime) {
            return updateTime(Output.of(updateTime));
        }

        public CollaborationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy