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

com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationState Maven / Gradle / Ivy

// *** 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.codegurureviewer.inputs;

import com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationKmsKeyDetailsArgs;
import com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationRepositoryArgs;
import com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationS3RepositoryDetailArgs;
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 RepositoryAssociationState extends com.pulumi.resources.ResourceArgs {

    public static final RepositoryAssociationState Empty = new RepositoryAssociationState();

    /**
     * The Amazon Resource Name (ARN) identifying the repository association.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The Amazon Resource Name (ARN) identifying the repository association.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The ID of the repository association.
     * 
     */
    @Import(name="associationId")
    private @Nullable Output associationId;

    /**
     * @return The ID of the repository association.
     * 
     */
    public Optional> associationId() {
        return Optional.ofNullable(this.associationId);
    }

    /**
     * The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection.
     * 
     */
    @Import(name="connectionArn")
    private @Nullable Output connectionArn;

    /**
     * @return The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection.
     * 
     */
    public Optional> connectionArn() {
        return Optional.ofNullable(this.connectionArn);
    }

    /**
     * An object describing the KMS key to asssociate. Block is documented below.
     * 
     */
    @Import(name="kmsKeyDetails")
    private @Nullable Output kmsKeyDetails;

    /**
     * @return An object describing the KMS key to asssociate. Block is documented below.
     * 
     */
    public Optional> kmsKeyDetails() {
        return Optional.ofNullable(this.kmsKeyDetails);
    }

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

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

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

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

    /**
     * The provider type of the repository association.
     * 
     */
    @Import(name="providerType")
    private @Nullable Output providerType;

    /**
     * @return The provider type of the repository association.
     * 
     */
    public Optional> providerType() {
        return Optional.ofNullable(this.providerType);
    }

    /**
     * An object describing the repository to associate. Valid values: `bitbucket`, `codecommit`, `github_enterprise_server`, or `s3_bucket`. Block is documented below. Note: for repositories that leverage CodeStar connections (ex. `bitbucket`, `github_enterprise_server`) the connection must be in `Available` status prior to creating this resource.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="repository")
    private @Nullable Output repository;

    /**
     * @return An object describing the repository to associate. Valid values: `bitbucket`, `codecommit`, `github_enterprise_server`, or `s3_bucket`. Block is documented below. Note: for repositories that leverage CodeStar connections (ex. `bitbucket`, `github_enterprise_server`) the connection must be in `Available` status prior to creating this resource.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> repository() {
        return Optional.ofNullable(this.repository);
    }

    @Import(name="s3RepositoryDetails")
    private @Nullable Output> s3RepositoryDetails;

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

    /**
     * The state of the repository association.
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return The state of the repository association.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * A description of why the repository association is in the current state.
     * 
     */
    @Import(name="stateReason")
    private @Nullable Output stateReason;

    /**
     * @return A description of why the repository association is in the current state.
     * 
     */
    public Optional> stateReason() {
        return Optional.ofNullable(this.stateReason);
    }

    @Import(name="tags")
    private @Nullable Output> tags;

    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);
    }

    private RepositoryAssociationState() {}

    private RepositoryAssociationState(RepositoryAssociationState $) {
        this.arn = $.arn;
        this.associationId = $.associationId;
        this.connectionArn = $.connectionArn;
        this.kmsKeyDetails = $.kmsKeyDetails;
        this.name = $.name;
        this.owner = $.owner;
        this.providerType = $.providerType;
        this.repository = $.repository;
        this.s3RepositoryDetails = $.s3RepositoryDetails;
        this.state = $.state;
        this.stateReason = $.stateReason;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
    }

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

    public static final class Builder {
        private RepositoryAssociationState $;

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

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

        /**
         * @param arn The Amazon Resource Name (ARN) identifying the repository association.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The Amazon Resource Name (ARN) identifying the repository association.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param associationId The ID of the repository association.
         * 
         * @return builder
         * 
         */
        public Builder associationId(@Nullable Output associationId) {
            $.associationId = associationId;
            return this;
        }

        /**
         * @param associationId The ID of the repository association.
         * 
         * @return builder
         * 
         */
        public Builder associationId(String associationId) {
            return associationId(Output.of(associationId));
        }

        /**
         * @param connectionArn The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionArn(@Nullable Output connectionArn) {
            $.connectionArn = connectionArn;
            return this;
        }

        /**
         * @param connectionArn The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionArn(String connectionArn) {
            return connectionArn(Output.of(connectionArn));
        }

        /**
         * @param kmsKeyDetails An object describing the KMS key to asssociate. Block is documented below.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyDetails(@Nullable Output kmsKeyDetails) {
            $.kmsKeyDetails = kmsKeyDetails;
            return this;
        }

        /**
         * @param kmsKeyDetails An object describing the KMS key to asssociate. Block is documented below.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyDetails(RepositoryAssociationKmsKeyDetailsArgs kmsKeyDetails) {
            return kmsKeyDetails(Output.of(kmsKeyDetails));
        }

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

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

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

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

        /**
         * @param providerType The provider type of the repository association.
         * 
         * @return builder
         * 
         */
        public Builder providerType(@Nullable Output providerType) {
            $.providerType = providerType;
            return this;
        }

        /**
         * @param providerType The provider type of the repository association.
         * 
         * @return builder
         * 
         */
        public Builder providerType(String providerType) {
            return providerType(Output.of(providerType));
        }

        /**
         * @param repository An object describing the repository to associate. Valid values: `bitbucket`, `codecommit`, `github_enterprise_server`, or `s3_bucket`. Block is documented below. Note: for repositories that leverage CodeStar connections (ex. `bitbucket`, `github_enterprise_server`) the connection must be in `Available` status prior to creating this resource.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder repository(@Nullable Output repository) {
            $.repository = repository;
            return this;
        }

        /**
         * @param repository An object describing the repository to associate. Valid values: `bitbucket`, `codecommit`, `github_enterprise_server`, or `s3_bucket`. Block is documented below. Note: for repositories that leverage CodeStar connections (ex. `bitbucket`, `github_enterprise_server`) the connection must be in `Available` status prior to creating this resource.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder repository(RepositoryAssociationRepositoryArgs repository) {
            return repository(Output.of(repository));
        }

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

        public Builder s3RepositoryDetails(List s3RepositoryDetails) {
            return s3RepositoryDetails(Output.of(s3RepositoryDetails));
        }

        public Builder s3RepositoryDetails(RepositoryAssociationS3RepositoryDetailArgs... s3RepositoryDetails) {
            return s3RepositoryDetails(List.of(s3RepositoryDetails));
        }

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

        /**
         * @param state The state of the repository association.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param stateReason A description of why the repository association is in the current state.
         * 
         * @return builder
         * 
         */
        public Builder stateReason(@Nullable Output stateReason) {
            $.stateReason = stateReason;
            return this;
        }

        /**
         * @param stateReason A description of why the repository association is in the current state.
         * 
         * @return builder
         * 
         */
        public Builder stateReason(String stateReason) {
            return stateReason(Output.of(stateReason));
        }

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

        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 RepositoryAssociationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy