Class: AWSCDK::CloudFront::CfnStreamingDistribution::StreamingDistributionConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_front/cfn_streaming_distribution.rb

Overview

The RTMP distribution's configuration information.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(comment:, enabled:, s3_origin:, trusted_signers:, aliases: nil, logging: nil, price_class: nil) ⇒ StreamingDistributionConfigProperty

Returns a new instance of StreamingDistributionConfigProperty.

Parameters:



648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
# File 'cloud_front/cfn_streaming_distribution.rb', line 648

def initialize(comment:, enabled:, s3_origin:, trusted_signers:, aliases: nil, logging: nil, price_class: nil)
  @comment = comment
  Jsii::Type.check_type(@comment, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "comment")
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled")
  @s3_origin = s3_origin.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnStreamingDistribution::S3OriginProperty.new(**s3_origin.transform_keys(&:to_sym)) : s3_origin
  Jsii::Type.check_type(@s3_origin, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblN0cmVhbWluZ0Rpc3RyaWJ1dGlvbi5TM09yaWdpblByb3BlcnR5In1dfX0=")), "s3Origin")
  @trusted_signers = trusted_signers.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnStreamingDistribution::TrustedSignersProperty.new(**trusted_signers.transform_keys(&:to_sym)) : trusted_signers
  Jsii::Type.check_type(@trusted_signers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblN0cmVhbWluZ0Rpc3RyaWJ1dGlvbi5UcnVzdGVkU2lnbmVyc1Byb3BlcnR5In1dfX0=")), "trustedSigners")
  @aliases = aliases
  Jsii::Type.check_type(@aliases, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "aliases") unless @aliases.nil?
  @logging = logging.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnStreamingDistribution::LoggingProperty.new(**logging.transform_keys(&:to_sym)) : logging
  Jsii::Type.check_type(@logging, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblN0cmVhbWluZ0Rpc3RyaWJ1dGlvbi5Mb2dnaW5nUHJvcGVydHkifV19fQ==")), "logging") unless @logging.nil?
  @price_class = price_class
  Jsii::Type.check_type(@price_class, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "priceClass") unless @price_class.nil?
end

Instance Attribute Details

#aliasesArray<String>? (readonly)

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.



691
692
693
# File 'cloud_front/cfn_streaming_distribution.rb', line 691

def aliases
  @aliases
end

#commentString (readonly)

Any comments you want to include about the streaming distribution.



669
670
671
# File 'cloud_front/cfn_streaming_distribution.rb', line 669

def comment
  @comment
end

#enabledBoolean, AWSCDK::IResolvable (readonly)

Whether the streaming distribution is enabled to accept user requests for content.



674
675
676
# File 'cloud_front/cfn_streaming_distribution.rb', line 674

def enabled
  @enabled
end

#loggingAWSCDK::IResolvable, ... (readonly)

A complex type that controls whether access logs are written for the streaming distribution.



696
697
698
# File 'cloud_front/cfn_streaming_distribution.rb', line 696

def logging
  @logging
end

#price_classString? (readonly)

A complex type that contains information about price class for this streaming distribution.



701
702
703
# File 'cloud_front/cfn_streaming_distribution.rb', line 701

def price_class
  @price_class
end

#s3_originAWSCDK::IResolvable, AWSCDK::CloudFront::CfnStreamingDistribution::S3OriginProperty (readonly)

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.



679
680
681
# File 'cloud_front/cfn_streaming_distribution.rb', line 679

def s3_origin
  @s3_origin
end

#trusted_signersAWSCDK::IResolvable, AWSCDK::CloudFront::CfnStreamingDistribution::TrustedSignersProperty (readonly)

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content.

If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide .



686
687
688
# File 'cloud_front/cfn_streaming_distribution.rb', line 686

def trusted_signers
  @trusted_signers
end

Class Method Details

.jsii_propertiesObject



703
704
705
706
707
708
709
710
711
712
713
# File 'cloud_front/cfn_streaming_distribution.rb', line 703

def self.jsii_properties
  {
    :comment => "comment",
    :enabled => "enabled",
    :s3_origin => "s3Origin",
    :trusted_signers => "trustedSigners",
    :aliases => "aliases",
    :logging => "logging",
    :price_class => "priceClass",
  }
end

Instance Method Details

#to_jsiiObject



715
716
717
718
719
720
721
722
723
724
725
726
727
# File 'cloud_front/cfn_streaming_distribution.rb', line 715

def to_jsii
  result = {}
  result.merge!({
    "comment" => @comment,
    "enabled" => @enabled,
    "s3Origin" => @s3_origin,
    "trustedSigners" => @trusted_signers,
    "aliases" => @aliases,
    "logging" => @logging,
    "priceClass" => @price_class,
  })
  result.compact
end