class Azure::Storage::Mgmt::V2019_06_01::Models::ImmutabilityPolicy

The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag.

Attributes

allow_protected_append_writes[RW]

@return [Boolean] This property can only be changed for 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. This property cannot be changed with ExtendImmutabilityPolicy API

immutability_period_since_creation_in_days[RW]

@return [Integer] The immutability period for the blobs in the container since the policy creation, in days.

state[RW]

@return [ImmutabilityPolicyState] The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked. Possible values include: 'Locked', 'Unlocked'

Public Class Methods

mapper() click to toggle source

Mapper for ImmutabilityPolicy class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2019-06-01/generated/azure_mgmt_storage/models/immutability_policy.rb, line 38
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'ImmutabilityPolicy',
    type: {
      name: 'Composite',
      class_name: 'ImmutabilityPolicy',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        },
        etag: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'etag',
          type: {
            name: 'String'
          }
        },
        immutability_period_since_creation_in_days: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.immutabilityPeriodSinceCreationInDays',
          type: {
            name: 'Number'
          }
        },
        state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.state',
          type: {
            name: 'String'
          }
        },
        allow_protected_append_writes: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.allowProtectedAppendWrites',
          type: {
            name: 'Boolean'
          }
        }
      }
    }
  }
end