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

com.pulumi.azure.dataprotection.outputs.BackupPolicyBlobStorageRetentionRule Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.dataprotection.outputs;

import com.pulumi.azure.dataprotection.outputs.BackupPolicyBlobStorageRetentionRuleCriteria;
import com.pulumi.azure.dataprotection.outputs.BackupPolicyBlobStorageRetentionRuleLifeCycle;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class BackupPolicyBlobStorageRetentionRule {
    /**
     * @return A `criteria` block as defined below. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    private BackupPolicyBlobStorageRetentionRuleCriteria criteria;
    /**
     * @return A `life_cycle` block as defined below. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    private BackupPolicyBlobStorageRetentionRuleLifeCycle lifeCycle;
    /**
     * @return The name which should be used for this retention rule. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    private String name;
    /**
     * @return Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    private Integer priority;

    private BackupPolicyBlobStorageRetentionRule() {}
    /**
     * @return A `criteria` block as defined below. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    public BackupPolicyBlobStorageRetentionRuleCriteria criteria() {
        return this.criteria;
    }
    /**
     * @return A `life_cycle` block as defined below. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    public BackupPolicyBlobStorageRetentionRuleLifeCycle lifeCycle() {
        return this.lifeCycle;
    }
    /**
     * @return The name which should be used for this retention rule. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy Blob Storage to be created.
     * 
     */
    public Integer priority() {
        return this.priority;
    }

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

    public static Builder builder(BackupPolicyBlobStorageRetentionRule defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private BackupPolicyBlobStorageRetentionRuleCriteria criteria;
        private BackupPolicyBlobStorageRetentionRuleLifeCycle lifeCycle;
        private String name;
        private Integer priority;
        public Builder() {}
        public Builder(BackupPolicyBlobStorageRetentionRule defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.criteria = defaults.criteria;
    	      this.lifeCycle = defaults.lifeCycle;
    	      this.name = defaults.name;
    	      this.priority = defaults.priority;
        }

        @CustomType.Setter
        public Builder criteria(BackupPolicyBlobStorageRetentionRuleCriteria criteria) {
            if (criteria == null) {
              throw new MissingRequiredPropertyException("BackupPolicyBlobStorageRetentionRule", "criteria");
            }
            this.criteria = criteria;
            return this;
        }
        @CustomType.Setter
        public Builder lifeCycle(BackupPolicyBlobStorageRetentionRuleLifeCycle lifeCycle) {
            if (lifeCycle == null) {
              throw new MissingRequiredPropertyException("BackupPolicyBlobStorageRetentionRule", "lifeCycle");
            }
            this.lifeCycle = lifeCycle;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("BackupPolicyBlobStorageRetentionRule", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder priority(Integer priority) {
            if (priority == null) {
              throw new MissingRequiredPropertyException("BackupPolicyBlobStorageRetentionRule", "priority");
            }
            this.priority = priority;
            return this;
        }
        public BackupPolicyBlobStorageRetentionRule build() {
            final var _resultValue = new BackupPolicyBlobStorageRetentionRule();
            _resultValue.criteria = criteria;
            _resultValue.lifeCycle = lifeCycle;
            _resultValue.name = name;
            _resultValue.priority = priority;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy