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

com.pulumi.azurenative.storage.BlobServiceProperties 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.storage;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.storage.BlobServicePropertiesArgs;
import com.pulumi.azurenative.storage.outputs.ChangeFeedResponse;
import com.pulumi.azurenative.storage.outputs.CorsRulesResponse;
import com.pulumi.azurenative.storage.outputs.DeleteRetentionPolicyResponse;
import com.pulumi.azurenative.storage.outputs.LastAccessTimeTrackingPolicyResponse;
import com.pulumi.azurenative.storage.outputs.RestorePolicyPropertiesResponse;
import com.pulumi.azurenative.storage.outputs.SkuResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * The properties of a storage account’s Blob service.
 * Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2021-02-01.
 * 
 * Other available API versions: 2023-01-01, 2023-04-01, 2023-05-01.
 * 
 * ## Example Usage
 * ### BlobServicesPutAllowPermanentDelete
 * 
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.storage.BlobServiceProperties;
 * import com.pulumi.azurenative.storage.BlobServicePropertiesArgs;
 * import com.pulumi.azurenative.storage.inputs.DeleteRetentionPolicyArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 * 
 *     public static void stack(Context ctx) {
 *         var blobServiceProperties = new BlobServiceProperties("blobServiceProperties", BlobServicePropertiesArgs.builder()
 *             .accountName("sto8607")
 *             .blobServicesName("default")
 *             .deleteRetentionPolicy(DeleteRetentionPolicyArgs.builder()
 *                 .allowPermanentDelete(true)
 *                 .days(300)
 *                 .enabled(true)
 *                 .build())
 *             .isVersioningEnabled(true)
 *             .resourceGroupName("res4410")
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* ### BlobServicesPutLastAccessTimeBasedTracking * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.storage.BlobServiceProperties;
 * import com.pulumi.azurenative.storage.BlobServicePropertiesArgs;
 * import com.pulumi.azurenative.storage.inputs.LastAccessTimeTrackingPolicyArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 * 
 *     public static void stack(Context ctx) {
 *         var blobServiceProperties = new BlobServiceProperties("blobServiceProperties", BlobServicePropertiesArgs.builder()
 *             .accountName("sto8607")
 *             .blobServicesName("default")
 *             .lastAccessTimeTrackingPolicy(LastAccessTimeTrackingPolicyArgs.builder()
 *                 .blobType("blockBlob")
 *                 .enable(true)
 *                 .name("AccessTimeTracking")
 *                 .trackingGranularityInDays(1)
 *                 .build())
 *             .resourceGroupName("res4410")
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* ### PutBlobServices * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.storage.BlobServiceProperties;
 * import com.pulumi.azurenative.storage.BlobServicePropertiesArgs;
 * import com.pulumi.azurenative.storage.inputs.ChangeFeedArgs;
 * import com.pulumi.azurenative.storage.inputs.CorsRulesArgs;
 * import com.pulumi.azurenative.storage.inputs.DeleteRetentionPolicyArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 * 
 *     public static void stack(Context ctx) {
 *         var blobServiceProperties = new BlobServiceProperties("blobServiceProperties", BlobServicePropertiesArgs.builder()
 *             .accountName("sto8607")
 *             .blobServicesName("default")
 *             .changeFeed(ChangeFeedArgs.builder()
 *                 .enabled(true)
 *                 .retentionInDays(7)
 *                 .build())
 *             .cors(CorsRulesArgs.builder()
 *                 .corsRules(                
 *                     CorsRuleArgs.builder()
 *                         .allowedHeaders(                        
 *                             "x-ms-meta-abc",
 *                             "x-ms-meta-data*",
 *                             "x-ms-meta-target*")
 *                         .allowedMethods(                        
 *                             "GET",
 *                             "HEAD",
 *                             "POST",
 *                             "OPTIONS",
 *                             "MERGE",
 *                             "PUT")
 *                         .allowedOrigins(                        
 *                             "http://www.contoso.com",
 *                             "http://www.fabrikam.com")
 *                         .exposedHeaders("x-ms-meta-*")
 *                         .maxAgeInSeconds(100)
 *                         .build(),
 *                     CorsRuleArgs.builder()
 *                         .allowedHeaders("*")
 *                         .allowedMethods("GET")
 *                         .allowedOrigins("*")
 *                         .exposedHeaders("*")
 *                         .maxAgeInSeconds(2)
 *                         .build(),
 *                     CorsRuleArgs.builder()
 *                         .allowedHeaders("x-ms-meta-12345675754564*")
 *                         .allowedMethods(                        
 *                             "GET",
 *                             "PUT")
 *                         .allowedOrigins(                        
 *                             "http://www.abc23.com",
 *                             "https://www.fabrikam.com/*")
 *                         .exposedHeaders(                        
 *                             "x-ms-meta-abc",
 *                             "x-ms-meta-data*",
 *                             "x -ms-meta-target*")
 *                         .maxAgeInSeconds(2000)
 *                         .build())
 *                 .build())
 *             .defaultServiceVersion("2017-07-29")
 *             .deleteRetentionPolicy(DeleteRetentionPolicyArgs.builder()
 *                 .days(300)
 *                 .enabled(true)
 *                 .build())
 *             .isVersioningEnabled(true)
 *             .resourceGroupName("res4410")
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* * ## Import * * An existing resource can be imported using its type token, name, and identifier, e.g. * * ```sh * $ pulumi import azure-native:storage:BlobServiceProperties default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName} * ``` * */ @ResourceType(type="azure-native:storage:BlobServiceProperties") public class BlobServiceProperties extends com.pulumi.resources.CustomResource { /** * Deprecated in favor of isVersioningEnabled property. * */ @Export(name="automaticSnapshotPolicyEnabled", refs={Boolean.class}, tree="[0]") private Output automaticSnapshotPolicyEnabled; /** * @return Deprecated in favor of isVersioningEnabled property. * */ public Output> automaticSnapshotPolicyEnabled() { return Codegen.optional(this.automaticSnapshotPolicyEnabled); } /** * The blob service properties for change feed events. * */ @Export(name="changeFeed", refs={ChangeFeedResponse.class}, tree="[0]") private Output changeFeed; /** * @return The blob service properties for change feed events. * */ public Output> changeFeed() { return Codegen.optional(this.changeFeed); } /** * The blob service properties for container soft delete. * */ @Export(name="containerDeleteRetentionPolicy", refs={DeleteRetentionPolicyResponse.class}, tree="[0]") private Output containerDeleteRetentionPolicy; /** * @return The blob service properties for container soft delete. * */ public Output> containerDeleteRetentionPolicy() { return Codegen.optional(this.containerDeleteRetentionPolicy); } /** * Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. * */ @Export(name="cors", refs={CorsRulesResponse.class}, tree="[0]") private Output cors; /** * @return Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. * */ public Output> cors() { return Codegen.optional(this.cors); } /** * DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. * */ @Export(name="defaultServiceVersion", refs={String.class}, tree="[0]") private Output defaultServiceVersion; /** * @return DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. * */ public Output> defaultServiceVersion() { return Codegen.optional(this.defaultServiceVersion); } /** * The blob service properties for blob soft delete. * */ @Export(name="deleteRetentionPolicy", refs={DeleteRetentionPolicyResponse.class}, tree="[0]") private Output deleteRetentionPolicy; /** * @return The blob service properties for blob soft delete. * */ public Output> deleteRetentionPolicy() { return Codegen.optional(this.deleteRetentionPolicy); } /** * Versioning is enabled if set to true. * */ @Export(name="isVersioningEnabled", refs={Boolean.class}, tree="[0]") private Output isVersioningEnabled; /** * @return Versioning is enabled if set to true. * */ public Output> isVersioningEnabled() { return Codegen.optional(this.isVersioningEnabled); } /** * The blob service property to configure last access time based tracking policy. * */ @Export(name="lastAccessTimeTrackingPolicy", refs={LastAccessTimeTrackingPolicyResponse.class}, tree="[0]") private Output lastAccessTimeTrackingPolicy; /** * @return The blob service property to configure last access time based tracking policy. * */ public Output> lastAccessTimeTrackingPolicy() { return Codegen.optional(this.lastAccessTimeTrackingPolicy); } /** * The name of the resource * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return The name of the resource * */ public Output name() { return this.name; } /** * The blob service properties for blob restore policy. * */ @Export(name="restorePolicy", refs={RestorePolicyPropertiesResponse.class}, tree="[0]") private Output restorePolicy; /** * @return The blob service properties for blob restore policy. * */ public Output> restorePolicy() { return Codegen.optional(this.restorePolicy); } /** * Sku name and tier. * */ @Export(name="sku", refs={SkuResponse.class}, tree="[0]") private Output sku; /** * @return Sku name and tier. * */ public Output sku() { return this.sku; } /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * */ public Output type() { return this.type; } /** * * @param name The _unique_ name of the resulting resource. */ public BlobServiceProperties(java.lang.String name) { this(name, BlobServicePropertiesArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public BlobServiceProperties(java.lang.String name, BlobServicePropertiesArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public BlobServiceProperties(java.lang.String name, BlobServicePropertiesArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:storage:BlobServiceProperties", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private BlobServiceProperties(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:storage:BlobServiceProperties", name, null, makeResourceOptions(options, id), false); } private static BlobServicePropertiesArgs makeArgs(BlobServicePropertiesArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? BlobServicePropertiesArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .aliases(List.of( Output.of(Alias.builder().type("azure-native:storage/v20180701:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20181101:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20190401:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20190601:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20200801preview:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20210101:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20210201:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20210401:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20210601:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20210801:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20210901:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20220501:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20220901:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20230101:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20230401:BlobServiceProperties").build()), Output.of(Alias.builder().type("azure-native:storage/v20230501:BlobServiceProperties").build()) )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param options Optional settings to control the behavior of the CustomResource. */ public static BlobServiceProperties get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new BlobServiceProperties(name, id, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy