com.amazonaws.services.mediaconvert.model.CmafAdditionalManifest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-mediaconvert Show documentation
Show all versions of aws-java-sdk-mediaconvert Show documentation
The AWS Java SDK for AWS Elemental MediaConvert module holds the client classes that are used for communicating with AWS Elemental MediaConvert Service
/*
* Copyright 2019-2024 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.mediaconvert.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* Specify the details for each pair of HLS and DASH additional manifests that you want the service to generate for this
* CMAF output group. Each pair of manifests can reference a different subset of outputs in the group.
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CmafAdditionalManifest implements Serializable, Cloneable, StructuredPojo {
/**
* Specify a name modifier that the service adds to the name of this manifest to make it different from the file
* names of the other main manifests in the output group. For example, say that the default main manifest for your
* HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates
* for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier
* that is different from the nameModifier of the output. The service uses the output name modifier to create unique
* names for the individual variant manifests.
*/
private String manifestNameModifier;
/** Specify the outputs that you want this additional top-level manifest to reference. */
private java.util.List selectedOutputs;
/**
* Specify a name modifier that the service adds to the name of this manifest to make it different from the file
* names of the other main manifests in the output group. For example, say that the default main manifest for your
* HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates
* for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier
* that is different from the nameModifier of the output. The service uses the output name modifier to create unique
* names for the individual variant manifests.
*
* @param manifestNameModifier
* Specify a name modifier that the service adds to the name of this manifest to make it different from the
* file names of the other main manifests in the output group. For example, say that the default main
* manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file
* name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output
* groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service
* uses the output name modifier to create unique names for the individual variant manifests.
*/
public void setManifestNameModifier(String manifestNameModifier) {
this.manifestNameModifier = manifestNameModifier;
}
/**
* Specify a name modifier that the service adds to the name of this manifest to make it different from the file
* names of the other main manifests in the output group. For example, say that the default main manifest for your
* HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates
* for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier
* that is different from the nameModifier of the output. The service uses the output name modifier to create unique
* names for the individual variant manifests.
*
* @return Specify a name modifier that the service adds to the name of this manifest to make it different from the
* file names of the other main manifests in the output group. For example, say that the default main
* manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file
* name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output
* groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service
* uses the output name modifier to create unique names for the individual variant manifests.
*/
public String getManifestNameModifier() {
return this.manifestNameModifier;
}
/**
* Specify a name modifier that the service adds to the name of this manifest to make it different from the file
* names of the other main manifests in the output group. For example, say that the default main manifest for your
* HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates
* for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier
* that is different from the nameModifier of the output. The service uses the output name modifier to create unique
* names for the individual variant manifests.
*
* @param manifestNameModifier
* Specify a name modifier that the service adds to the name of this manifest to make it different from the
* file names of the other main manifests in the output group. For example, say that the default main
* manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file
* name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output
* groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service
* uses the output name modifier to create unique names for the individual variant manifests.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CmafAdditionalManifest withManifestNameModifier(String manifestNameModifier) {
setManifestNameModifier(manifestNameModifier);
return this;
}
/**
* Specify the outputs that you want this additional top-level manifest to reference.
*
* @return Specify the outputs that you want this additional top-level manifest to reference.
*/
public java.util.List getSelectedOutputs() {
return selectedOutputs;
}
/**
* Specify the outputs that you want this additional top-level manifest to reference.
*
* @param selectedOutputs
* Specify the outputs that you want this additional top-level manifest to reference.
*/
public void setSelectedOutputs(java.util.Collection selectedOutputs) {
if (selectedOutputs == null) {
this.selectedOutputs = null;
return;
}
this.selectedOutputs = new java.util.ArrayList(selectedOutputs);
}
/**
* Specify the outputs that you want this additional top-level manifest to reference.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSelectedOutputs(java.util.Collection)} or {@link #withSelectedOutputs(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param selectedOutputs
* Specify the outputs that you want this additional top-level manifest to reference.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CmafAdditionalManifest withSelectedOutputs(String... selectedOutputs) {
if (this.selectedOutputs == null) {
setSelectedOutputs(new java.util.ArrayList(selectedOutputs.length));
}
for (String ele : selectedOutputs) {
this.selectedOutputs.add(ele);
}
return this;
}
/**
* Specify the outputs that you want this additional top-level manifest to reference.
*
* @param selectedOutputs
* Specify the outputs that you want this additional top-level manifest to reference.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CmafAdditionalManifest withSelectedOutputs(java.util.Collection selectedOutputs) {
setSelectedOutputs(selectedOutputs);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getManifestNameModifier() != null)
sb.append("ManifestNameModifier: ").append(getManifestNameModifier()).append(",");
if (getSelectedOutputs() != null)
sb.append("SelectedOutputs: ").append(getSelectedOutputs());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CmafAdditionalManifest == false)
return false;
CmafAdditionalManifest other = (CmafAdditionalManifest) obj;
if (other.getManifestNameModifier() == null ^ this.getManifestNameModifier() == null)
return false;
if (other.getManifestNameModifier() != null && other.getManifestNameModifier().equals(this.getManifestNameModifier()) == false)
return false;
if (other.getSelectedOutputs() == null ^ this.getSelectedOutputs() == null)
return false;
if (other.getSelectedOutputs() != null && other.getSelectedOutputs().equals(this.getSelectedOutputs()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getManifestNameModifier() == null) ? 0 : getManifestNameModifier().hashCode());
hashCode = prime * hashCode + ((getSelectedOutputs() == null) ? 0 : getSelectedOutputs().hashCode());
return hashCode;
}
@Override
public CmafAdditionalManifest clone() {
try {
return (CmafAdditionalManifest) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.mediaconvert.model.transform.CmafAdditionalManifestMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}