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

com.pulumi.azurenative.dataprotection.inputs.BackupVaultArgs 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.dataprotection.inputs;

import com.pulumi.azurenative.dataprotection.inputs.FeatureSettingsArgs;
import com.pulumi.azurenative.dataprotection.inputs.MonitoringSettingsArgs;
import com.pulumi.azurenative.dataprotection.inputs.SecuritySettingsArgs;
import com.pulumi.azurenative.dataprotection.inputs.StorageSettingArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Backup Vault
 * 
 */
public final class BackupVaultArgs extends com.pulumi.resources.ResourceArgs {

    public static final BackupVaultArgs Empty = new BackupVaultArgs();

    /**
     * Feature Settings
     * 
     */
    @Import(name="featureSettings")
    private @Nullable Output featureSettings;

    /**
     * @return Feature Settings
     * 
     */
    public Optional> featureSettings() {
        return Optional.ofNullable(this.featureSettings);
    }

    /**
     * Monitoring Settings
     * 
     */
    @Import(name="monitoringSettings")
    private @Nullable Output monitoringSettings;

    /**
     * @return Monitoring Settings
     * 
     */
    public Optional> monitoringSettings() {
        return Optional.ofNullable(this.monitoringSettings);
    }

    /**
     * Security Settings
     * 
     */
    @Import(name="securitySettings")
    private @Nullable Output securitySettings;

    /**
     * @return Security Settings
     * 
     */
    public Optional> securitySettings() {
        return Optional.ofNullable(this.securitySettings);
    }

    /**
     * Storage Settings
     * 
     */
    @Import(name="storageSettings", required=true)
    private Output> storageSettings;

    /**
     * @return Storage Settings
     * 
     */
    public Output> storageSettings() {
        return this.storageSettings;
    }

    private BackupVaultArgs() {}

    private BackupVaultArgs(BackupVaultArgs $) {
        this.featureSettings = $.featureSettings;
        this.monitoringSettings = $.monitoringSettings;
        this.securitySettings = $.securitySettings;
        this.storageSettings = $.storageSettings;
    }

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

    public static final class Builder {
        private BackupVaultArgs $;

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

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

        /**
         * @param featureSettings Feature Settings
         * 
         * @return builder
         * 
         */
        public Builder featureSettings(@Nullable Output featureSettings) {
            $.featureSettings = featureSettings;
            return this;
        }

        /**
         * @param featureSettings Feature Settings
         * 
         * @return builder
         * 
         */
        public Builder featureSettings(FeatureSettingsArgs featureSettings) {
            return featureSettings(Output.of(featureSettings));
        }

        /**
         * @param monitoringSettings Monitoring Settings
         * 
         * @return builder
         * 
         */
        public Builder monitoringSettings(@Nullable Output monitoringSettings) {
            $.monitoringSettings = monitoringSettings;
            return this;
        }

        /**
         * @param monitoringSettings Monitoring Settings
         * 
         * @return builder
         * 
         */
        public Builder monitoringSettings(MonitoringSettingsArgs monitoringSettings) {
            return monitoringSettings(Output.of(monitoringSettings));
        }

        /**
         * @param securitySettings Security Settings
         * 
         * @return builder
         * 
         */
        public Builder securitySettings(@Nullable Output securitySettings) {
            $.securitySettings = securitySettings;
            return this;
        }

        /**
         * @param securitySettings Security Settings
         * 
         * @return builder
         * 
         */
        public Builder securitySettings(SecuritySettingsArgs securitySettings) {
            return securitySettings(Output.of(securitySettings));
        }

        /**
         * @param storageSettings Storage Settings
         * 
         * @return builder
         * 
         */
        public Builder storageSettings(Output> storageSettings) {
            $.storageSettings = storageSettings;
            return this;
        }

        /**
         * @param storageSettings Storage Settings
         * 
         * @return builder
         * 
         */
        public Builder storageSettings(List storageSettings) {
            return storageSettings(Output.of(storageSettings));
        }

        /**
         * @param storageSettings Storage Settings
         * 
         * @return builder
         * 
         */
        public Builder storageSettings(StorageSettingArgs... storageSettings) {
            return storageSettings(List.of(storageSettings));
        }

        public BackupVaultArgs build() {
            if ($.storageSettings == null) {
                throw new MissingRequiredPropertyException("BackupVaultArgs", "storageSettings");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy