@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, Object.assign(Object.assign({}, 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 || args.accountName === undefined) && !opts.urn) {
throw new Error("Missing required property 'accountName'");
}
if ((!args || args.containerName === undefined) && !opts.urn) {
throw new Error("Missing required property 'containerName'");
}
if ((!args || args.resourceGroupName === undefined) && !opts.urn) {
throw new Error("Missing required property 'resourceGroupName'");
}
resourceInputs["accountName"] = args ? args.accountName : undefined;
resourceInputs["allowProtectedAppendWrites"] = args ? args.allowProtectedAppendWrites : undefined;
resourceInputs["allowProtectedAppendWritesAll"] = args ? args.allowProtectedAppendWritesAll : undefined;
resourceInputs["containerName"] = args ? args.containerName : undefined;
resourceInputs["immutabilityPeriodSinceCreationInDays"] = args ? args.immutabilityPeriodSinceCreationInDays : undefined;
resourceInputs["immutabilityPolicyName"] = args ? args.immutabilityPolicyName : undefined;
resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvYkNvbnRhaW5lckltbXV0YWJpbGl0eVBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3N0b3JhZ2UvYmxvYkNvbnRhaW5lckltbXV0YWJpbGl0eVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0VBQXNFO0FBQ3RFLGlGQUFpRjs7O0FBRWpGLHlDQUF5QztBQUN6QywwQ0FBMEM7QUFFMUM7Ozs7OztHQU1HO0FBQ0gsTUFBYSwrQkFBZ0MsU0FBUSxNQUFNLENBQUMsY0FBYztJQUN0RTs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBMkIsRUFBRSxJQUFtQztRQUM1RixPQUFPLElBQUksK0JBQStCLENBQUMsSUFBSSxFQUFFLFNBQWdCLGtDQUFPLElBQUksS0FBRSxFQUFFLEVBQUUsRUFBRSxJQUFHLENBQUM7SUFDNUYsQ0FBQztJQUtEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBUTtRQUM3QixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLCtCQUErQixDQUFDLFlBQVksQ0FBQztJQUNoRixDQUFDO0lBbUNEOzs7Ozs7T0FNRztJQUNILFlBQVksSUFBWSxFQUFFLElBQXlDLEVBQUUsSUFBbUM7UUFDcEcsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMs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