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

com.pulumi.azurenative.storage.outputs.ManagementPolicyBaseBlobResponse Maven / Gradle / Ivy

// *** 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.storage.outputs;

import com.pulumi.azurenative.storage.outputs.DateAfterModificationResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ManagementPolicyBaseBlobResponse {
    /**
     * @return The function to delete the blob
     * 
     */
    private @Nullable DateAfterModificationResponse delete;
    /**
     * @return This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan.
     * 
     */
    private @Nullable Boolean enableAutoTierToHotFromCool;
    /**
     * @return The function to tier blobs to archive storage.
     * 
     */
    private @Nullable DateAfterModificationResponse tierToArchive;
    /**
     * @return The function to tier blobs to cold storage.
     * 
     */
    private @Nullable DateAfterModificationResponse tierToCold;
    /**
     * @return The function to tier blobs to cool storage.
     * 
     */
    private @Nullable DateAfterModificationResponse tierToCool;
    /**
     * @return The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts
     * 
     */
    private @Nullable DateAfterModificationResponse tierToHot;

    private ManagementPolicyBaseBlobResponse() {}
    /**
     * @return The function to delete the blob
     * 
     */
    public Optional delete() {
        return Optional.ofNullable(this.delete);
    }
    /**
     * @return This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan.
     * 
     */
    public Optional enableAutoTierToHotFromCool() {
        return Optional.ofNullable(this.enableAutoTierToHotFromCool);
    }
    /**
     * @return The function to tier blobs to archive storage.
     * 
     */
    public Optional tierToArchive() {
        return Optional.ofNullable(this.tierToArchive);
    }
    /**
     * @return The function to tier blobs to cold storage.
     * 
     */
    public Optional tierToCold() {
        return Optional.ofNullable(this.tierToCold);
    }
    /**
     * @return The function to tier blobs to cool storage.
     * 
     */
    public Optional tierToCool() {
        return Optional.ofNullable(this.tierToCool);
    }
    /**
     * @return The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts
     * 
     */
    public Optional tierToHot() {
        return Optional.ofNullable(this.tierToHot);
    }

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

    public static Builder builder(ManagementPolicyBaseBlobResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable DateAfterModificationResponse delete;
        private @Nullable Boolean enableAutoTierToHotFromCool;
        private @Nullable DateAfterModificationResponse tierToArchive;
        private @Nullable DateAfterModificationResponse tierToCold;
        private @Nullable DateAfterModificationResponse tierToCool;
        private @Nullable DateAfterModificationResponse tierToHot;
        public Builder() {}
        public Builder(ManagementPolicyBaseBlobResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.delete = defaults.delete;
    	      this.enableAutoTierToHotFromCool = defaults.enableAutoTierToHotFromCool;
    	      this.tierToArchive = defaults.tierToArchive;
    	      this.tierToCold = defaults.tierToCold;
    	      this.tierToCool = defaults.tierToCool;
    	      this.tierToHot = defaults.tierToHot;
        }

        @CustomType.Setter
        public Builder delete(@Nullable DateAfterModificationResponse delete) {

            this.delete = delete;
            return this;
        }
        @CustomType.Setter
        public Builder enableAutoTierToHotFromCool(@Nullable Boolean enableAutoTierToHotFromCool) {

            this.enableAutoTierToHotFromCool = enableAutoTierToHotFromCool;
            return this;
        }
        @CustomType.Setter
        public Builder tierToArchive(@Nullable DateAfterModificationResponse tierToArchive) {

            this.tierToArchive = tierToArchive;
            return this;
        }
        @CustomType.Setter
        public Builder tierToCold(@Nullable DateAfterModificationResponse tierToCold) {

            this.tierToCold = tierToCold;
            return this;
        }
        @CustomType.Setter
        public Builder tierToCool(@Nullable DateAfterModificationResponse tierToCool) {

            this.tierToCool = tierToCool;
            return this;
        }
        @CustomType.Setter
        public Builder tierToHot(@Nullable DateAfterModificationResponse tierToHot) {

            this.tierToHot = tierToHot;
            return this;
        }
        public ManagementPolicyBaseBlobResponse build() {
            final var _resultValue = new ManagementPolicyBaseBlobResponse();
            _resultValue.delete = delete;
            _resultValue.enableAutoTierToHotFromCool = enableAutoTierToHotFromCool;
            _resultValue.tierToArchive = tierToArchive;
            _resultValue.tierToCold = tierToCold;
            _resultValue.tierToCool = tierToCool;
            _resultValue.tierToHot = tierToHot;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy