All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution Maven / Gradle / Ivy

package software.amazon.awscdk.services.cloudfront;

/**
 * A CloudFormation `AWS::CloudFront::StreamingDistribution`.
 * 

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html */ @javax.annotation.Generated(value = "jsii-pacmak/0.22.0 (build 14afdde)", date = "2020-03-18T10:30:22.899Z") @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.cloudfront.$Module.class, fqn = "@aws-cdk/aws-cloudfront.CfnStreamingDistribution") public class CfnStreamingDistribution extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable { protected CfnStreamingDistribution(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected CfnStreamingDistribution(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } static { CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.class, "CFN_RESOURCE_TYPE_NAME", java.lang.String.class); } /** * Create a new `AWS::CloudFront::StreamingDistribution`. *

* @param scope - scope in which this resource is defined. This parameter is required. * @param id - scoped id of the resource. This parameter is required. * @param props - resource properties. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public CfnStreamingDistribution(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.cloudfront.CfnStreamingDistributionProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") }); } /** * Examines the CloudFormation resource and discloses attributes. *

* EXPERIMENTAL *

* @param inspector - tree inspector to collect and process attributes. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public void inspect(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TreeInspector inspector) { this.jsiiCall("inspect", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(inspector, "inspector is required") }); } /** * @param props This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) @Override protected @org.jetbrains.annotations.NotNull java.util.Map renderProperties(final @org.jetbrains.annotations.NotNull java.util.Map props) { return java.util.Collections.unmodifiableMap(this.jsiiCall("renderProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(props, "props is required") })); } /** * The CloudFormation resource type name for this resource class. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public final static java.lang.String CFN_RESOURCE_TYPE_NAME; /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public @org.jetbrains.annotations.NotNull java.lang.String getAttrDomainName() { return this.jsiiGet("attrDomainName", java.lang.String.class); } /** */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) protected @org.jetbrains.annotations.NotNull java.util.Map getCfnProperties() { return java.util.Collections.unmodifiableMap(this.jsiiGet("cfnProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); } /** * `AWS::CloudFront::StreamingDistribution.Tags`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-tags */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.TagManager getTags() { return this.jsiiGet("tags", software.amazon.awscdk.core.TagManager.class); } /** * `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public @org.jetbrains.annotations.NotNull java.lang.Object getStreamingDistributionConfig() { return this.jsiiGet("streamingDistributionConfig", java.lang.Object.class); } /** * `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public void setStreamingDistributionConfig(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.IResolvable value) { this.jsiiSet("streamingDistributionConfig", java.util.Objects.requireNonNull(value, "streamingDistributionConfig is required")); } /** * `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public void setStreamingDistributionConfig(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty value) { this.jsiiSet("streamingDistributionConfig", java.util.Objects.requireNonNull(value, "streamingDistributionConfig is required")); } /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html */ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.cloudfront.$Module.class, fqn = "@aws-cdk/aws-cloudfront.CfnStreamingDistribution.LoggingProperty") @software.amazon.jsii.Jsii.Proxy(LoggingProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static interface LoggingProperty extends software.amazon.jsii.JsiiSerializable { /** * `CfnStreamingDistribution.LoggingProperty.Bucket`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-bucket */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.String getBucket(); /** * `CfnStreamingDistribution.LoggingProperty.Enabled`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-enabled */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.Object getEnabled(); /** * `CfnStreamingDistribution.LoggingProperty.Prefix`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-prefix */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.String getPrefix(); /** * @return a {@link Builder} of {@link LoggingProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) static Builder builder() { return new Builder(); } /** * A builder for {@link LoggingProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static final class Builder { private java.lang.String bucket; private java.lang.Object enabled; private java.lang.String prefix; /** * Sets the value of {@link LoggingProperty#getBucket} * @param bucket `CfnStreamingDistribution.LoggingProperty.Bucket`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder bucket(java.lang.String bucket) { this.bucket = bucket; return this; } /** * Sets the value of {@link LoggingProperty#getEnabled} * @param enabled `CfnStreamingDistribution.LoggingProperty.Enabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder enabled(java.lang.Boolean enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link LoggingProperty#getEnabled} * @param enabled `CfnStreamingDistribution.LoggingProperty.Enabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder enabled(software.amazon.awscdk.core.IResolvable enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link LoggingProperty#getPrefix} * @param prefix `CfnStreamingDistribution.LoggingProperty.Prefix`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder prefix(java.lang.String prefix) { this.prefix = prefix; return this; } /** * Builds the configured instance. * @return a new instance of {@link LoggingProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public LoggingProperty build() { return new Jsii$Proxy(bucket, enabled, prefix); } } /** * An implementation for {@link LoggingProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements LoggingProperty { private final java.lang.String bucket; private final java.lang.Object enabled; private final java.lang.String prefix; /** * 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.bucket = this.jsiiGet("bucket", java.lang.String.class); this.enabled = this.jsiiGet("enabled", java.lang.Object.class); this.prefix = this.jsiiGet("prefix", java.lang.String.class); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ private Jsii$Proxy(final java.lang.String bucket, final java.lang.Object enabled, final java.lang.String prefix) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.bucket = java.util.Objects.requireNonNull(bucket, "bucket is required"); this.enabled = java.util.Objects.requireNonNull(enabled, "enabled is required"); this.prefix = java.util.Objects.requireNonNull(prefix, "prefix is required"); } @Override public java.lang.String getBucket() { return this.bucket; } @Override public java.lang.Object getEnabled() { return this.enabled; } @Override public java.lang.String getPrefix() { return this.prefix; } @Override 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("bucket", om.valueToTree(this.getBucket())); data.set("enabled", om.valueToTree(this.getEnabled())); data.set("prefix", om.valueToTree(this.getPrefix())); 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.CfnStreamingDistribution.LoggingProperty")); 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 boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; LoggingProperty.Jsii$Proxy that = (LoggingProperty.Jsii$Proxy) o; if (!bucket.equals(that.bucket)) return false; if (!enabled.equals(that.enabled)) return false; return this.prefix.equals(that.prefix); } @Override public int hashCode() { int result = this.bucket.hashCode(); result = 31 * result + (this.enabled.hashCode()); result = 31 * result + (this.prefix.hashCode()); return result; } } } /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html */ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.cloudfront.$Module.class, fqn = "@aws-cdk/aws-cloudfront.CfnStreamingDistribution.S3OriginProperty") @software.amazon.jsii.Jsii.Proxy(S3OriginProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static interface S3OriginProperty extends software.amazon.jsii.JsiiSerializable { /** * `CfnStreamingDistribution.S3OriginProperty.DomainName`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html#cfn-cloudfront-streamingdistribution-s3origin-domainname */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.String getDomainName(); /** * `CfnStreamingDistribution.S3OriginProperty.OriginAccessIdentity`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html#cfn-cloudfront-streamingdistribution-s3origin-originaccessidentity */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.String getOriginAccessIdentity(); /** * @return a {@link Builder} of {@link S3OriginProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) static Builder builder() { return new Builder(); } /** * A builder for {@link S3OriginProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static final class Builder { private java.lang.String domainName; private java.lang.String originAccessIdentity; /** * Sets the value of {@link S3OriginProperty#getDomainName} * @param domainName `CfnStreamingDistribution.S3OriginProperty.DomainName`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder domainName(java.lang.String domainName) { this.domainName = domainName; return this; } /** * Sets the value of {@link S3OriginProperty#getOriginAccessIdentity} * @param originAccessIdentity `CfnStreamingDistribution.S3OriginProperty.OriginAccessIdentity`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder originAccessIdentity(java.lang.String originAccessIdentity) { this.originAccessIdentity = originAccessIdentity; return this; } /** * Builds the configured instance. * @return a new instance of {@link S3OriginProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public S3OriginProperty build() { return new Jsii$Proxy(domainName, originAccessIdentity); } } /** * An implementation for {@link S3OriginProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements S3OriginProperty { private final java.lang.String domainName; private final java.lang.String originAccessIdentity; /** * 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.domainName = this.jsiiGet("domainName", java.lang.String.class); this.originAccessIdentity = this.jsiiGet("originAccessIdentity", java.lang.String.class); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ private Jsii$Proxy(final java.lang.String domainName, final java.lang.String originAccessIdentity) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.domainName = java.util.Objects.requireNonNull(domainName, "domainName is required"); this.originAccessIdentity = java.util.Objects.requireNonNull(originAccessIdentity, "originAccessIdentity is required"); } @Override public java.lang.String getDomainName() { return this.domainName; } @Override public java.lang.String getOriginAccessIdentity() { return this.originAccessIdentity; } @Override 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("domainName", om.valueToTree(this.getDomainName())); data.set("originAccessIdentity", om.valueToTree(this.getOriginAccessIdentity())); 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.CfnStreamingDistribution.S3OriginProperty")); 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 boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; S3OriginProperty.Jsii$Proxy that = (S3OriginProperty.Jsii$Proxy) o; if (!domainName.equals(that.domainName)) return false; return this.originAccessIdentity.equals(that.originAccessIdentity); } @Override public int hashCode() { int result = this.domainName.hashCode(); result = 31 * result + (this.originAccessIdentity.hashCode()); return result; } } } /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html */ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.cloudfront.$Module.class, fqn = "@aws-cdk/aws-cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty") @software.amazon.jsii.Jsii.Proxy(StreamingDistributionConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static interface StreamingDistributionConfigProperty extends software.amazon.jsii.JsiiSerializable { /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.Comment`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-comment */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.String getComment(); /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.Enabled`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-enabled */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.Object getEnabled(); /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.S3Origin`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-s3origin */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.Object getS3Origin(); /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.TrustedSigners`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-trustedsigners */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.Object getTrustedSigners(); /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.Aliases`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-aliases */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) default java.util.List getAliases() { return null; } /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.Logging`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-logging */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) default java.lang.Object getLogging() { return null; } /** * `CfnStreamingDistribution.StreamingDistributionConfigProperty.PriceClass`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-priceclass */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) default java.lang.String getPriceClass() { return null; } /** * @return a {@link Builder} of {@link StreamingDistributionConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) static Builder builder() { return new Builder(); } /** * A builder for {@link StreamingDistributionConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static final class Builder { private java.lang.String comment; private java.lang.Object enabled; private java.lang.Object s3Origin; private java.lang.Object trustedSigners; private java.util.List aliases; private java.lang.Object logging; private java.lang.String priceClass; /** * Sets the value of {@link StreamingDistributionConfigProperty#getComment} * @param comment `CfnStreamingDistribution.StreamingDistributionConfigProperty.Comment`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder comment(java.lang.String comment) { this.comment = comment; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getEnabled} * @param enabled `CfnStreamingDistribution.StreamingDistributionConfigProperty.Enabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder enabled(java.lang.Boolean enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getEnabled} * @param enabled `CfnStreamingDistribution.StreamingDistributionConfigProperty.Enabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder enabled(software.amazon.awscdk.core.IResolvable enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getS3Origin} * @param s3Origin `CfnStreamingDistribution.StreamingDistributionConfigProperty.S3Origin`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder s3Origin(software.amazon.awscdk.core.IResolvable s3Origin) { this.s3Origin = s3Origin; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getS3Origin} * @param s3Origin `CfnStreamingDistribution.StreamingDistributionConfigProperty.S3Origin`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder s3Origin(software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.S3OriginProperty s3Origin) { this.s3Origin = s3Origin; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getTrustedSigners} * @param trustedSigners `CfnStreamingDistribution.StreamingDistributionConfigProperty.TrustedSigners`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder trustedSigners(software.amazon.awscdk.core.IResolvable trustedSigners) { this.trustedSigners = trustedSigners; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getTrustedSigners} * @param trustedSigners `CfnStreamingDistribution.StreamingDistributionConfigProperty.TrustedSigners`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder trustedSigners(software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.TrustedSignersProperty trustedSigners) { this.trustedSigners = trustedSigners; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getAliases} * @param aliases `CfnStreamingDistribution.StreamingDistributionConfigProperty.Aliases`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder aliases(java.util.List aliases) { this.aliases = aliases; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getLogging} * @param logging `CfnStreamingDistribution.StreamingDistributionConfigProperty.Logging`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder logging(software.amazon.awscdk.core.IResolvable logging) { this.logging = logging; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getLogging} * @param logging `CfnStreamingDistribution.StreamingDistributionConfigProperty.Logging`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder logging(software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.LoggingProperty logging) { this.logging = logging; return this; } /** * Sets the value of {@link StreamingDistributionConfigProperty#getPriceClass} * @param priceClass `CfnStreamingDistribution.StreamingDistributionConfigProperty.PriceClass`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder priceClass(java.lang.String priceClass) { this.priceClass = priceClass; return this; } /** * Builds the configured instance. * @return a new instance of {@link StreamingDistributionConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public StreamingDistributionConfigProperty build() { return new Jsii$Proxy(comment, enabled, s3Origin, trustedSigners, aliases, logging, priceClass); } } /** * An implementation for {@link StreamingDistributionConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StreamingDistributionConfigProperty { private final java.lang.String comment; private final java.lang.Object enabled; private final java.lang.Object s3Origin; private final java.lang.Object trustedSigners; private final java.util.List aliases; private final java.lang.Object logging; private final java.lang.String priceClass; /** * 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.comment = this.jsiiGet("comment", java.lang.String.class); this.enabled = this.jsiiGet("enabled", java.lang.Object.class); this.s3Origin = this.jsiiGet("s3Origin", java.lang.Object.class); this.trustedSigners = this.jsiiGet("trustedSigners", java.lang.Object.class); this.aliases = this.jsiiGet("aliases", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.logging = this.jsiiGet("logging", java.lang.Object.class); this.priceClass = this.jsiiGet("priceClass", java.lang.String.class); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ private Jsii$Proxy(final java.lang.String comment, final java.lang.Object enabled, final java.lang.Object s3Origin, final java.lang.Object trustedSigners, final java.util.List aliases, final java.lang.Object logging, final java.lang.String priceClass) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.comment = java.util.Objects.requireNonNull(comment, "comment is required"); this.enabled = java.util.Objects.requireNonNull(enabled, "enabled is required"); this.s3Origin = java.util.Objects.requireNonNull(s3Origin, "s3Origin is required"); this.trustedSigners = java.util.Objects.requireNonNull(trustedSigners, "trustedSigners is required"); this.aliases = aliases; this.logging = logging; this.priceClass = priceClass; } @Override public java.lang.String getComment() { return this.comment; } @Override public java.lang.Object getEnabled() { return this.enabled; } @Override public java.lang.Object getS3Origin() { return this.s3Origin; } @Override public java.lang.Object getTrustedSigners() { return this.trustedSigners; } @Override public java.util.List getAliases() { return this.aliases; } @Override public java.lang.Object getLogging() { return this.logging; } @Override public java.lang.String getPriceClass() { return this.priceClass; } @Override 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("comment", om.valueToTree(this.getComment())); data.set("enabled", om.valueToTree(this.getEnabled())); data.set("s3Origin", om.valueToTree(this.getS3Origin())); data.set("trustedSigners", om.valueToTree(this.getTrustedSigners())); if (this.getAliases() != null) { data.set("aliases", om.valueToTree(this.getAliases())); } if (this.getLogging() != null) { data.set("logging", om.valueToTree(this.getLogging())); } if (this.getPriceClass() != null) { data.set("priceClass", om.valueToTree(this.getPriceClass())); } 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.CfnStreamingDistribution.StreamingDistributionConfigProperty")); 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 boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; StreamingDistributionConfigProperty.Jsii$Proxy that = (StreamingDistributionConfigProperty.Jsii$Proxy) o; if (!comment.equals(that.comment)) return false; if (!enabled.equals(that.enabled)) return false; if (!s3Origin.equals(that.s3Origin)) return false; if (!trustedSigners.equals(that.trustedSigners)) return false; if (this.aliases != null ? !this.aliases.equals(that.aliases) : that.aliases != null) return false; if (this.logging != null ? !this.logging.equals(that.logging) : that.logging != null) return false; return this.priceClass != null ? this.priceClass.equals(that.priceClass) : that.priceClass == null; } @Override public int hashCode() { int result = this.comment.hashCode(); result = 31 * result + (this.enabled.hashCode()); result = 31 * result + (this.s3Origin.hashCode()); result = 31 * result + (this.trustedSigners.hashCode()); result = 31 * result + (this.aliases != null ? this.aliases.hashCode() : 0); result = 31 * result + (this.logging != null ? this.logging.hashCode() : 0); result = 31 * result + (this.priceClass != null ? this.priceClass.hashCode() : 0); return result; } } } /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html */ @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.cloudfront.$Module.class, fqn = "@aws-cdk/aws-cloudfront.CfnStreamingDistribution.TrustedSignersProperty") @software.amazon.jsii.Jsii.Proxy(TrustedSignersProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static interface TrustedSignersProperty extends software.amazon.jsii.JsiiSerializable { /** * `CfnStreamingDistribution.TrustedSignersProperty.Enabled`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-enabled */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) java.lang.Object getEnabled(); /** * `CfnStreamingDistribution.TrustedSignersProperty.AwsAccountNumbers`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-awsaccountnumbers */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) default java.util.List getAwsAccountNumbers() { return null; } /** * @return a {@link Builder} of {@link TrustedSignersProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) static Builder builder() { return new Builder(); } /** * A builder for {@link TrustedSignersProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static final class Builder { private java.lang.Object enabled; private java.util.List awsAccountNumbers; /** * Sets the value of {@link TrustedSignersProperty#getEnabled} * @param enabled `CfnStreamingDistribution.TrustedSignersProperty.Enabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder enabled(java.lang.Boolean enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link TrustedSignersProperty#getEnabled} * @param enabled `CfnStreamingDistribution.TrustedSignersProperty.Enabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder enabled(software.amazon.awscdk.core.IResolvable enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link TrustedSignersProperty#getAwsAccountNumbers} * @param awsAccountNumbers `CfnStreamingDistribution.TrustedSignersProperty.AwsAccountNumbers`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder awsAccountNumbers(java.util.List awsAccountNumbers) { this.awsAccountNumbers = awsAccountNumbers; return this; } /** * Builds the configured instance. * @return a new instance of {@link TrustedSignersProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public TrustedSignersProperty build() { return new Jsii$Proxy(enabled, awsAccountNumbers); } } /** * An implementation for {@link TrustedSignersProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements TrustedSignersProperty { private final java.lang.Object enabled; private final java.util.List awsAccountNumbers; /** * 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.enabled = this.jsiiGet("enabled", java.lang.Object.class); this.awsAccountNumbers = this.jsiiGet("awsAccountNumbers", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ private Jsii$Proxy(final java.lang.Object enabled, final java.util.List awsAccountNumbers) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.enabled = java.util.Objects.requireNonNull(enabled, "enabled is required"); this.awsAccountNumbers = awsAccountNumbers; } @Override public java.lang.Object getEnabled() { return this.enabled; } @Override public java.util.List getAwsAccountNumbers() { return this.awsAccountNumbers; } @Override 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("enabled", om.valueToTree(this.getEnabled())); if (this.getAwsAccountNumbers() != null) { data.set("awsAccountNumbers", om.valueToTree(this.getAwsAccountNumbers())); } 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.CfnStreamingDistribution.TrustedSignersProperty")); 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 boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; TrustedSignersProperty.Jsii$Proxy that = (TrustedSignersProperty.Jsii$Proxy) o; if (!enabled.equals(that.enabled)) return false; return this.awsAccountNumbers != null ? this.awsAccountNumbers.equals(that.awsAccountNumbers) : that.awsAccountNumbers == null; } @Override public int hashCode() { int result = this.enabled.hashCode(); result = 31 * result + (this.awsAccountNumbers != null ? this.awsAccountNumbers.hashCode() : 0); return result; } } } /** * A fluent builder for {@link software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static final class Builder { /** * @return a new instance of {@link Builder}. * @param scope - scope in which this resource is defined. This parameter is required. * @param id - scoped id of the resource. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public static Builder create(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) { return new Builder(scope, id); } private final software.amazon.awscdk.core.Construct scope; private final java.lang.String id; private final software.amazon.awscdk.services.cloudfront.CfnStreamingDistributionProps.Builder props; private Builder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) { this.scope = scope; this.id = id; this.props = new software.amazon.awscdk.services.cloudfront.CfnStreamingDistributionProps.Builder(); } /** * `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. *

* @return {@code this} * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig * @param streamingDistributionConfig `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder streamingDistributionConfig(final software.amazon.awscdk.core.IResolvable streamingDistributionConfig) { this.props.streamingDistributionConfig(streamingDistributionConfig); return this; } /** * `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. *

* @return {@code this} * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig * @param streamingDistributionConfig `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder streamingDistributionConfig(final software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty streamingDistributionConfig) { this.props.streamingDistributionConfig(streamingDistributionConfig); return this; } /** * `AWS::CloudFront::StreamingDistribution.Tags`. *

* @return {@code this} * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-tags * @param tags `AWS::CloudFront::StreamingDistribution.Tags`. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public Builder tags(final java.util.List tags) { this.props.tags(tags); return this; } /** * @returns a newly built instance of {@link software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External) public software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution build() { return new software.amazon.awscdk.services.cloudfront.CfnStreamingDistribution( this.scope, this.id, this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy