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

com.pulumi.aws.rds.inputs.SnapshotCopyState 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.rds.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
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 SnapshotCopyState extends com.pulumi.resources.ResourceArgs {

    public static final SnapshotCopyState Empty = new SnapshotCopyState();

    /**
     * Specifies the allocated storage size in gigabytes (GB).
     * 
     */
    @Import(name="allocatedStorage")
    private @Nullable Output allocatedStorage;

    /**
     * @return Specifies the allocated storage size in gigabytes (GB).
     * 
     */
    public Optional> allocatedStorage() {
        return Optional.ofNullable(this.allocatedStorage);
    }

    /**
     * Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
     * 
     */
    @Import(name="availabilityZone")
    private @Nullable Output availabilityZone;

    /**
     * @return Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
     * 
     */
    public Optional> availabilityZone() {
        return Optional.ofNullable(this.availabilityZone);
    }

    /**
     * Whether to copy existing tags. Defaults to `false`.
     * 
     */
    @Import(name="copyTags")
    private @Nullable Output copyTags;

    /**
     * @return Whether to copy existing tags. Defaults to `false`.
     * 
     */
    public Optional> copyTags() {
        return Optional.ofNullable(this.copyTags);
    }

    /**
     * The Amazon Resource Name (ARN) for the DB snapshot.
     * 
     */
    @Import(name="dbSnapshotArn")
    private @Nullable Output dbSnapshotArn;

    /**
     * @return The Amazon Resource Name (ARN) for the DB snapshot.
     * 
     */
    public Optional> dbSnapshotArn() {
        return Optional.ofNullable(this.dbSnapshotArn);
    }

    /**
     * The Destination region to place snapshot copy.
     * 
     */
    @Import(name="destinationRegion")
    private @Nullable Output destinationRegion;

    /**
     * @return The Destination region to place snapshot copy.
     * 
     */
    public Optional> destinationRegion() {
        return Optional.ofNullable(this.destinationRegion);
    }

    /**
     * Specifies whether the DB snapshot is encrypted.
     * 
     */
    @Import(name="encrypted")
    private @Nullable Output encrypted;

    /**
     * @return Specifies whether the DB snapshot is encrypted.
     * 
     */
    public Optional> encrypted() {
        return Optional.ofNullable(this.encrypted);
    }

    /**
     * Specifies the name of the database engine.
     * 
     */
    @Import(name="engine")
    private @Nullable Output engine;

    /**
     * @return Specifies the name of the database engine.
     * 
     */
    public Optional> engine() {
        return Optional.ofNullable(this.engine);
    }

    /**
     * Specifies the version of the database engine.
     * 
     */
    @Import(name="engineVersion")
    private @Nullable Output engineVersion;

    /**
     * @return Specifies the version of the database engine.
     * 
     */
    public Optional> engineVersion() {
        return Optional.ofNullable(this.engineVersion);
    }

    /**
     * Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
     * 
     */
    @Import(name="iops")
    private @Nullable Output iops;

    /**
     * @return Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
     * 
     */
    public Optional> iops() {
        return Optional.ofNullable(this.iops);
    }

    /**
     * KMS key ID.
     * 
     */
    @Import(name="kmsKeyId")
    private @Nullable Output kmsKeyId;

    /**
     * @return KMS key ID.
     * 
     */
    public Optional> kmsKeyId() {
        return Optional.ofNullable(this.kmsKeyId);
    }

    /**
     * License model information for the restored DB instance.
     * 
     */
    @Import(name="licenseModel")
    private @Nullable Output licenseModel;

    /**
     * @return License model information for the restored DB instance.
     * 
     */
    public Optional> licenseModel() {
        return Optional.ofNullable(this.licenseModel);
    }

    /**
     * The name of an option group to associate with the copy of the snapshot.
     * 
     */
    @Import(name="optionGroupName")
    private @Nullable Output optionGroupName;

    /**
     * @return The name of an option group to associate with the copy of the snapshot.
     * 
     */
    public Optional> optionGroupName() {
        return Optional.ofNullable(this.optionGroupName);
    }

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

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

    /**
     * he URL that contains a Signature Version 4 signed request.
     * 
     */
    @Import(name="presignedUrl")
    private @Nullable Output presignedUrl;

    /**
     * @return he URL that contains a Signature Version 4 signed request.
     * 
     */
    public Optional> presignedUrl() {
        return Optional.ofNullable(this.presignedUrl);
    }

    /**
     * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
     * 
     */
    @Import(name="sharedAccounts")
    private @Nullable Output> sharedAccounts;

    /**
     * @return (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
     * 
     */
    public Optional>> sharedAccounts() {
        return Optional.ofNullable(this.sharedAccounts);
    }

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

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

    /**
     * Snapshot identifier of the source snapshot.
     * 
     */
    @Import(name="sourceDbSnapshotIdentifier")
    private @Nullable Output sourceDbSnapshotIdentifier;

    /**
     * @return Snapshot identifier of the source snapshot.
     * 
     */
    public Optional> sourceDbSnapshotIdentifier() {
        return Optional.ofNullable(this.sourceDbSnapshotIdentifier);
    }

    /**
     * The region that the DB snapshot was created in or copied from.
     * 
     */
    @Import(name="sourceRegion")
    private @Nullable Output sourceRegion;

    /**
     * @return The region that the DB snapshot was created in or copied from.
     * 
     */
    public Optional> sourceRegion() {
        return Optional.ofNullable(this.sourceRegion);
    }

    /**
     * Specifies the storage type associated with DB snapshot.
     * 
     */
    @Import(name="storageType")
    private @Nullable Output storageType;

    /**
     * @return Specifies the storage type associated with DB snapshot.
     * 
     */
    public Optional> storageType() {
        return Optional.ofNullable(this.storageType);
    }

    /**
     * Key-value map 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 map 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);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * The external custom Availability Zone.
     * 
     */
    @Import(name="targetCustomAvailabilityZone")
    private @Nullable Output targetCustomAvailabilityZone;

    /**
     * @return The external custom Availability Zone.
     * 
     */
    public Optional> targetCustomAvailabilityZone() {
        return Optional.ofNullable(this.targetCustomAvailabilityZone);
    }

    /**
     * The Identifier for the snapshot.
     * 
     */
    @Import(name="targetDbSnapshotIdentifier")
    private @Nullable Output targetDbSnapshotIdentifier;

    /**
     * @return The Identifier for the snapshot.
     * 
     */
    public Optional> targetDbSnapshotIdentifier() {
        return Optional.ofNullable(this.targetDbSnapshotIdentifier);
    }

    /**
     * Provides the VPC ID associated with the DB snapshot.
     * 
     */
    @Import(name="vpcId")
    private @Nullable Output vpcId;

    /**
     * @return Provides the VPC ID associated with the DB snapshot.
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    private SnapshotCopyState() {}

    private SnapshotCopyState(SnapshotCopyState $) {
        this.allocatedStorage = $.allocatedStorage;
        this.availabilityZone = $.availabilityZone;
        this.copyTags = $.copyTags;
        this.dbSnapshotArn = $.dbSnapshotArn;
        this.destinationRegion = $.destinationRegion;
        this.encrypted = $.encrypted;
        this.engine = $.engine;
        this.engineVersion = $.engineVersion;
        this.iops = $.iops;
        this.kmsKeyId = $.kmsKeyId;
        this.licenseModel = $.licenseModel;
        this.optionGroupName = $.optionGroupName;
        this.port = $.port;
        this.presignedUrl = $.presignedUrl;
        this.sharedAccounts = $.sharedAccounts;
        this.snapshotType = $.snapshotType;
        this.sourceDbSnapshotIdentifier = $.sourceDbSnapshotIdentifier;
        this.sourceRegion = $.sourceRegion;
        this.storageType = $.storageType;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.targetCustomAvailabilityZone = $.targetCustomAvailabilityZone;
        this.targetDbSnapshotIdentifier = $.targetDbSnapshotIdentifier;
        this.vpcId = $.vpcId;
    }

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

    public static final class Builder {
        private SnapshotCopyState $;

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

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

        /**
         * @param allocatedStorage Specifies the allocated storage size in gigabytes (GB).
         * 
         * @return builder
         * 
         */
        public Builder allocatedStorage(@Nullable Output allocatedStorage) {
            $.allocatedStorage = allocatedStorage;
            return this;
        }

        /**
         * @param allocatedStorage Specifies the allocated storage size in gigabytes (GB).
         * 
         * @return builder
         * 
         */
        public Builder allocatedStorage(Integer allocatedStorage) {
            return allocatedStorage(Output.of(allocatedStorage));
        }

        /**
         * @param availabilityZone Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(@Nullable Output availabilityZone) {
            $.availabilityZone = availabilityZone;
            return this;
        }

        /**
         * @param availabilityZone Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(String availabilityZone) {
            return availabilityZone(Output.of(availabilityZone));
        }

        /**
         * @param copyTags Whether to copy existing tags. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder copyTags(@Nullable Output copyTags) {
            $.copyTags = copyTags;
            return this;
        }

        /**
         * @param copyTags Whether to copy existing tags. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder copyTags(Boolean copyTags) {
            return copyTags(Output.of(copyTags));
        }

        /**
         * @param dbSnapshotArn The Amazon Resource Name (ARN) for the DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder dbSnapshotArn(@Nullable Output dbSnapshotArn) {
            $.dbSnapshotArn = dbSnapshotArn;
            return this;
        }

        /**
         * @param dbSnapshotArn The Amazon Resource Name (ARN) for the DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder dbSnapshotArn(String dbSnapshotArn) {
            return dbSnapshotArn(Output.of(dbSnapshotArn));
        }

        /**
         * @param destinationRegion The Destination region to place snapshot copy.
         * 
         * @return builder
         * 
         */
        public Builder destinationRegion(@Nullable Output destinationRegion) {
            $.destinationRegion = destinationRegion;
            return this;
        }

        /**
         * @param destinationRegion The Destination region to place snapshot copy.
         * 
         * @return builder
         * 
         */
        public Builder destinationRegion(String destinationRegion) {
            return destinationRegion(Output.of(destinationRegion));
        }

        /**
         * @param encrypted Specifies whether the DB snapshot is encrypted.
         * 
         * @return builder
         * 
         */
        public Builder encrypted(@Nullable Output encrypted) {
            $.encrypted = encrypted;
            return this;
        }

        /**
         * @param encrypted Specifies whether the DB snapshot is encrypted.
         * 
         * @return builder
         * 
         */
        public Builder encrypted(Boolean encrypted) {
            return encrypted(Output.of(encrypted));
        }

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

        /**
         * @param engine Specifies the name of the database engine.
         * 
         * @return builder
         * 
         */
        public Builder engine(String engine) {
            return engine(Output.of(engine));
        }

        /**
         * @param engineVersion Specifies the version of the database engine.
         * 
         * @return builder
         * 
         */
        public Builder engineVersion(@Nullable Output engineVersion) {
            $.engineVersion = engineVersion;
            return this;
        }

        /**
         * @param engineVersion Specifies the version of the database engine.
         * 
         * @return builder
         * 
         */
        public Builder engineVersion(String engineVersion) {
            return engineVersion(Output.of(engineVersion));
        }

        /**
         * @param iops Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder iops(@Nullable Output iops) {
            $.iops = iops;
            return this;
        }

        /**
         * @param iops Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder iops(Integer iops) {
            return iops(Output.of(iops));
        }

        /**
         * @param kmsKeyId KMS key ID.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(@Nullable Output kmsKeyId) {
            $.kmsKeyId = kmsKeyId;
            return this;
        }

        /**
         * @param kmsKeyId KMS key ID.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(String kmsKeyId) {
            return kmsKeyId(Output.of(kmsKeyId));
        }

        /**
         * @param licenseModel License model information for the restored DB instance.
         * 
         * @return builder
         * 
         */
        public Builder licenseModel(@Nullable Output licenseModel) {
            $.licenseModel = licenseModel;
            return this;
        }

        /**
         * @param licenseModel License model information for the restored DB instance.
         * 
         * @return builder
         * 
         */
        public Builder licenseModel(String licenseModel) {
            return licenseModel(Output.of(licenseModel));
        }

        /**
         * @param optionGroupName The name of an option group to associate with the copy of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder optionGroupName(@Nullable Output optionGroupName) {
            $.optionGroupName = optionGroupName;
            return this;
        }

        /**
         * @param optionGroupName The name of an option group to associate with the copy of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder optionGroupName(String optionGroupName) {
            return optionGroupName(Output.of(optionGroupName));
        }

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

        public Builder port(Integer port) {
            return port(Output.of(port));
        }

        /**
         * @param presignedUrl he URL that contains a Signature Version 4 signed request.
         * 
         * @return builder
         * 
         */
        public Builder presignedUrl(@Nullable Output presignedUrl) {
            $.presignedUrl = presignedUrl;
            return this;
        }

        /**
         * @param presignedUrl he URL that contains a Signature Version 4 signed request.
         * 
         * @return builder
         * 
         */
        public Builder presignedUrl(String presignedUrl) {
            return presignedUrl(Output.of(presignedUrl));
        }

        /**
         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
         * 
         * @return builder
         * 
         */
        public Builder sharedAccounts(@Nullable Output> sharedAccounts) {
            $.sharedAccounts = sharedAccounts;
            return this;
        }

        /**
         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
         * 
         * @return builder
         * 
         */
        public Builder sharedAccounts(List sharedAccounts) {
            return sharedAccounts(Output.of(sharedAccounts));
        }

        /**
         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
         * 
         * @return builder
         * 
         */
        public Builder sharedAccounts(String... sharedAccounts) {
            return sharedAccounts(List.of(sharedAccounts));
        }

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

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

        /**
         * @param sourceDbSnapshotIdentifier Snapshot identifier of the source snapshot.
         * 
         * @return builder
         * 
         */
        public Builder sourceDbSnapshotIdentifier(@Nullable Output sourceDbSnapshotIdentifier) {
            $.sourceDbSnapshotIdentifier = sourceDbSnapshotIdentifier;
            return this;
        }

        /**
         * @param sourceDbSnapshotIdentifier Snapshot identifier of the source snapshot.
         * 
         * @return builder
         * 
         */
        public Builder sourceDbSnapshotIdentifier(String sourceDbSnapshotIdentifier) {
            return sourceDbSnapshotIdentifier(Output.of(sourceDbSnapshotIdentifier));
        }

        /**
         * @param sourceRegion The region that the DB snapshot was created in or copied from.
         * 
         * @return builder
         * 
         */
        public Builder sourceRegion(@Nullable Output sourceRegion) {
            $.sourceRegion = sourceRegion;
            return this;
        }

        /**
         * @param sourceRegion The region that the DB snapshot was created in or copied from.
         * 
         * @return builder
         * 
         */
        public Builder sourceRegion(String sourceRegion) {
            return sourceRegion(Output.of(sourceRegion));
        }

        /**
         * @param storageType Specifies the storage type associated with DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder storageType(@Nullable Output storageType) {
            $.storageType = storageType;
            return this;
        }

        /**
         * @param storageType Specifies the storage type associated with DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder storageType(String storageType) {
            return storageType(Output.of(storageType));
        }

        /**
         * @param tags Key-value map 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 map 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));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param targetCustomAvailabilityZone The external custom Availability Zone.
         * 
         * @return builder
         * 
         */
        public Builder targetCustomAvailabilityZone(@Nullable Output targetCustomAvailabilityZone) {
            $.targetCustomAvailabilityZone = targetCustomAvailabilityZone;
            return this;
        }

        /**
         * @param targetCustomAvailabilityZone The external custom Availability Zone.
         * 
         * @return builder
         * 
         */
        public Builder targetCustomAvailabilityZone(String targetCustomAvailabilityZone) {
            return targetCustomAvailabilityZone(Output.of(targetCustomAvailabilityZone));
        }

        /**
         * @param targetDbSnapshotIdentifier The Identifier for the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder targetDbSnapshotIdentifier(@Nullable Output targetDbSnapshotIdentifier) {
            $.targetDbSnapshotIdentifier = targetDbSnapshotIdentifier;
            return this;
        }

        /**
         * @param targetDbSnapshotIdentifier The Identifier for the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder targetDbSnapshotIdentifier(String targetDbSnapshotIdentifier) {
            return targetDbSnapshotIdentifier(Output.of(targetDbSnapshotIdentifier));
        }

        /**
         * @param vpcId Provides the VPC ID associated with the DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        /**
         * @param vpcId Provides the VPC ID associated with the DB snapshot.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        public SnapshotCopyState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy