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

com.pulumi.aws.verifiedaccess.inputs.GroupState Maven / Gradle / Ivy

Go to download

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

The 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.verifiedaccess.inputs;

import com.pulumi.aws.verifiedaccess.inputs.GroupSseConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final GroupState Empty = new GroupState();

    /**
     * Timestamp when the access group was created.
     * 
     */
    @Import(name="creationTime")
    private @Nullable Output creationTime;

    /**
     * @return Timestamp when the access group was created.
     * 
     */
    public Optional> creationTime() {
        return Optional.ofNullable(this.creationTime);
    }

    /**
     * Timestamp when the access group was deleted.
     * 
     */
    @Import(name="deletionTime")
    private @Nullable Output deletionTime;

    /**
     * @return Timestamp when the access group was deleted.
     * 
     */
    public Optional> deletionTime() {
        return Optional.ofNullable(this.deletionTime);
    }

    /**
     * Description of the verified access group.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the verified access group.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Timestamp when the access group was last updated.
     * 
     */
    @Import(name="lastUpdatedTime")
    private @Nullable Output lastUpdatedTime;

    /**
     * @return Timestamp when the access group was last updated.
     * 
     */
    public Optional> lastUpdatedTime() {
        return Optional.ofNullable(this.lastUpdatedTime);
    }

    /**
     * AWS account number owning this resource.
     * 
     */
    @Import(name="owner")
    private @Nullable Output owner;

    /**
     * @return AWS account number owning this resource.
     * 
     */
    public Optional> owner() {
        return Optional.ofNullable(this.owner);
    }

    /**
     * The policy document that is associated with this resource.
     * 
     */
    @Import(name="policyDocument")
    private @Nullable Output policyDocument;

    /**
     * @return The policy document that is associated with this resource.
     * 
     */
    public Optional> policyDocument() {
        return Optional.ofNullable(this.policyDocument);
    }

    /**
     * Configuration block to use KMS keys for server-side encryption.
     * 
     */
    @Import(name="sseConfiguration")
    private @Nullable Output sseConfiguration;

    /**
     * @return Configuration block to use KMS keys for server-side encryption.
     * 
     */
    public Optional> sseConfiguration() {
        return Optional.ofNullable(this.sseConfiguration);
    }

    /**
     * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    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);
    }

    /**
     * ARN of this verified acess group.
     * 
     */
    @Import(name="verifiedaccessGroupArn")
    private @Nullable Output verifiedaccessGroupArn;

    /**
     * @return ARN of this verified acess group.
     * 
     */
    public Optional> verifiedaccessGroupArn() {
        return Optional.ofNullable(this.verifiedaccessGroupArn);
    }

    /**
     * ID of this verified access group.
     * 
     */
    @Import(name="verifiedaccessGroupId")
    private @Nullable Output verifiedaccessGroupId;

    /**
     * @return ID of this verified access group.
     * 
     */
    public Optional> verifiedaccessGroupId() {
        return Optional.ofNullable(this.verifiedaccessGroupId);
    }

    /**
     * The id of the verified access instance this group is associated with.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="verifiedaccessInstanceId")
    private @Nullable Output verifiedaccessInstanceId;

    /**
     * @return The id of the verified access instance this group is associated with.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> verifiedaccessInstanceId() {
        return Optional.ofNullable(this.verifiedaccessInstanceId);
    }

    private GroupState() {}

    private GroupState(GroupState $) {
        this.creationTime = $.creationTime;
        this.deletionTime = $.deletionTime;
        this.description = $.description;
        this.lastUpdatedTime = $.lastUpdatedTime;
        this.owner = $.owner;
        this.policyDocument = $.policyDocument;
        this.sseConfiguration = $.sseConfiguration;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.verifiedaccessGroupArn = $.verifiedaccessGroupArn;
        this.verifiedaccessGroupId = $.verifiedaccessGroupId;
        this.verifiedaccessInstanceId = $.verifiedaccessInstanceId;
    }

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

    public static final class Builder {
        private GroupState $;

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

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

        /**
         * @param creationTime Timestamp when the access group was created.
         * 
         * @return builder
         * 
         */
        public Builder creationTime(@Nullable Output creationTime) {
            $.creationTime = creationTime;
            return this;
        }

        /**
         * @param creationTime Timestamp when the access group was created.
         * 
         * @return builder
         * 
         */
        public Builder creationTime(String creationTime) {
            return creationTime(Output.of(creationTime));
        }

        /**
         * @param deletionTime Timestamp when the access group was deleted.
         * 
         * @return builder
         * 
         */
        public Builder deletionTime(@Nullable Output deletionTime) {
            $.deletionTime = deletionTime;
            return this;
        }

        /**
         * @param deletionTime Timestamp when the access group was deleted.
         * 
         * @return builder
         * 
         */
        public Builder deletionTime(String deletionTime) {
            return deletionTime(Output.of(deletionTime));
        }

        /**
         * @param description Description of the verified access group.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the verified access group.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param lastUpdatedTime Timestamp when the access group was last updated.
         * 
         * @return builder
         * 
         */
        public Builder lastUpdatedTime(@Nullable Output lastUpdatedTime) {
            $.lastUpdatedTime = lastUpdatedTime;
            return this;
        }

        /**
         * @param lastUpdatedTime Timestamp when the access group was last updated.
         * 
         * @return builder
         * 
         */
        public Builder lastUpdatedTime(String lastUpdatedTime) {
            return lastUpdatedTime(Output.of(lastUpdatedTime));
        }

        /**
         * @param owner AWS account number owning this resource.
         * 
         * @return builder
         * 
         */
        public Builder owner(@Nullable Output owner) {
            $.owner = owner;
            return this;
        }

        /**
         * @param owner AWS account number owning this resource.
         * 
         * @return builder
         * 
         */
        public Builder owner(String owner) {
            return owner(Output.of(owner));
        }

        /**
         * @param policyDocument The policy document that is associated with this resource.
         * 
         * @return builder
         * 
         */
        public Builder policyDocument(@Nullable Output policyDocument) {
            $.policyDocument = policyDocument;
            return this;
        }

        /**
         * @param policyDocument The policy document that is associated with this resource.
         * 
         * @return builder
         * 
         */
        public Builder policyDocument(String policyDocument) {
            return policyDocument(Output.of(policyDocument));
        }

        /**
         * @param sseConfiguration Configuration block to use KMS keys for server-side encryption.
         * 
         * @return builder
         * 
         */
        public Builder sseConfiguration(@Nullable Output sseConfiguration) {
            $.sseConfiguration = sseConfiguration;
            return this;
        }

        /**
         * @param sseConfiguration Configuration block to use KMS keys for server-side encryption.
         * 
         * @return builder
         * 
         */
        public Builder sseConfiguration(GroupSseConfigurationArgs sseConfiguration) {
            return sseConfiguration(Output.of(sseConfiguration));
        }

        /**
         * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @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));
        }

        /**
         * @param verifiedaccessGroupArn ARN of this verified acess group.
         * 
         * @return builder
         * 
         */
        public Builder verifiedaccessGroupArn(@Nullable Output verifiedaccessGroupArn) {
            $.verifiedaccessGroupArn = verifiedaccessGroupArn;
            return this;
        }

        /**
         * @param verifiedaccessGroupArn ARN of this verified acess group.
         * 
         * @return builder
         * 
         */
        public Builder verifiedaccessGroupArn(String verifiedaccessGroupArn) {
            return verifiedaccessGroupArn(Output.of(verifiedaccessGroupArn));
        }

        /**
         * @param verifiedaccessGroupId ID of this verified access group.
         * 
         * @return builder
         * 
         */
        public Builder verifiedaccessGroupId(@Nullable Output verifiedaccessGroupId) {
            $.verifiedaccessGroupId = verifiedaccessGroupId;
            return this;
        }

        /**
         * @param verifiedaccessGroupId ID of this verified access group.
         * 
         * @return builder
         * 
         */
        public Builder verifiedaccessGroupId(String verifiedaccessGroupId) {
            return verifiedaccessGroupId(Output.of(verifiedaccessGroupId));
        }

        /**
         * @param verifiedaccessInstanceId The id of the verified access instance this group is associated with.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder verifiedaccessInstanceId(@Nullable Output verifiedaccessInstanceId) {
            $.verifiedaccessInstanceId = verifiedaccessInstanceId;
            return this;
        }

        /**
         * @param verifiedaccessInstanceId The id of the verified access instance this group is associated with.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder verifiedaccessInstanceId(String verifiedaccessInstanceId) {
            return verifiedaccessInstanceId(Output.of(verifiedaccessInstanceId));
        }

        public GroupState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy