com.azure.resourcemanager.storage.fluent.models.FileShareProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-storage Show documentation
Show all versions of azure-resourcemanager-storage Show documentation
This package contains Microsoft Azure Storage Management SDK.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.storage.fluent.models;
import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.storage.models.EnabledProtocols;
import com.azure.resourcemanager.storage.models.LeaseDuration;
import com.azure.resourcemanager.storage.models.LeaseState;
import com.azure.resourcemanager.storage.models.LeaseStatus;
import com.azure.resourcemanager.storage.models.RootSquashType;
import com.azure.resourcemanager.storage.models.ShareAccessTier;
import com.azure.resourcemanager.storage.models.SignedIdentifier;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.Map;
/** The properties of the file share. */
@Fluent
public final class FileShareProperties {
/*
* Returns the date and time the share was last modified.
*/
@JsonProperty(value = "lastModifiedTime", access = JsonProperty.Access.WRITE_ONLY)
private OffsetDateTime lastModifiedTime;
/*
* A name-value pair to associate with the share as metadata.
*/
@JsonProperty(value = "metadata")
@JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map metadata;
/*
* The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For
* Large File Shares, the maximum size is 102400.
*/
@JsonProperty(value = "shareQuota")
private Integer shareQuota;
/*
* The authentication protocol that is used for the file share. Can only be specified when creating a share.
*/
@JsonProperty(value = "enabledProtocols")
private EnabledProtocols enabledProtocols;
/*
* The property is for NFS share only. The default is NoRootSquash.
*/
@JsonProperty(value = "rootSquash")
private RootSquashType rootSquash;
/*
* The version of the share.
*/
@JsonProperty(value = "version", access = JsonProperty.Access.WRITE_ONLY)
private String version;
/*
* Indicates whether the share was deleted.
*/
@JsonProperty(value = "deleted", access = JsonProperty.Access.WRITE_ONLY)
private Boolean deleted;
/*
* The deleted time if the share was deleted.
*/
@JsonProperty(value = "deletedTime", access = JsonProperty.Access.WRITE_ONLY)
private OffsetDateTime deletedTime;
/*
* Remaining retention days for share that was soft deleted.
*/
@JsonProperty(value = "remainingRetentionDays", access = JsonProperty.Access.WRITE_ONLY)
private Integer remainingRetentionDays;
/*
* Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool.
* FileStorage account can choose Premium.
*/
@JsonProperty(value = "accessTier")
private ShareAccessTier accessTier;
/*
* Indicates the last modification time for share access tier.
*/
@JsonProperty(value = "accessTierChangeTime", access = JsonProperty.Access.WRITE_ONLY)
private OffsetDateTime accessTierChangeTime;
/*
* Indicates if there is a pending transition for access tier.
*/
@JsonProperty(value = "accessTierStatus", access = JsonProperty.Access.WRITE_ONLY)
private String accessTierStatus;
/*
* The approximate size of the data stored on the share. Note that this value may not include all recently created
* or recently resized files.
*/
@JsonProperty(value = "shareUsageBytes", access = JsonProperty.Access.WRITE_ONLY)
private Long shareUsageBytes;
/*
* The lease status of the share.
*/
@JsonProperty(value = "leaseStatus", access = JsonProperty.Access.WRITE_ONLY)
private LeaseStatus leaseStatus;
/*
* Lease state of the share.
*/
@JsonProperty(value = "leaseState", access = JsonProperty.Access.WRITE_ONLY)
private LeaseState leaseState;
/*
* Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased.
*/
@JsonProperty(value = "leaseDuration", access = JsonProperty.Access.WRITE_ONLY)
private LeaseDuration leaseDuration;
/*
* List of stored access policies specified on the share.
*/
@JsonProperty(value = "signedIdentifiers")
private List signedIdentifiers;
/*
* Creation time of share snapshot returned in the response of list shares with expand param "snapshots".
*/
@JsonProperty(value = "snapshotTime", access = JsonProperty.Access.WRITE_ONLY)
private OffsetDateTime snapshotTime;
/**
* Get the lastModifiedTime property: Returns the date and time the share was last modified.
*
* @return the lastModifiedTime value.
*/
public OffsetDateTime lastModifiedTime() {
return this.lastModifiedTime;
}
/**
* Get the metadata property: A name-value pair to associate with the share as metadata.
*
* @return the metadata value.
*/
public Map metadata() {
return this.metadata;
}
/**
* Set the metadata property: A name-value pair to associate with the share as metadata.
*
* @param metadata the metadata value to set.
* @return the FileShareProperties object itself.
*/
public FileShareProperties withMetadata(Map metadata) {
this.metadata = metadata;
return this;
}
/**
* Get the shareQuota property: The maximum size of the share, in gigabytes. Must be greater than 0, and less than
* or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.
*
* @return the shareQuota value.
*/
public Integer shareQuota() {
return this.shareQuota;
}
/**
* Set the shareQuota property: The maximum size of the share, in gigabytes. Must be greater than 0, and less than
* or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.
*
* @param shareQuota the shareQuota value to set.
* @return the FileShareProperties object itself.
*/
public FileShareProperties withShareQuota(Integer shareQuota) {
this.shareQuota = shareQuota;
return this;
}
/**
* Get the enabledProtocols property: The authentication protocol that is used for the file share. Can only be
* specified when creating a share.
*
* @return the enabledProtocols value.
*/
public EnabledProtocols enabledProtocols() {
return this.enabledProtocols;
}
/**
* Set the enabledProtocols property: The authentication protocol that is used for the file share. Can only be
* specified when creating a share.
*
* @param enabledProtocols the enabledProtocols value to set.
* @return the FileShareProperties object itself.
*/
public FileShareProperties withEnabledProtocols(EnabledProtocols enabledProtocols) {
this.enabledProtocols = enabledProtocols;
return this;
}
/**
* Get the rootSquash property: The property is for NFS share only. The default is NoRootSquash.
*
* @return the rootSquash value.
*/
public RootSquashType rootSquash() {
return this.rootSquash;
}
/**
* Set the rootSquash property: The property is for NFS share only. The default is NoRootSquash.
*
* @param rootSquash the rootSquash value to set.
* @return the FileShareProperties object itself.
*/
public FileShareProperties withRootSquash(RootSquashType rootSquash) {
this.rootSquash = rootSquash;
return this;
}
/**
* Get the version property: The version of the share.
*
* @return the version value.
*/
public String version() {
return this.version;
}
/**
* Get the deleted property: Indicates whether the share was deleted.
*
* @return the deleted value.
*/
public Boolean deleted() {
return this.deleted;
}
/**
* Get the deletedTime property: The deleted time if the share was deleted.
*
* @return the deletedTime value.
*/
public OffsetDateTime deletedTime() {
return this.deletedTime;
}
/**
* Get the remainingRetentionDays property: Remaining retention days for share that was soft deleted.
*
* @return the remainingRetentionDays value.
*/
public Integer remainingRetentionDays() {
return this.remainingRetentionDays;
}
/**
* Get the accessTier property: Access tier for specific share. GpV2 account can choose between TransactionOptimized
* (default), Hot, and Cool. FileStorage account can choose Premium.
*
* @return the accessTier value.
*/
public ShareAccessTier accessTier() {
return this.accessTier;
}
/**
* Set the accessTier property: Access tier for specific share. GpV2 account can choose between TransactionOptimized
* (default), Hot, and Cool. FileStorage account can choose Premium.
*
* @param accessTier the accessTier value to set.
* @return the FileShareProperties object itself.
*/
public FileShareProperties withAccessTier(ShareAccessTier accessTier) {
this.accessTier = accessTier;
return this;
}
/**
* Get the accessTierChangeTime property: Indicates the last modification time for share access tier.
*
* @return the accessTierChangeTime value.
*/
public OffsetDateTime accessTierChangeTime() {
return this.accessTierChangeTime;
}
/**
* Get the accessTierStatus property: Indicates if there is a pending transition for access tier.
*
* @return the accessTierStatus value.
*/
public String accessTierStatus() {
return this.accessTierStatus;
}
/**
* Get the shareUsageBytes property: The approximate size of the data stored on the share. Note that this value may
* not include all recently created or recently resized files.
*
* @return the shareUsageBytes value.
*/
public Long shareUsageBytes() {
return this.shareUsageBytes;
}
/**
* Get the leaseStatus property: The lease status of the share.
*
* @return the leaseStatus value.
*/
public LeaseStatus leaseStatus() {
return this.leaseStatus;
}
/**
* Get the leaseState property: Lease state of the share.
*
* @return the leaseState value.
*/
public LeaseState leaseState() {
return this.leaseState;
}
/**
* Get the leaseDuration property: Specifies whether the lease on a share is of infinite or fixed duration, only
* when the share is leased.
*
* @return the leaseDuration value.
*/
public LeaseDuration leaseDuration() {
return this.leaseDuration;
}
/**
* Get the signedIdentifiers property: List of stored access policies specified on the share.
*
* @return the signedIdentifiers value.
*/
public List signedIdentifiers() {
return this.signedIdentifiers;
}
/**
* Set the signedIdentifiers property: List of stored access policies specified on the share.
*
* @param signedIdentifiers the signedIdentifiers value to set.
* @return the FileShareProperties object itself.
*/
public FileShareProperties withSignedIdentifiers(List signedIdentifiers) {
this.signedIdentifiers = signedIdentifiers;
return this;
}
/**
* Get the snapshotTime property: Creation time of share snapshot returned in the response of list shares with
* expand param "snapshots".
*
* @return the snapshotTime value.
*/
public OffsetDateTime snapshotTime() {
return this.snapshotTime;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
if (signedIdentifiers() != null) {
signedIdentifiers().forEach(e -> e.validate());
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy