
com.pulumi.aws.cloudfront.outputs.GetDistributionResult 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.aws.cloudfront.outputs;
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.Map;
import java.util.Objects;
@CustomType
public final class GetDistributionResult {
/**
* @return List that contains information about CNAMEs (alternate domain names), if any, for this distribution.
*
*/
private List aliases;
/**
* @return ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
*
*/
private String arn;
/**
* @return Domain name corresponding to the distribution. For
* example: `d604721fxaaqy9.cloudfront.net`.
*
*/
private String domainName;
private Boolean enabled;
/**
* @return Current version of the distribution's information. For example:
* `E2QWRUHAPOMQZL`.
*
*/
private String etag;
/**
* @return CloudFront Route 53 zone ID that can be used to
* route an [Alias Resource Record Set][7] to. This attribute is simply an
* alias for the zone ID `Z2FDTNDATAQYW2`.
*
*/
private String hostedZoneId;
/**
* @return Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
*
*/
private String id;
/**
* @return The number of invalidation batches
* currently in progress.
*
*/
private Integer inProgressValidationBatches;
/**
* @return Date and time the distribution was last modified.
*
*/
private String lastModifiedTime;
/**
* @return Current status of the distribution. `Deployed` if the
* distribution's information is fully propagated throughout the Amazon
* CloudFront system.
*
*/
private String status;
private Map tags;
/**
* @return AWS WAF web ACL associated with this distribution.
*
*/
private String webAclId;
private GetDistributionResult() {}
/**
* @return List that contains information about CNAMEs (alternate domain names), if any, for this distribution.
*
*/
public List aliases() {
return this.aliases;
}
/**
* @return ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
*
*/
public String arn() {
return this.arn;
}
/**
* @return Domain name corresponding to the distribution. For
* example: `d604721fxaaqy9.cloudfront.net`.
*
*/
public String domainName() {
return this.domainName;
}
public Boolean enabled() {
return this.enabled;
}
/**
* @return Current version of the distribution's information. For example:
* `E2QWRUHAPOMQZL`.
*
*/
public String etag() {
return this.etag;
}
/**
* @return CloudFront Route 53 zone ID that can be used to
* route an [Alias Resource Record Set][7] to. This attribute is simply an
* alias for the zone ID `Z2FDTNDATAQYW2`.
*
*/
public String hostedZoneId() {
return this.hostedZoneId;
}
/**
* @return Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
*
*/
public String id() {
return this.id;
}
/**
* @return The number of invalidation batches
* currently in progress.
*
*/
public Integer inProgressValidationBatches() {
return this.inProgressValidationBatches;
}
/**
* @return Date and time the distribution was last modified.
*
*/
public String lastModifiedTime() {
return this.lastModifiedTime;
}
/**
* @return Current status of the distribution. `Deployed` if the
* distribution's information is fully propagated throughout the Amazon
* CloudFront system.
*
*/
public String status() {
return this.status;
}
public Map tags() {
return this.tags;
}
/**
* @return AWS WAF web ACL associated with this distribution.
*
*/
public String webAclId() {
return this.webAclId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetDistributionResult defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private List aliases;
private String arn;
private String domainName;
private Boolean enabled;
private String etag;
private String hostedZoneId;
private String id;
private Integer inProgressValidationBatches;
private String lastModifiedTime;
private String status;
private Map tags;
private String webAclId;
public Builder() {}
public Builder(GetDistributionResult defaults) {
Objects.requireNonNull(defaults);
this.aliases = defaults.aliases;
this.arn = defaults.arn;
this.domainName = defaults.domainName;
this.enabled = defaults.enabled;
this.etag = defaults.etag;
this.hostedZoneId = defaults.hostedZoneId;
this.id = defaults.id;
this.inProgressValidationBatches = defaults.inProgressValidationBatches;
this.lastModifiedTime = defaults.lastModifiedTime;
this.status = defaults.status;
this.tags = defaults.tags;
this.webAclId = defaults.webAclId;
}
@CustomType.Setter
public Builder aliases(List aliases) {
if (aliases == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "aliases");
}
this.aliases = aliases;
return this;
}
public Builder aliases(String... aliases) {
return aliases(List.of(aliases));
}
@CustomType.Setter
public Builder arn(String arn) {
if (arn == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "arn");
}
this.arn = arn;
return this;
}
@CustomType.Setter
public Builder domainName(String domainName) {
if (domainName == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "domainName");
}
this.domainName = domainName;
return this;
}
@CustomType.Setter
public Builder enabled(Boolean enabled) {
if (enabled == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "enabled");
}
this.enabled = enabled;
return this;
}
@CustomType.Setter
public Builder etag(String etag) {
if (etag == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "etag");
}
this.etag = etag;
return this;
}
@CustomType.Setter
public Builder hostedZoneId(String hostedZoneId) {
if (hostedZoneId == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "hostedZoneId");
}
this.hostedZoneId = hostedZoneId;
return this;
}
@CustomType.Setter
public Builder id(String id) {
if (id == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "id");
}
this.id = id;
return this;
}
@CustomType.Setter
public Builder inProgressValidationBatches(Integer inProgressValidationBatches) {
if (inProgressValidationBatches == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "inProgressValidationBatches");
}
this.inProgressValidationBatches = inProgressValidationBatches;
return this;
}
@CustomType.Setter
public Builder lastModifiedTime(String lastModifiedTime) {
if (lastModifiedTime == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "lastModifiedTime");
}
this.lastModifiedTime = lastModifiedTime;
return this;
}
@CustomType.Setter
public Builder status(String status) {
if (status == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "status");
}
this.status = status;
return this;
}
@CustomType.Setter
public Builder tags(Map tags) {
if (tags == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "tags");
}
this.tags = tags;
return this;
}
@CustomType.Setter
public Builder webAclId(String webAclId) {
if (webAclId == null) {
throw new MissingRequiredPropertyException("GetDistributionResult", "webAclId");
}
this.webAclId = webAclId;
return this;
}
public GetDistributionResult build() {
final var _resultValue = new GetDistributionResult();
_resultValue.aliases = aliases;
_resultValue.arn = arn;
_resultValue.domainName = domainName;
_resultValue.enabled = enabled;
_resultValue.etag = etag;
_resultValue.hostedZoneId = hostedZoneId;
_resultValue.id = id;
_resultValue.inProgressValidationBatches = inProgressValidationBatches;
_resultValue.lastModifiedTime = lastModifiedTime;
_resultValue.status = status;
_resultValue.tags = tags;
_resultValue.webAclId = webAclId;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy