Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.management.storage;
import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasManager;
import com.microsoft.azure.management.resources.fluentcore.model.Appliable;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;
import com.microsoft.azure.management.resources.fluentcore.model.Indexable;
import com.microsoft.azure.management.resources.fluentcore.model.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
import com.microsoft.azure.management.storage.implementation.ImmutabilityPolicyInner;
import com.microsoft.azure.management.storage.implementation.StorageManager;
Type representing ImmutabilityPolicy.
/**
* Type representing ImmutabilityPolicy.
*/
@Fluent
@Beta
public interface ImmutabilityPolicy extends HasInner<ImmutabilityPolicyInner>, Indexable, Refreshable<ImmutabilityPolicy>, Updatable<ImmutabilityPolicy.Update>, HasManager<StorageManager> {
Returns: the etag value.
/**
* @return the etag value.
*/
String etag();
Returns: the id value.
/**
* @return the id value.
*/
String id();
Returns: the immutabilityPeriodSinceCreationInDays value.
/**
* @return the immutabilityPeriodSinceCreationInDays value.
*/
int immutabilityPeriodSinceCreationInDays();
Returns: the name value.
/**
* @return the name value.
*/
String name();
Returns: the state value.
/**
* @return the state value.
*/
ImmutabilityPolicyState state();
Returns: the type value.
/**
* @return the type value.
*/
String type();
The entirety of the ImmutabilityPolicy definition.
/**
* The entirety of the ImmutabilityPolicy definition.
*/
interface Definition extends DefinitionStages.Blank, DefinitionStages.WithContainer, DefinitionStages.WithIfMatch, DefinitionStages.WithImmutabilityPeriodSinceCreationInDays, DefinitionStages.WithCreate {
}
Grouping of ImmutabilityPolicy definition stages.
/**
* Grouping of ImmutabilityPolicy definition stages.
*/
interface DefinitionStages {
The first stage of a ImmutabilityPolicy definition.
/**
* The first stage of a ImmutabilityPolicy definition.
*/
interface Blank extends WithContainer {
}
The stage of the immutabilitypolicy definition allowing to specify Container.
/**
* The stage of the immutabilitypolicy definition allowing to specify Container.
*/
interface WithContainer {
Specifies resourceGroupName, accountName, containerName.
Params: - resourceGroupName – The name of the resource group within the user's subscription. The name is case insensitive
- accountName – The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only
- containerName – The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number
Returns: the next definition stage
/**
* Specifies resourceGroupName, accountName, containerName.
* @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive
* @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only
* @param containerName The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number
* @return the next definition stage
*/
WithIfMatch withExistingContainer(String resourceGroupName, String accountName, String containerName);
}
The stage of the immutabilitypolicy definition allowing to specify IfMatch.
/**
* The stage of the immutabilitypolicy definition allowing to specify IfMatch.
*/
interface WithIfMatch {
Specifies ifMatch.
Params: - ifMatch – The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
Returns: the next definition stage
/**
* Specifies ifMatch.
* @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
* @return the next definition stage
*/
WithImmutabilityPeriodSinceCreationInDays withIfMatch(String ifMatch);
}
The stage of the immutabilitypolicy definition allowing to specify ImmutabilityPeriodSinceCreationInDays.
/**
* The stage of the immutabilitypolicy definition allowing to specify ImmutabilityPeriodSinceCreationInDays.
*/
interface WithImmutabilityPeriodSinceCreationInDays {
Specifies immutabilityPeriodSinceCreationInDays.
Params: - immutabilityPeriodSinceCreationInDays – The immutability period for the blobs in the container since the policy creation, in days
Returns: the next definition stage
/**
* Specifies immutabilityPeriodSinceCreationInDays.
* @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
* @return the next definition stage
*/
WithCreate withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
The stage of the definition which contains all the minimum required inputs for the resource to be created (via Creatable<ImmutabilityPolicy>.create()
), but also allows for any other optional settings to be specified. /**
* The stage of the definition which contains all the minimum required inputs for
* the resource to be created (via {@link WithCreate#create()}), but also allows
* for any other optional settings to be specified.
*/
interface WithCreate extends Creatable<ImmutabilityPolicy> {
}
}
The template for a ImmutabilityPolicy update operation, containing all the settings that can be modified.
/**
* The template for a ImmutabilityPolicy update operation, containing all the settings that can be modified.
*/
interface Update extends Appliable<ImmutabilityPolicy>, UpdateStages.WithIfMatch, UpdateStages.WithImmutabilityPeriodSinceCreationInDays {
}
Grouping of ImmutabilityPolicy update stages.
/**
* Grouping of ImmutabilityPolicy update stages.
*/
interface UpdateStages {
The stage of the immutabilitypolicy update allowing to specify IfMatch.
/**
* The stage of the immutabilitypolicy update allowing to specify IfMatch.
*/
interface WithIfMatch {
Specifies ifMatch.
Params: - ifMatch – The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
Returns: the next update stage
/**
* Specifies ifMatch.
* @param ifMatch The entity state (ETag) version of the immutability policy to update. A value of "*" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied
* @return the next update stage
*/
Update withIfMatch(String ifMatch);
}
The stage of the immutabilitypolicy update allowing to specify ImmutabilityPeriodSinceCreationInDays.
/**
* The stage of the immutabilitypolicy update allowing to specify ImmutabilityPeriodSinceCreationInDays.
*/
interface WithImmutabilityPeriodSinceCreationInDays {
Specifies immutabilityPeriodSinceCreationInDays.
Params: - immutabilityPeriodSinceCreationInDays – The immutability period for the blobs in the container since the policy creation, in days
Returns: the next update stage
/**
* Specifies immutabilityPeriodSinceCreationInDays.
* @param immutabilityPeriodSinceCreationInDays The immutability period for the blobs in the container since the policy creation, in days
* @return the next update stage
*/
Update withImmutabilityPeriodSinceCreationInDays(int immutabilityPeriodSinceCreationInDays);
}
}
}