/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.mediapackagev2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateOriginEndpointRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name that describes the channel group. The name is the primary identifier for the channel group, and must be * unique for your account in the AWS Region. *
*/ private String channelGroupName; /** ** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for * your account in the AWS Region and channel group. *
*/ private String channelName; /** ** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and must * be unique for your account in the AWS Region and channel. You can't use spaces in the name. You can't change the * name after you create the endpoint. *
*/ private String originEndpointName; /** ** The type of container to attach to this origin endpoint. A container type is a file format that encapsulates one * or more media streams, such as audio and video, into a single file. You can't change the container type after you * create the endpoint. *
*/ private String containerType; /** ** The segment configuration, including the segment name, duration, and other configuration values. *
*/ private Segment segment; /** ** A unique, case-sensitive token that you provide to ensure the idempotency of the request. *
*/ private String clientToken; /** ** Enter any descriptive text that helps you to identify the origin endpoint. *
*/ private String description; /** ** The size of the window (in seconds) to create 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. The maximum startover window is * 1,209,600 seconds (14 days). *
*/ private Integer startoverWindowSeconds; /** ** An HTTP live streaming (HLS) manifest configuration. *
*/ private java.util.List* A low-latency HLS manifest configuration. *
*/ private java.util.List* A comma-separated list of tag key:value pairs that you define. For example: *
*
* "Key1": "Value1",
*
* "Key2": "Value2"
*
* The name that describes the channel group. The name is the primary identifier for the channel group, and must be * unique for your account in the AWS Region. *
* * @param channelGroupName * The name that describes the channel group. The name is the primary identifier for the channel group, and * must be unique for your account in the AWS Region. */ public void setChannelGroupName(String channelGroupName) { this.channelGroupName = channelGroupName; } /** ** The name that describes the channel group. The name is the primary identifier for the channel group, and must be * unique for your account in the AWS Region. *
* * @return The name that describes the channel group. The name is the primary identifier for the channel group, and * must be unique for your account in the AWS Region. */ public String getChannelGroupName() { return this.channelGroupName; } /** ** The name that describes the channel group. The name is the primary identifier for the channel group, and must be * unique for your account in the AWS Region. *
* * @param channelGroupName * The name that describes the channel group. The name is the primary identifier for the channel group, and * must be unique for your account in the AWS Region. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withChannelGroupName(String channelGroupName) { setChannelGroupName(channelGroupName); return this; } /** ** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for * your account in the AWS Region and channel group. *
* * @param channelName * The name that describes the channel. The name is the primary identifier for the channel, and must be * unique for your account in the AWS Region and channel group. */ public void setChannelName(String channelName) { this.channelName = channelName; } /** ** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for * your account in the AWS Region and channel group. *
* * @return The name that describes the channel. The name is the primary identifier for the channel, and must be * unique for your account in the AWS Region and channel group. */ public String getChannelName() { return this.channelName; } /** ** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for * your account in the AWS Region and channel group. *
* * @param channelName * The name that describes the channel. The name is the primary identifier for the channel, and must be * unique for your account in the AWS Region and channel group. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withChannelName(String channelName) { setChannelName(channelName); return this; } /** ** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and must * be unique for your account in the AWS Region and channel. You can't use spaces in the name. You can't change the * name after you create the endpoint. *
* * @param originEndpointName * The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, * and must be unique for your account in the AWS Region and channel. You can't use spaces in the name. You * can't change the name after you create the endpoint. */ public void setOriginEndpointName(String originEndpointName) { this.originEndpointName = originEndpointName; } /** ** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and must * be unique for your account in the AWS Region and channel. You can't use spaces in the name. You can't change the * name after you create the endpoint. *
* * @return The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, * and must be unique for your account in the AWS Region and channel. You can't use spaces in the name. You * can't change the name after you create the endpoint. */ public String getOriginEndpointName() { return this.originEndpointName; } /** ** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and must * be unique for your account in the AWS Region and channel. You can't use spaces in the name. You can't change the * name after you create the endpoint. *
* * @param originEndpointName * The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, * and must be unique for your account in the AWS Region and channel. You can't use spaces in the name. You * can't change the name after you create the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withOriginEndpointName(String originEndpointName) { setOriginEndpointName(originEndpointName); return this; } /** ** The type of container to attach to this origin endpoint. A container type is a file format that encapsulates one * or more media streams, such as audio and video, into a single file. You can't change the container type after you * create the endpoint. *
* * @param containerType * The type of container to attach to this origin endpoint. A container type is a file format that * encapsulates one or more media streams, such as audio and video, into a single file. You can't change the * container type after you create the endpoint. * @see ContainerType */ public void setContainerType(String containerType) { this.containerType = containerType; } /** ** The type of container to attach to this origin endpoint. A container type is a file format that encapsulates one * or more media streams, such as audio and video, into a single file. You can't change the container type after you * create the endpoint. *
* * @return The type of container to attach to this origin endpoint. A container type is a file format that * encapsulates one or more media streams, such as audio and video, into a single file. You can't change the * container type after you create the endpoint. * @see ContainerType */ public String getContainerType() { return this.containerType; } /** ** The type of container to attach to this origin endpoint. A container type is a file format that encapsulates one * or more media streams, such as audio and video, into a single file. You can't change the container type after you * create the endpoint. *
* * @param containerType * The type of container to attach to this origin endpoint. A container type is a file format that * encapsulates one or more media streams, such as audio and video, into a single file. You can't change the * container type after you create the endpoint. * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerType */ public CreateOriginEndpointRequest withContainerType(String containerType) { setContainerType(containerType); return this; } /** ** The type of container to attach to this origin endpoint. A container type is a file format that encapsulates one * or more media streams, such as audio and video, into a single file. You can't change the container type after you * create the endpoint. *
* * @param containerType * The type of container to attach to this origin endpoint. A container type is a file format that * encapsulates one or more media streams, such as audio and video, into a single file. You can't change the * container type after you create the endpoint. * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerType */ public CreateOriginEndpointRequest withContainerType(ContainerType containerType) { this.containerType = containerType.toString(); return this; } /** ** The segment configuration, including the segment name, duration, and other configuration values. *
* * @param segment * The segment configuration, including the segment name, duration, and other configuration values. */ public void setSegment(Segment segment) { this.segment = segment; } /** ** The segment configuration, including the segment name, duration, and other configuration values. *
* * @return The segment configuration, including the segment name, duration, and other configuration values. */ public Segment getSegment() { return this.segment; } /** ** The segment configuration, including the segment name, duration, and other configuration values. *
* * @param segment * The segment configuration, including the segment name, duration, and other configuration values. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withSegment(Segment segment) { setSegment(segment); return this; } /** ** A unique, case-sensitive token that you provide to ensure the idempotency of the request. *
* * @param clientToken * A unique, case-sensitive token that you provide to ensure the idempotency of the request. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** ** A unique, case-sensitive token that you provide to ensure the idempotency of the request. *
* * @return A unique, case-sensitive token that you provide to ensure the idempotency of the request. */ public String getClientToken() { return this.clientToken; } /** ** A unique, case-sensitive token that you provide to ensure the idempotency of the request. *
* * @param clientToken * A unique, case-sensitive token that you provide to ensure the idempotency of the request. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** ** Enter any descriptive text that helps you to identify the origin endpoint. *
* * @param description * Enter any descriptive text that helps you to identify the origin endpoint. */ public void setDescription(String description) { this.description = description; } /** ** Enter any descriptive text that helps you to identify the origin endpoint. *
* * @return Enter any descriptive text that helps you to identify the origin endpoint. */ public String getDescription() { return this.description; } /** ** Enter any descriptive text that helps you to identify the origin endpoint. *
* * @param description * Enter any descriptive text that helps you to identify the origin endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withDescription(String description) { setDescription(description); return this; } /** ** The size of the window (in seconds) to create 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. The maximum startover window is * 1,209,600 seconds (14 days). *
* * @param startoverWindowSeconds * The size of the window (in seconds) to create 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. The maximum startover * window is 1,209,600 seconds (14 days). */ public void setStartoverWindowSeconds(Integer startoverWindowSeconds) { this.startoverWindowSeconds = startoverWindowSeconds; } /** ** The size of the window (in seconds) to create 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. The maximum startover window is * 1,209,600 seconds (14 days). *
* * @return The size of the window (in seconds) to create 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. The maximum * startover window is 1,209,600 seconds (14 days). */ public Integer getStartoverWindowSeconds() { return this.startoverWindowSeconds; } /** ** The size of the window (in seconds) to create 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. The maximum startover window is * 1,209,600 seconds (14 days). *
* * @param startoverWindowSeconds * The size of the window (in seconds) to create 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. The maximum startover * window is 1,209,600 seconds (14 days). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withStartoverWindowSeconds(Integer startoverWindowSeconds) { setStartoverWindowSeconds(startoverWindowSeconds); return this; } /** ** An HTTP live streaming (HLS) manifest configuration. *
* * @return An HTTP live streaming (HLS) manifest configuration. */ public java.util.List* An HTTP live streaming (HLS) manifest configuration. *
* * @param hlsManifests * An HTTP live streaming (HLS) manifest configuration. */ public void setHlsManifests(java.util.Collection* An HTTP live streaming (HLS) manifest configuration. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setHlsManifests(java.util.Collection)} or {@link #withHlsManifests(java.util.Collection)} if you want to * override the existing values. *
* * @param hlsManifests * An HTTP live streaming (HLS) manifest configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withHlsManifests(CreateHlsManifestConfiguration... hlsManifests) { if (this.hlsManifests == null) { setHlsManifests(new java.util.ArrayList* An HTTP live streaming (HLS) manifest configuration. *
* * @param hlsManifests * An HTTP live streaming (HLS) manifest configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withHlsManifests(java.util.Collection* A low-latency HLS manifest configuration. *
* * @return A low-latency HLS manifest configuration. */ public java.util.List* A low-latency HLS manifest configuration. *
* * @param lowLatencyHlsManifests * A low-latency HLS manifest configuration. */ public void setLowLatencyHlsManifests(java.util.Collection* A low-latency HLS manifest configuration. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setLowLatencyHlsManifests(java.util.Collection)} or * {@link #withLowLatencyHlsManifests(java.util.Collection)} if you want to override the existing values. *
* * @param lowLatencyHlsManifests * A low-latency HLS manifest configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withLowLatencyHlsManifests(CreateLowLatencyHlsManifestConfiguration... lowLatencyHlsManifests) { if (this.lowLatencyHlsManifests == null) { setLowLatencyHlsManifests(new java.util.ArrayList* A low-latency HLS manifest configuration. *
* * @param lowLatencyHlsManifests * A low-latency HLS manifest configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOriginEndpointRequest withLowLatencyHlsManifests(java.util.Collection* A comma-separated list of tag key:value pairs that you define. For example: *
*
* "Key1": "Value1",
*
* "Key2": "Value2"
*
* "Key1": "Value1",
*
*
* A comma-separated list of tag key:value pairs that you define. For example:
*
*
* "Key2": "Value2"
*/
public java.util.Map"Key1": "Value1",
* "Key2": "Value2"
*
* "Key1": "Value1",
*
*
* A comma-separated list of tag key:value pairs that you define. For example:
*
*
* "Key2": "Value2"
*/
public void setTags(java.util.Map"Key1": "Value1",
* "Key2": "Value2"
*
* "Key1": "Value1",
*
* "Key2": "Value2"
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateOriginEndpointRequest withTags(java.util.Map