Class OriginEndpointProps.Builder

java.lang.Object
software.amazon.awscdk.services.mediapackagev2.alpha.OriginEndpointProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<OriginEndpointProps>
Enclosing interface:
OriginEndpointProps

@Stability(Experimental) public static final class OriginEndpointProps.Builder extends Object implements software.amazon.jsii.Builder<OriginEndpointProps>
A builder for OriginEndpointProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • channel

      @Stability(Experimental) public OriginEndpointProps.Builder channel(IChannel channel)
      Parameters:
      channel - The channel associated with the origin endpoint. This parameter is required.
      Returns:
      this
    • manifests

      @Stability(Experimental) public OriginEndpointProps.Builder manifests(List<? extends Manifest> manifests)
      Parameters:
      manifests - Manifests configuration for HLS, Low Latency HLS and DASH. This parameter is required.
      Returns:
      this
    • segment

      @Stability(Experimental) public OriginEndpointProps.Builder segment(SegmentConfiguration segment)
      Parameters:
      segment - The segment associated with the origin endpoint. This parameter is required. Inside the segment configuration you can define options such as encryption, SPEKE parameters and other general segment configurations.

      Use Segment.ts() or Segment.cmaf() to create the configuration.

      Returns:
      this
    • cdnAuth

      @Stability(Experimental) public OriginEndpointProps.Builder cdnAuth(CdnAuthConfiguration cdnAuth)
      Parameters:
      cdnAuth - Provide access to MediaPackage V2 Origin Endpoint via secret header. Use this when your CDN doesn't support AWS Signature Version 4 (SigV4) authentication. For SigV4-based access with Amazon CloudFront, see MediaPackageV2Origin.

      Setting cdnAuth auto-creates the following policy on the OriginEndpoint:

                      {
                        "Version":"2012-10-17",
                        "Statement": [
                          {
                            "Sid": "AllowGetObjectAccessForAuthorizedRequest",
                            "Effect": "Allow",
                            "Principal": "*",
                            "Action": "mediapackagev2:GetObject",
                            "Resource": "arn:aws:mediapackagev2:us-east-1:111122223333:channelGroup/channelGroupName/channel/channelName/originEndpoint/originEndpointName",
                            "Condition": {
                              "Bool": {
                                "mediapackagev2:RequestHasMatchingCdnAuthHeader": "true"
                              }
                            }
                          }
                        ]
                      }
                      
      Returns:
      this
    • description

      @Stability(Experimental) public OriginEndpointProps.Builder description(String description)
      Parameters:
      description - The description associated with the origin endpoint.
      Returns:
      this
    • forceEndpointConfigurationConditions

      @Stability(Experimental) public OriginEndpointProps.Builder forceEndpointConfigurationConditions(List<? extends EndpointErrorConfiguration> forceEndpointConfigurationConditions)
      Parameters:
      forceEndpointConfigurationConditions - The failover settings for the endpoint.
      Returns:
      this
    • originEndpointName

      @Stability(Experimental) public OriginEndpointProps.Builder originEndpointName(String originEndpointName)
      Parameters:
      originEndpointName - The name of the origin endpoint associated with the origin endpoint configuration.
      Returns:
      this
    • removalPolicy

      @Stability(Experimental) public OriginEndpointProps.Builder removalPolicy(RemovalPolicy removalPolicy)
      Parameters:
      removalPolicy - Policy to apply when the origin endpoint is removed from the stack. Even though MediaPackage ChannelGroups, Channels and OriginEndpoints are technically stateful, their contents are transient and it is common to add and remove these while rearchitecting your application. The default is therefore DESTROY. Change it to RETAIN if the content (in a lookback window) are so valuable that accidentally losing it would be unacceptable.
      Returns:
      this
    • startoverWindow

      @Stability(Experimental) public OriginEndpointProps.Builder startoverWindow(Duration startoverWindow)
      Parameters:
      startoverWindow - The size of the window to specify a window of the live stream that's available for on-demand viewing. Viewers can start-over or catch-up on content that falls within the window.
      Returns:
      this
    • tags

      @Stability(Experimental) public OriginEndpointProps.Builder tags(Map<String,String> tags)
      Parameters:
      tags - The tags associated with the origin endpoint.
      Returns:
      this
    • build

      @Stability(Experimental) public OriginEndpointProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<OriginEndpointProps>
      Returns:
      a new instance of OriginEndpointProps
      Throws:
      NullPointerException - if any required attribute was not provided