software.amazon.awscdk.services.cloudfront.CfnStreamingDistributionProps Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cloudfront Show documentation
Show all versions of cloudfront Show documentation
The CDK Construct Library for AWS::CloudFront
The newest version!
package software.amazon.awscdk.services.cloudfront;
/**
* Properties for defining a CfnStreamingDistribution
.
*
* Example:
*
*
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import software.amazon.awscdk.services.cloudfront.*;
* CfnStreamingDistributionProps cfnStreamingDistributionProps = CfnStreamingDistributionProps.builder()
* .streamingDistributionConfig(StreamingDistributionConfigProperty.builder()
* .comment("comment")
* .enabled(false)
* .s3Origin(S3OriginProperty.builder()
* .domainName("domainName")
* .originAccessIdentity("originAccessIdentity")
* .build())
* .trustedSigners(TrustedSignersProperty.builder()
* .enabled(false)
* // the properties below are optional
* .awsAccountNumbers(List.of("awsAccountNumbers"))
* .build())
* // the properties below are optional
* .aliases(List.of("aliases"))
* .logging(LoggingProperty.builder()
* .bucket("bucket")
* .enabled(false)
* .prefix("prefix")
* .build())
* .priceClass("priceClass")
* .build())
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build();
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.84.0 (build 5404dcf)", date = "2023-06-19T16:30:43.664Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.cloudfront.$Module.class, fqn = "@aws-cdk/aws-cloudfront.CfnStreamingDistributionProps")
@software.amazon.jsii.Jsii.Proxy(CfnStreamingDistributionProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnStreamingDistributionProps extends software.amazon.jsii.JsiiSerializable {
/**
* The current configuration information for the RTMP distribution.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getStreamingDistributionConfig();
/**
* A complex type that contains zero or more Tag
elements.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.util.List getTags();
/**
* @return a {@link Builder} of {@link CfnStreamingDistributionProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnStreamingDistributionProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Object streamingDistributionConfig;
java.util.List tags;
/**
* Sets the value of {@link CfnStreamingDistributionProps#getStreamingDistributionConfig}
* @param streamingDistributionConfig The current configuration information for the RTMP distribution. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder streamingDistributionConfig(software.amazon.awscdk.core.IResolvable streamingDistributionConfig) {
this.streamingDistributionConfig = streamingDistributionConfig;
return this;
}
/**
* Sets the value of {@link CfnStreamingDistributionProps#getStreamingDistributionConfig}
* @param streamingDistributionConfig The current configuration information for the RTMP distribution. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder streamingDistributionConfig(software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty streamingDistributionConfig) {
this.streamingDistributionConfig = streamingDistributionConfig;
return this;
}
/**
* Sets the value of {@link CfnStreamingDistributionProps#getTags}
* @param tags A complex type that contains zero or more Tag
elements. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder tags(java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
this.tags = (java.util.List)tags;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnStreamingDistributionProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnStreamingDistributionProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link CfnStreamingDistributionProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnStreamingDistributionProps {
private final java.lang.Object streamingDistributionConfig;
private final java.util.List tags;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.streamingDistributionConfig = software.amazon.jsii.Kernel.get(this, "streamingDistributionConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.CfnTag.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.streamingDistributionConfig = java.util.Objects.requireNonNull(builder.streamingDistributionConfig, "streamingDistributionConfig is required");
this.tags = (java.util.List)java.util.Objects.requireNonNull(builder.tags, "tags is required");
}
@Override
public final java.lang.Object getStreamingDistributionConfig() {
return this.streamingDistributionConfig;
}
@Override
public final java.util.List getTags() {
return this.tags;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("streamingDistributionConfig", om.valueToTree(this.getStreamingDistributionConfig()));
data.set("tags", om.valueToTree(this.getTags()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-cloudfront.CfnStreamingDistributionProps"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CfnStreamingDistributionProps.Jsii$Proxy that = (CfnStreamingDistributionProps.Jsii$Proxy) o;
if (!streamingDistributionConfig.equals(that.streamingDistributionConfig)) return false;
return this.tags.equals(that.tags);
}
@Override
public final int hashCode() {
int result = this.streamingDistributionConfig.hashCode();
result = 31 * result + (this.tags.hashCode());
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy