com.pulumi.azure.storage.outputs.ShareAclAccessPolicy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.storage.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ShareAclAccessPolicy {
/**
* @return The time at which this Access Policy should be valid until, in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.
*
*/
private @Nullable String expiry;
/**
* @return The permissions which should be associated with this Shared Identifier. Possible value is combination of `r` (read), `w` (write), `d` (delete), and `l` (list).
*
* > **Note:** Permission order is strict at the service side, and permissions need to be listed in the order above.
*
*/
private String permissions;
/**
* @return The time at which this Access Policy should be valid from, in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.
*
*/
private @Nullable String start;
private ShareAclAccessPolicy() {}
/**
* @return The time at which this Access Policy should be valid until, in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.
*
*/
public Optional expiry() {
return Optional.ofNullable(this.expiry);
}
/**
* @return The permissions which should be associated with this Shared Identifier. Possible value is combination of `r` (read), `w` (write), `d` (delete), and `l` (list).
*
* > **Note:** Permission order is strict at the service side, and permissions need to be listed in the order above.
*
*/
public String permissions() {
return this.permissions;
}
/**
* @return The time at which this Access Policy should be valid from, in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.
*
*/
public Optional start() {
return Optional.ofNullable(this.start);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ShareAclAccessPolicy defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String expiry;
private String permissions;
private @Nullable String start;
public Builder() {}
public Builder(ShareAclAccessPolicy defaults) {
Objects.requireNonNull(defaults);
this.expiry = defaults.expiry;
this.permissions = defaults.permissions;
this.start = defaults.start;
}
@CustomType.Setter
public Builder expiry(@Nullable String expiry) {
this.expiry = expiry;
return this;
}
@CustomType.Setter
public Builder permissions(String permissions) {
if (permissions == null) {
throw new MissingRequiredPropertyException("ShareAclAccessPolicy", "permissions");
}
this.permissions = permissions;
return this;
}
@CustomType.Setter
public Builder start(@Nullable String start) {
this.start = start;
return this;
}
public ShareAclAccessPolicy build() {
final var _resultValue = new ShareAclAccessPolicy();
_resultValue.expiry = expiry;
_resultValue.permissions = permissions;
_resultValue.start = start;
return _resultValue;
}
}
}