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

com.pulumi.azurenative.sql.BackupShortTermRetentionPolicyArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.sql;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final BackupShortTermRetentionPolicyArgs Empty = new BackupShortTermRetentionPolicyArgs();

    /**
     * The name of the database.
     * 
     */
    @Import(name="databaseName", required=true)
    private Output databaseName;

    /**
     * @return The name of the database.
     * 
     */
    public Output databaseName() {
        return this.databaseName;
    }

    /**
     * The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.
     * 
     */
    @Import(name="diffBackupIntervalInHours")
    private @Nullable Output diffBackupIntervalInHours;

    /**
     * @return The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.
     * 
     */
    public Optional> diffBackupIntervalInHours() {
        return Optional.ofNullable(this.diffBackupIntervalInHours);
    }

    /**
     * The policy name. Should always be "default".
     * 
     */
    @Import(name="policyName")
    private @Nullable Output policyName;

    /**
     * @return The policy name. Should always be "default".
     * 
     */
    public Optional> policyName() {
        return Optional.ofNullable(this.policyName);
    }

    /**
     * The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
     * 
     */
    @Import(name="retentionDays")
    private @Nullable Output retentionDays;

    /**
     * @return The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
     * 
     */
    public Optional> retentionDays() {
        return Optional.ofNullable(this.retentionDays);
    }

    /**
     * The name of the server.
     * 
     */
    @Import(name="serverName", required=true)
    private Output serverName;

    /**
     * @return The name of the server.
     * 
     */
    public Output serverName() {
        return this.serverName;
    }

    private BackupShortTermRetentionPolicyArgs() {}

    private BackupShortTermRetentionPolicyArgs(BackupShortTermRetentionPolicyArgs $) {
        this.databaseName = $.databaseName;
        this.diffBackupIntervalInHours = $.diffBackupIntervalInHours;
        this.policyName = $.policyName;
        this.resourceGroupName = $.resourceGroupName;
        this.retentionDays = $.retentionDays;
        this.serverName = $.serverName;
    }

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

    public static final class Builder {
        private BackupShortTermRetentionPolicyArgs $;

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

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

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

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

        /**
         * @param diffBackupIntervalInHours The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.
         * 
         * @return builder
         * 
         */
        public Builder diffBackupIntervalInHours(@Nullable Output diffBackupIntervalInHours) {
            $.diffBackupIntervalInHours = diffBackupIntervalInHours;
            return this;
        }

        /**
         * @param diffBackupIntervalInHours The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.
         * 
         * @return builder
         * 
         */
        public Builder diffBackupIntervalInHours(Integer diffBackupIntervalInHours) {
            return diffBackupIntervalInHours(Output.of(diffBackupIntervalInHours));
        }

        /**
         * @param policyName The policy name. Should always be "default".
         * 
         * @return builder
         * 
         */
        public Builder policyName(@Nullable Output policyName) {
            $.policyName = policyName;
            return this;
        }

        /**
         * @param policyName The policy name. Should always be "default".
         * 
         * @return builder
         * 
         */
        public Builder policyName(String policyName) {
            return policyName(Output.of(policyName));
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param retentionDays The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
         * 
         * @return builder
         * 
         */
        public Builder retentionDays(@Nullable Output retentionDays) {
            $.retentionDays = retentionDays;
            return this;
        }

        /**
         * @param retentionDays The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
         * 
         * @return builder
         * 
         */
        public Builder retentionDays(Integer retentionDays) {
            return retentionDays(Output.of(retentionDays));
        }

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

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

        public BackupShortTermRetentionPolicyArgs build() {
            if ($.databaseName == null) {
                throw new MissingRequiredPropertyException("BackupShortTermRetentionPolicyArgs", "databaseName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("BackupShortTermRetentionPolicyArgs", "resourceGroupName");
            }
            if ($.serverName == null) {
                throw new MissingRequiredPropertyException("BackupShortTermRetentionPolicyArgs", "serverName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy