AccountImmutabilityPolicyProperties Class

  • java.lang.Object
    • com.azure.resourcemanager.storage.models.AccountImmutabilityPolicyProperties

Implements

public final class AccountImmutabilityPolicyProperties
implements JsonSerializable<AccountImmutabilityPolicyProperties>

This defines account-level immutability policy properties.

Constructor Summary

Constructor Description
AccountImmutabilityPolicyProperties()

Creates an instance of AccountImmutabilityPolicyProperties class.

Method Summary

Modifier and Type Method and Description
Boolean allowProtectedAppendWrites()

Get the allowProtectedAppendWrites property: This property can only be changed for disabled and unlocked time-based retention policies.

static AccountImmutabilityPolicyProperties fromJson(JsonReader jsonReader)

Reads an instance of AccountImmutabilityPolicyProperties from the JsonReader.

Integer immutabilityPeriodSinceCreationInDays()

Get the immutabilityPeriodSinceCreationInDays property: The immutability period for the blobs in the container since the policy creation, in days.

AccountImmutabilityPolicyState state()

Get the state property: The ImmutabilityPolicy state defines the mode of the policy.

JsonWriter toJson(JsonWriter jsonWriter)
void validate()

Validates the instance.

AccountImmutabilityPolicyProperties withAllowProtectedAppendWrites(Boolean allowProtectedAppendWrites)

Set the allowProtectedAppendWrites property: This property can only be changed for disabled and unlocked time-based retention policies.

AccountImmutabilityPolicyProperties withImmutabilityPeriodSinceCreationInDays(Integer immutabilityPeriodSinceCreationInDays)

Set the immutabilityPeriodSinceCreationInDays property: The immutability period for the blobs in the container since the policy creation, in days.

AccountImmutabilityPolicyProperties withState(AccountImmutabilityPolicyState state)

Set the state property: The ImmutabilityPolicy state defines the mode of the policy.

Methods inherited from java.lang.Object

Constructor Details

AccountImmutabilityPolicyProperties

public AccountImmutabilityPolicyProperties()

Creates an instance of AccountImmutabilityPolicyProperties class.

Method Details

allowProtectedAppendWrites

public Boolean allowProtectedAppendWrites()

Get the allowProtectedAppendWrites property: This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

Returns:

the allowProtectedAppendWrites value.

fromJson

public static AccountImmutabilityPolicyProperties fromJson(JsonReader jsonReader)

Reads an instance of AccountImmutabilityPolicyProperties from the JsonReader.

Parameters:

jsonReader - The JsonReader being read.

Returns:

An instance of AccountImmutabilityPolicyProperties if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.

Throws:

IOException

- If an error occurs while reading the AccountImmutabilityPolicyProperties.

immutabilityPeriodSinceCreationInDays

public Integer immutabilityPeriodSinceCreationInDays()

Get the immutabilityPeriodSinceCreationInDays property: The immutability period for the blobs in the container since the policy creation, in days.

Returns:

the immutabilityPeriodSinceCreationInDays value.

state

public AccountImmutabilityPolicyState state()

Get the state property: The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

Returns:

the state value.

toJson

public JsonWriter toJson(JsonWriter jsonWriter)

Parameters:

jsonWriter

Throws:

validate

public void validate()

Validates the instance.

withAllowProtectedAppendWrites

public AccountImmutabilityPolicyProperties withAllowProtectedAppendWrites(Boolean allowProtectedAppendWrites)

Set the allowProtectedAppendWrites property: This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

Parameters:

allowProtectedAppendWrites - the allowProtectedAppendWrites value to set.

Returns:

the AccountImmutabilityPolicyProperties object itself.

withImmutabilityPeriodSinceCreationInDays

public AccountImmutabilityPolicyProperties withImmutabilityPeriodSinceCreationInDays(Integer immutabilityPeriodSinceCreationInDays)

Set the immutabilityPeriodSinceCreationInDays property: The immutability period for the blobs in the container since the policy creation, in days.

Parameters:

immutabilityPeriodSinceCreationInDays - the immutabilityPeriodSinceCreationInDays value to set.

Returns:

the AccountImmutabilityPolicyProperties object itself.

withState

public AccountImmutabilityPolicyProperties withState(AccountImmutabilityPolicyState state)

Set the state property: The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

Parameters:

state - the state value to set.

Returns:

the AccountImmutabilityPolicyProperties object itself.

Applies to