
com.pulumi.azurenative.compute.outputs.GalleryImageVersionPublishingProfileResponse Maven / Gradle / Ivy
// *** 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.azurenative.compute.outputs;
import com.pulumi.azurenative.compute.outputs.GalleryTargetExtendedLocationResponse;
import com.pulumi.azurenative.compute.outputs.TargetRegionResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class GalleryImageVersionPublishingProfileResponse {
/**
* @return The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable.
*
*/
private @Nullable String endOfLifeDate;
/**
* @return If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version.
*
*/
private @Nullable Boolean excludeFromLatest;
/**
* @return The timestamp for when the gallery image version is published.
*
*/
private String publishedDate;
/**
* @return The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable.
*
*/
private @Nullable Integer replicaCount;
/**
* @return Optional parameter which specifies the mode to be used for replication. This property is not updatable.
*
*/
private @Nullable String replicationMode;
/**
* @return Specifies the storage account type to be used to store the image. This property is not updatable.
*
*/
private @Nullable String storageAccountType;
/**
* @return The target extended locations where the Image Version is going to be replicated to. This property is updatable.
*
*/
private @Nullable List targetExtendedLocations;
/**
* @return The target regions where the Image Version is going to be replicated to. This property is updatable.
*
*/
private @Nullable List targetRegions;
private GalleryImageVersionPublishingProfileResponse() {}
/**
* @return The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable.
*
*/
public Optional endOfLifeDate() {
return Optional.ofNullable(this.endOfLifeDate);
}
/**
* @return If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version.
*
*/
public Optional excludeFromLatest() {
return Optional.ofNullable(this.excludeFromLatest);
}
/**
* @return The timestamp for when the gallery image version is published.
*
*/
public String publishedDate() {
return this.publishedDate;
}
/**
* @return The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable.
*
*/
public Optional replicaCount() {
return Optional.ofNullable(this.replicaCount);
}
/**
* @return Optional parameter which specifies the mode to be used for replication. This property is not updatable.
*
*/
public Optional replicationMode() {
return Optional.ofNullable(this.replicationMode);
}
/**
* @return Specifies the storage account type to be used to store the image. This property is not updatable.
*
*/
public Optional storageAccountType() {
return Optional.ofNullable(this.storageAccountType);
}
/**
* @return The target extended locations where the Image Version is going to be replicated to. This property is updatable.
*
*/
public List targetExtendedLocations() {
return this.targetExtendedLocations == null ? List.of() : this.targetExtendedLocations;
}
/**
* @return The target regions where the Image Version is going to be replicated to. This property is updatable.
*
*/
public List targetRegions() {
return this.targetRegions == null ? List.of() : this.targetRegions;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GalleryImageVersionPublishingProfileResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String endOfLifeDate;
private @Nullable Boolean excludeFromLatest;
private String publishedDate;
private @Nullable Integer replicaCount;
private @Nullable String replicationMode;
private @Nullable String storageAccountType;
private @Nullable List targetExtendedLocations;
private @Nullable List targetRegions;
public Builder() {}
public Builder(GalleryImageVersionPublishingProfileResponse defaults) {
Objects.requireNonNull(defaults);
this.endOfLifeDate = defaults.endOfLifeDate;
this.excludeFromLatest = defaults.excludeFromLatest;
this.publishedDate = defaults.publishedDate;
this.replicaCount = defaults.replicaCount;
this.replicationMode = defaults.replicationMode;
this.storageAccountType = defaults.storageAccountType;
this.targetExtendedLocations = defaults.targetExtendedLocations;
this.targetRegions = defaults.targetRegions;
}
@CustomType.Setter
public Builder endOfLifeDate(@Nullable String endOfLifeDate) {
this.endOfLifeDate = endOfLifeDate;
return this;
}
@CustomType.Setter
public Builder excludeFromLatest(@Nullable Boolean excludeFromLatest) {
this.excludeFromLatest = excludeFromLatest;
return this;
}
@CustomType.Setter
public Builder publishedDate(String publishedDate) {
if (publishedDate == null) {
throw new MissingRequiredPropertyException("GalleryImageVersionPublishingProfileResponse", "publishedDate");
}
this.publishedDate = publishedDate;
return this;
}
@CustomType.Setter
public Builder replicaCount(@Nullable Integer replicaCount) {
this.replicaCount = replicaCount;
return this;
}
@CustomType.Setter
public Builder replicationMode(@Nullable String replicationMode) {
this.replicationMode = replicationMode;
return this;
}
@CustomType.Setter
public Builder storageAccountType(@Nullable String storageAccountType) {
this.storageAccountType = storageAccountType;
return this;
}
@CustomType.Setter
public Builder targetExtendedLocations(@Nullable List targetExtendedLocations) {
this.targetExtendedLocations = targetExtendedLocations;
return this;
}
public Builder targetExtendedLocations(GalleryTargetExtendedLocationResponse... targetExtendedLocations) {
return targetExtendedLocations(List.of(targetExtendedLocations));
}
@CustomType.Setter
public Builder targetRegions(@Nullable List targetRegions) {
this.targetRegions = targetRegions;
return this;
}
public Builder targetRegions(TargetRegionResponse... targetRegions) {
return targetRegions(List.of(targetRegions));
}
public GalleryImageVersionPublishingProfileResponse build() {
final var _resultValue = new GalleryImageVersionPublishingProfileResponse();
_resultValue.endOfLifeDate = endOfLifeDate;
_resultValue.excludeFromLatest = excludeFromLatest;
_resultValue.publishedDate = publishedDate;
_resultValue.replicaCount = replicaCount;
_resultValue.replicationMode = replicationMode;
_resultValue.storageAccountType = storageAccountType;
_resultValue.targetExtendedLocations = targetExtendedLocations;
_resultValue.targetRegions = targetRegions;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy