Class BlobInventoryPolicyDefinition

java.lang.Object
com.azure.resourcemanager.storage.models.BlobInventoryPolicyDefinition
All Implemented Interfaces:
com.azure.json.JsonSerializable<BlobInventoryPolicyDefinition>

public final class BlobInventoryPolicyDefinition extends Object implements com.azure.json.JsonSerializable<BlobInventoryPolicyDefinition>
An object that defines the blob inventory rule.
  • Constructor Details

    • BlobInventoryPolicyDefinition

      public BlobInventoryPolicyDefinition()
      Creates an instance of BlobInventoryPolicyDefinition class.
  • Method Details

    • filters

      public BlobInventoryPolicyFilter filters()
      Get the filters property: An object that defines the filter set.
      Returns:
      the filters value.
    • withFilters

      Set the filters property: An object that defines the filter set.
      Parameters:
      filters - the filters value to set.
      Returns:
      the BlobInventoryPolicyDefinition object itself.
    • format

      public Format format()
      Get the format property: This is a required field, it specifies the format for the inventory files.
      Returns:
      the format value.
    • withFormat

      public BlobInventoryPolicyDefinition withFormat(Format format)
      Set the format property: This is a required field, it specifies the format for the inventory files.
      Parameters:
      format - the format value to set.
      Returns:
      the BlobInventoryPolicyDefinition object itself.
    • schedule

      public Schedule schedule()
      Get the schedule property: This is a required field. This field is used to schedule an inventory formation.
      Returns:
      the schedule value.
    • withSchedule

      public BlobInventoryPolicyDefinition withSchedule(Schedule schedule)
      Set the schedule property: This is a required field. This field is used to schedule an inventory formation.
      Parameters:
      schedule - the schedule value to set.
      Returns:
      the BlobInventoryPolicyDefinition object itself.
    • objectType

      public ObjectType objectType()
      Get the objectType property: This is a required field. This field specifies the scope of the inventory created either at the blob or container level.
      Returns:
      the objectType value.
    • withObjectType

      public BlobInventoryPolicyDefinition withObjectType(ObjectType objectType)
      Set the objectType property: This is a required field. This field specifies the scope of the inventory created either at the blob or container level.
      Parameters:
      objectType - the objectType value to set.
      Returns:
      the BlobInventoryPolicyDefinition object itself.
    • schemaFields

      public List<String> schemaFields()
      Get the schemaFields property: This is a required field. This field specifies the fields and properties of the object to be included in the inventory. The Schema field value 'Name' is always required. The valid values for this field for the 'Blob' definition.objectType include 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime, Tags, Etag, ContentType, ContentEncoding, ContentLanguage, ContentCRC64, CacheControl, ContentDisposition, LeaseStatus, LeaseState, LeaseDuration, ServerEncrypted, Deleted, DeletionId, DeletedTime, RemainingRetentionDays, ImmutabilityPolicyUntilDate, ImmutabilityPolicyMode, LegalHold, CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, CopyStatusDescription, CustomerProvidedKeySha256, RehydratePriority, ArchiveStatus, XmsBlobSequenceNumber, EncryptionScope, IncrementalCopy, TagCount'. For Blob object type schema field value 'DeletedTime' is applicable only for Hns enabled accounts. The valid values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold, Etag, DefaultEncryptionScope, DenyEncryptionScopeOverride, ImmutableStorageWithVersioningEnabled, Deleted, Version, DeletedTime, RemainingRetentionDays'. Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, DeletionId' are valid only for Hns enabled accounts.Schema field values 'Tags, TagCount' are only valid for Non-Hns accounts.
      Returns:
      the schemaFields value.
    • withSchemaFields

      public BlobInventoryPolicyDefinition withSchemaFields(List<String> schemaFields)
      Set the schemaFields property: This is a required field. This field specifies the fields and properties of the object to be included in the inventory. The Schema field value 'Name' is always required. The valid values for this field for the 'Blob' definition.objectType include 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime, Tags, Etag, ContentType, ContentEncoding, ContentLanguage, ContentCRC64, CacheControl, ContentDisposition, LeaseStatus, LeaseState, LeaseDuration, ServerEncrypted, Deleted, DeletionId, DeletedTime, RemainingRetentionDays, ImmutabilityPolicyUntilDate, ImmutabilityPolicyMode, LegalHold, CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, CopyStatusDescription, CustomerProvidedKeySha256, RehydratePriority, ArchiveStatus, XmsBlobSequenceNumber, EncryptionScope, IncrementalCopy, TagCount'. For Blob object type schema field value 'DeletedTime' is applicable only for Hns enabled accounts. The valid values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold, Etag, DefaultEncryptionScope, DenyEncryptionScopeOverride, ImmutableStorageWithVersioningEnabled, Deleted, Version, DeletedTime, RemainingRetentionDays'. Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, DeletionId' are valid only for Hns enabled accounts.Schema field values 'Tags, TagCount' are only valid for Non-Hns accounts.
      Parameters:
      schemaFields - the schemaFields value to set.
      Returns:
      the BlobInventoryPolicyDefinition object itself.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<BlobInventoryPolicyDefinition>
      Throws:
      IOException
    • fromJson

      public static BlobInventoryPolicyDefinition fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of BlobInventoryPolicyDefinition from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of BlobInventoryPolicyDefinition if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IllegalStateException - If the deserialized JSON object was missing any required properties.
      IOException - If an error occurs while reading the BlobInventoryPolicyDefinition.