@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [;
exports.BlobContainerImmutabilityPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag.
*
* Uses Azure REST API version 2024-01-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.
*
* Other available API versions: 2022-09-01, 2023-01-01, 2023-04-01, 2023-05-01, 2025-01-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native storage [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
*/
class BlobContainerImmutabilityPolicy extends pulumi.CustomResource {
/**
* Get an existing BlobContainerImmutabilityPolicy 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 opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new BlobContainerImmutabilityPolicy(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of BlobContainerImmutabilityPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BlobContainerImmutabilityPolicy.__pulumiType;
}
/**
* Create a BlobContainerImmutabilityPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
if (args?.accountName === undefined && !opts.urn) {
throw new Error("Missing required property 'accountName'");
}
if (args?.containerName === undefined && !opts.urn) {
throw new Error("Missing required property 'containerName'");
}
if (args?.resourceGroupName === undefined && !opts.urn) {
throw new Error("Missing required property 'resourceGroupName'");
}
resourceInputs["accountName"] = args?.accountName;
resourceInputs["allowProtectedAppendWrites"] = args?.allowProtectedAppendWrites;
resourceInputs["allowProtectedAppendWritesAll"] = args?.allowProtectedAppendWritesAll;
resourceInputs["containerName"] = args?.containerName;
resourceInputs["immutabilityPeriodSinceCreationInDays"] = args?.immutabilityPeriodSinceCreationInDays;
resourceInputs["immutabilityPolicyName"] = args?.immutabilityPolicyName;
resourceInputs["resourceGroupName"] = args?.resourceGroupName;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["etag"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["state"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
}
else {
resourceInputs["allowProtectedAppendWrites"] = undefined /*out*/;
resourceInputs["allowProtectedAppendWritesAll"] = undefined /*out*/;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["etag"] = undefined /*out*/;
resourceInputs["immutabilityPeriodSinceCreationInDays"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["state"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "azure-native:storage/v20180201:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20180301preview:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20180701:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20181101:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20190401:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20190601:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20200801preview:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20210101:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20210201:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20210401:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20210601:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20210801:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20210901:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20220501:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20220901:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20230101:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20230401:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20230501:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20240101:BlobContainerImmutabilityPolicy" }, { type: "azure-native:storage/v20250101:BlobContainerImmutabilityPolicy" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BlobContainerImmutabilityPolicy.__pulumiType, name, resourceInputs, opts);
}
}
exports.BlobContainerImmutabilityPolicy = BlobContainerImmutabilityPolicy;
/** @internal */
BlobContainerImmutabilityPolicy.__pulumiType = 'azure-native:storage:BlobContainerImmutabilityPolicy';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvYkNvbnRhaW5lckltbXV0YWJpbGl0eVBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3N0b3JhZ2UvYmxvYkNvbnRhaW5lckltbXV0YWJpbGl0eVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0VBQXNFO0FBQ3RFLGlGQUFpRjs7O0FBRWpGLHlDQUF5QztBQUN6QywwQ0FBMEM7QUFFMUM7Ozs7OztHQU1HO0FBQ0gsTUFBYSwrQkFBZ0MsU0FBUSxNQUFNLENBQUMsY0FBYztJQUN0RTs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBMkIsRUFBRSxJQUFtQztRQUM1RixPQUFPLElBQUksK0JBQStCLENBQUMsSUFBSSxFQUFFLFNBQWdCLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBS0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssK0JBQStCLENBQUMsWUFBWSxDQUFDO0lBQ2hGLENBQUM7SUFtQ0Q7Ozs7OztPQU1HO0lBQ0gsWUFBWSxJQUFZLEVBQUUsSUFBeUMsRUFBRSxJQUFtQztRQUNwRyxJQUFJLGNBQWMsR0FBa0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1YsSUFBSSxJQUFJLEVBQUUsV0FBVyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQzthQUM5RDtZQUNELElBQUksSUFBSSxFQUFFLGFBQWEsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7YUFDaEU7WUFDRCxJQUFJLElBQUksRUFBRSxpQkFBaUIsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7YUFDcEU7WUFDRCxjQUFjLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVcsQ0FBQztZQUNsRCxjQUFjLENBQUMsNEJBQTRCLENBQUMsR0FBRyxJQUFJLEVBQUUsMEJBQTBCLENBQUM7WUFDaEYsY0FBYyxDQUFDLCtCQUErQixDQUFDLEdBQUcsSUFBSSxFQUFFLDZCQUE2QixDQUFDO1lBQ3RGLGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLEVBQUUsYUFBYSxDQUFDO1lBQ3RELGNBQWMsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLElBQUksRUFBRSxxQ0FBcUMsQ0FBQztZQUN0RyxjQUFjLENBQUMsd0JBQXdCLENBQUMsR0FBRyxJQUFJLEVBQUUsc0JBQXNCLENBQUM7WUFDeEUsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixDQUFDO1lBQzlELGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDdEQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDNUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDOUM7YUFBTTtZQUNILGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDakUsY0FBYyxDQUFDLCtCQUErQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNwRSxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3RELGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzNDLGNBQWMsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDNUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDNUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDOUM7UUFDRCxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRSxNQUFNLFNBQVMsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdFQUFnRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsdUVBQXVFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnRUFBZ0UsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdFQUFnRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0VBQWdFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnRUFBZ0UsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLHVFQUF1RSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0VBQWdFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnRUFBZ0UsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdFQUFnRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0VBQWdFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnRUFBZ0UsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdFQUFnRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0VBQWdFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnRUFBZ0UsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdFQUFnRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0VBQWdFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnRUFBZ0UsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdFQUFnRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0VBQWdFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOWhELElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsK0JBQStCLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQzs7QUExR0wsMEVBMkdDO0FBOUZHLGdCQUFnQjtBQUNPLDRDQUFZLEdBQUcsc0RBQXNELENBQUMifQ==