Class CfnOriginEndpoint

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.97.0 (build 729de35)", date="2024-04-18T17:54:19.927Z") @Stability(Stable) public class CfnOriginEndpoint extends CfnResource implements IInspectable, ITaggable
Create an endpoint on an AWS Elemental MediaPackage channel.

An endpoint represents a single delivery point of a channel, and defines content output handling through various components, such as packaging protocols, DRM and encryption integration, and more.

After it's created, an endpoint provides a fixed public URL. This URL remains the same throughout the lifetime of the endpoint, regardless of any failures or upgrades that might occur. Integrate the URL with a downstream CDN (such as Amazon CloudFront) or playback device.

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.mediapackage.*;
 CfnOriginEndpoint cfnOriginEndpoint = CfnOriginEndpoint.Builder.create(this, "MyCfnOriginEndpoint")
         .channelId("channelId")
         .id("id")
         // the properties below are optional
         .authorization(AuthorizationProperty.builder()
                 .cdnIdentifierSecret("cdnIdentifierSecret")
                 .secretsRoleArn("secretsRoleArn")
                 .build())
         .cmafPackage(CmafPackageProperty.builder()
                 .encryption(CmafEncryptionProperty.builder()
                         .spekeKeyProvider(SpekeKeyProviderProperty.builder()
                                 .resourceId("resourceId")
                                 .roleArn("roleArn")
                                 .systemIds(List.of("systemIds"))
                                 .url("url")
                                 // the properties below are optional
                                 .certificateArn("certificateArn")
                                 .encryptionContractConfiguration(EncryptionContractConfigurationProperty.builder()
                                         .presetSpeke20Audio("presetSpeke20Audio")
                                         .presetSpeke20Video("presetSpeke20Video")
                                         .build())
                                 .build())
                         // the properties below are optional
                         .constantInitializationVector("constantInitializationVector")
                         .encryptionMethod("encryptionMethod")
                         .keyRotationIntervalSeconds(123)
                         .build())
                 .hlsManifests(List.of(HlsManifestProperty.builder()
                         .id("id")
                         // the properties below are optional
                         .adMarkers("adMarkers")
                         .adsOnDeliveryRestrictions("adsOnDeliveryRestrictions")
                         .adTriggers(List.of("adTriggers"))
                         .includeIframeOnlyStream(false)
                         .manifestName("manifestName")
                         .playlistType("playlistType")
                         .playlistWindowSeconds(123)
                         .programDateTimeIntervalSeconds(123)
                         .url("url")
                         .build()))
                 .segmentDurationSeconds(123)
                 .segmentPrefix("segmentPrefix")
                 .streamSelection(StreamSelectionProperty.builder()
                         .maxVideoBitsPerSecond(123)
                         .minVideoBitsPerSecond(123)
                         .streamOrder("streamOrder")
                         .build())
                 .build())
         .dashPackage(DashPackageProperty.builder()
                 .adsOnDeliveryRestrictions("adsOnDeliveryRestrictions")
                 .adTriggers(List.of("adTriggers"))
                 .encryption(DashEncryptionProperty.builder()
                         .spekeKeyProvider(SpekeKeyProviderProperty.builder()
                                 .resourceId("resourceId")
                                 .roleArn("roleArn")
                                 .systemIds(List.of("systemIds"))
                                 .url("url")
                                 // the properties below are optional
                                 .certificateArn("certificateArn")
                                 .encryptionContractConfiguration(EncryptionContractConfigurationProperty.builder()
                                         .presetSpeke20Audio("presetSpeke20Audio")
                                         .presetSpeke20Video("presetSpeke20Video")
                                         .build())
                                 .build())
                         // the properties below are optional
                         .keyRotationIntervalSeconds(123)
                         .build())
                 .includeIframeOnlyStream(false)
                 .manifestLayout("manifestLayout")
                 .manifestWindowSeconds(123)
                 .minBufferTimeSeconds(123)
                 .minUpdatePeriodSeconds(123)
                 .periodTriggers(List.of("periodTriggers"))
                 .profile("profile")
                 .segmentDurationSeconds(123)
                 .segmentTemplateFormat("segmentTemplateFormat")
                 .streamSelection(StreamSelectionProperty.builder()
                         .maxVideoBitsPerSecond(123)
                         .minVideoBitsPerSecond(123)
                         .streamOrder("streamOrder")
                         .build())
                 .suggestedPresentationDelaySeconds(123)
                 .utcTiming("utcTiming")
                 .utcTimingUri("utcTimingUri")
                 .build())
         .description("description")
         .hlsPackage(HlsPackageProperty.builder()
                 .adMarkers("adMarkers")
                 .adsOnDeliveryRestrictions("adsOnDeliveryRestrictions")
                 .adTriggers(List.of("adTriggers"))
                 .encryption(HlsEncryptionProperty.builder()
                         .spekeKeyProvider(SpekeKeyProviderProperty.builder()
                                 .resourceId("resourceId")
                                 .roleArn("roleArn")
                                 .systemIds(List.of("systemIds"))
                                 .url("url")
                                 // the properties below are optional
                                 .certificateArn("certificateArn")
                                 .encryptionContractConfiguration(EncryptionContractConfigurationProperty.builder()
                                         .presetSpeke20Audio("presetSpeke20Audio")
                                         .presetSpeke20Video("presetSpeke20Video")
                                         .build())
                                 .build())
                         // the properties below are optional
                         .constantInitializationVector("constantInitializationVector")
                         .encryptionMethod("encryptionMethod")
                         .keyRotationIntervalSeconds(123)
                         .repeatExtXKey(false)
                         .build())
                 .includeDvbSubtitles(false)
                 .includeIframeOnlyStream(false)
                 .playlistType("playlistType")
                 .playlistWindowSeconds(123)
                 .programDateTimeIntervalSeconds(123)
                 .segmentDurationSeconds(123)
                 .streamSelection(StreamSelectionProperty.builder()
                         .maxVideoBitsPerSecond(123)
                         .minVideoBitsPerSecond(123)
                         .streamOrder("streamOrder")
                         .build())
                 .useAudioRenditionGroup(false)
                 .build())
         .manifestName("manifestName")
         .mssPackage(MssPackageProperty.builder()
                 .encryption(MssEncryptionProperty.builder()
                         .spekeKeyProvider(SpekeKeyProviderProperty.builder()
                                 .resourceId("resourceId")
                                 .roleArn("roleArn")
                                 .systemIds(List.of("systemIds"))
                                 .url("url")
                                 // the properties below are optional
                                 .certificateArn("certificateArn")
                                 .encryptionContractConfiguration(EncryptionContractConfigurationProperty.builder()
                                         .presetSpeke20Audio("presetSpeke20Audio")
                                         .presetSpeke20Video("presetSpeke20Video")
                                         .build())
                                 .build())
                         .build())
                 .manifestWindowSeconds(123)
                 .segmentDurationSeconds(123)
                 .streamSelection(StreamSelectionProperty.builder()
                         .maxVideoBitsPerSecond(123)
                         .minVideoBitsPerSecond(123)
                         .streamOrder("streamOrder")
                         .build())
                 .build())
         .origination("origination")
         .startoverWindowSeconds(123)
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .timeDelaySeconds(123)
         .whitelist(List.of("whitelist"))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnOriginEndpoint

      protected CfnOriginEndpoint(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnOriginEndpoint

      protected CfnOriginEndpoint(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnOriginEndpoint

      @Stability(Stable) public CfnOriginEndpoint(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnOriginEndpointProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The endpoint's unique system-generated resource name, based on the AWS record.
    • getAttrUrl

      @Stability(Stable) @NotNull public String getAttrUrl()
      URL for the key provider’s key retrieval API endpoint.

      Must start with https://.

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getChannelId

      @Stability(Stable) @NotNull public String getChannelId()
      The ID of the channel associated with this endpoint.
    • setChannelId

      @Stability(Stable) public void setChannelId(@NotNull String value)
      The ID of the channel associated with this endpoint.
    • getId

      @Stability(Stable) @NotNull public String getId()
      The manifest ID is required and must be unique within the OriginEndpoint.
    • setId

      @Stability(Stable) public void setId(@NotNull String value)
      The manifest ID is required and must be unique within the OriginEndpoint.
    • getAuthorization

      @Stability(Stable) @Nullable public Object getAuthorization()
      Parameters for CDN authorization.
    • setAuthorization

      @Stability(Stable) public void setAuthorization(@Nullable IResolvable value)
      Parameters for CDN authorization.
    • setAuthorization

      @Stability(Stable) public void setAuthorization(@Nullable CfnOriginEndpoint.AuthorizationProperty value)
      Parameters for CDN authorization.
    • getCmafPackage

      @Stability(Stable) @Nullable public Object getCmafPackage()
      Parameters for Common Media Application Format (CMAF) packaging.
    • setCmafPackage

      @Stability(Stable) public void setCmafPackage(@Nullable IResolvable value)
      Parameters for Common Media Application Format (CMAF) packaging.
    • setCmafPackage

      @Stability(Stable) public void setCmafPackage(@Nullable CfnOriginEndpoint.CmafPackageProperty value)
      Parameters for Common Media Application Format (CMAF) packaging.
    • getDashPackage

      @Stability(Stable) @Nullable public Object getDashPackage()
      Parameters for DASH packaging.
    • setDashPackage

      @Stability(Stable) public void setDashPackage(@Nullable IResolvable value)
      Parameters for DASH packaging.
    • setDashPackage

      @Stability(Stable) public void setDashPackage(@Nullable CfnOriginEndpoint.DashPackageProperty value)
      Parameters for DASH packaging.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      Any descriptive information that you want to add to the endpoint for future identification purposes.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      Any descriptive information that you want to add to the endpoint for future identification purposes.
    • getHlsPackage

      @Stability(Stable) @Nullable public Object getHlsPackage()
      Parameters for Apple HLS packaging.
    • setHlsPackage

      @Stability(Stable) public void setHlsPackage(@Nullable IResolvable value)
      Parameters for Apple HLS packaging.
    • setHlsPackage

      @Stability(Stable) public void setHlsPackage(@Nullable CfnOriginEndpoint.HlsPackageProperty value)
      Parameters for Apple HLS packaging.
    • getManifestName

      @Stability(Stable) @Nullable public String getManifestName()
      A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
    • setManifestName

      @Stability(Stable) public void setManifestName(@Nullable String value)
      A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
    • getMssPackage

      @Stability(Stable) @Nullable public Object getMssPackage()
      Parameters for Microsoft Smooth Streaming packaging.
    • setMssPackage

      @Stability(Stable) public void setMssPackage(@Nullable IResolvable value)
      Parameters for Microsoft Smooth Streaming packaging.
    • setMssPackage

      @Stability(Stable) public void setMssPackage(@Nullable CfnOriginEndpoint.MssPackageProperty value)
      Parameters for Microsoft Smooth Streaming packaging.
    • getOrigination

      @Stability(Stable) @Nullable public String getOrigination()
      Controls video origination from this endpoint.
    • setOrigination

      @Stability(Stable) public void setOrigination(@Nullable String value)
      Controls video origination from this endpoint.
    • getStartoverWindowSeconds

      @Stability(Stable) @Nullable public Number getStartoverWindowSeconds()
      Maximum duration (seconds) of content to retain for startover playback.
    • setStartoverWindowSeconds

      @Stability(Stable) public void setStartoverWindowSeconds(@Nullable Number value)
      Maximum duration (seconds) of content to retain for startover playback.
    • getTagsRaw

      @Stability(Stable) @Nullable public List<CfnTag> getTagsRaw()
      The tags to assign to the endpoint.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable List<CfnTag> value)
      The tags to assign to the endpoint.
    • getTimeDelaySeconds

      @Stability(Stable) @Nullable public Number getTimeDelaySeconds()
      Minimum duration (seconds) of delay to enforce on the playback of live content.
    • setTimeDelaySeconds

      @Stability(Stable) public void setTimeDelaySeconds(@Nullable Number value)
      Minimum duration (seconds) of delay to enforce on the playback of live content.
    • getWhitelist

      @Stability(Stable) @Nullable public List<String> getWhitelist()
      The IP addresses that can access this endpoint.
    • setWhitelist

      @Stability(Stable) public void setWhitelist(@Nullable List<String> value)
      The IP addresses that can access this endpoint.