com.amazonaws.services.elastictranscoder.model

## Class HlsContentProtection

- java.lang.Object
- - com.amazonaws.services.elastictranscoder.model.HlsContentProtection

All Implemented Interfaces:
  Serializable, Cloneable

    public class HlsContentProtection
    extends Object
    implements Serializable, Cloneable

The HLS content protection settings, if any, that you want Elastic Transcoder to apply to your output files.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`HlsContentProtection()`

### Method Summary

All Methods Instance Methods Concrete Methods
`HlsContentProtection` `clone()`
`boolean` `equals(Object obj)`
`String` `getInitializationVector()` If Elastic Transcoder is generating your key for you, you must leave this field blank.
`String` `getKey()` If you want Elastic Transcoder to generate a key for you, leave this field blank.
`String` `getKeyMd5()` If Elastic Transcoder is generating your key for you, you must leave this field blank.
`String` `getKeyStoragePolicy()` Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket.
`String` `getLicenseAcquisitionUrl()` The location of the license key required to decrypt your HLS playlist.
`String` `getMethod()` The content protection method for your output.
`int` `hashCode()`
`void` `setInitializationVector(String initializationVector)` If Elastic Transcoder is generating your key for you, you must leave this field blank.
`void` `setKey(String key)` If you want Elastic Transcoder to generate a key for you, leave this field blank.
`void` `setKeyMd5(String keyMd5)` If Elastic Transcoder is generating your key for you, you must leave this field blank.
`void` `setKeyStoragePolicy(String keyStoragePolicy)` Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket.
`void` `setLicenseAcquisitionUrl(String licenseAcquisitionUrl)` The location of the license key required to decrypt your HLS playlist.
`void` `setMethod(String method)` The content protection method for your output.
`String` `toString()` Returns a string representation of this object; useful for testing and debugging.
`HlsContentProtection` `withInitializationVector(String initializationVector)` If Elastic Transcoder is generating your key for you, you must leave this field blank.
`HlsContentProtection` `withKey(String key)` If you want Elastic Transcoder to generate a key for you, leave this field blank.
`HlsContentProtection` `withKeyMd5(String keyMd5)` If Elastic Transcoder is generating your key for you, you must leave this field blank.
`HlsContentProtection` `withKeyStoragePolicy(String keyStoragePolicy)` Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket.
`HlsContentProtection` `withLicenseAcquisitionUrl(String licenseAcquisitionUrl)` The location of the license key required to decrypt your HLS playlist.
`HlsContentProtection` `withMethod(String method)` The content protection method for your output.

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### HlsContentProtection

    public HlsContentProtection()

### Method Detail

#### setMethod

    public void setMethod(String method)

The content protection method for your output. The only valid value is: `aes-128`.

This value is written into the method attribute of the `EXT-X-KEY` metadata tag in the output playlist.

Parameters:
  `method` - The content protection method for your output. The only valid value is: `aes-128`.

  This value is written into the method attribute of the `EXT-X-KEY` metadata tag in the output playlist.

#### getMethod

    public String getMethod()

The content protection method for your output. The only valid value is: `aes-128`.

This value is written into the method attribute of the `EXT-X-KEY` metadata tag in the output playlist.

Returns:
  The content protection method for your output. The only valid value is: `aes-128`.

  This value is written into the method attribute of the `EXT-X-KEY` metadata tag in the output playlist.

#### withMethod

    public HlsContentProtection withMethod(String method)

The content protection method for your output. The only valid value is: `aes-128`.

This value is written into the method attribute of the `EXT-X-KEY` metadata tag in the output playlist.

Parameters:
  `method` - The content protection method for your output. The only valid value is: `aes-128`.

  This value is written into the method attribute of the `EXT-X-KEY` metadata tag in the output playlist.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setKey

    public void setKey(String key)

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

`128`, `192`, or `256`.

Parameters:
  `key` - If you want Elastic Transcoder to generate a key for you, leave this field blank.

  If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

  `128`, `192`, or `256`.

#### getKey

    public String getKey()

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

`128`, `192`, or `256`.

Returns:
  If you want Elastic Transcoder to generate a key for you, leave this field blank.

  If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

  `128`, `192`, or `256`.

#### withKey

    public HlsContentProtection withKey(String key)

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

`128`, `192`, or `256`.

Parameters:
  `key` - If you want Elastic Transcoder to generate a key for you, leave this field blank.

  If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

  `128`, `192`, or `256`.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setKeyMd5

    public void setKeyMd5(String keyMd5)

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

Parameters:
  `keyMd5` - If Elastic Transcoder is generating your key for you, you must leave this field blank.

  The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

#### getKeyMd5

    public String getKeyMd5()

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

Returns:
  If Elastic Transcoder is generating your key for you, you must leave this field blank.

  The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

#### withKeyMd5

    public HlsContentProtection withKeyMd5(String keyMd5)

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

Parameters:
  `keyMd5` - If Elastic Transcoder is generating your key for you, you must leave this field blank.

  The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setInitializationVector

    public void setInitializationVector(String initializationVector)

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

Parameters:
  `initializationVector` - If Elastic Transcoder is generating your key for you, you must leave this field blank.

  The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

#### getInitializationVector

    public String getInitializationVector()

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

Returns:
  If Elastic Transcoder is generating your key for you, you must leave this field blank.

  The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

#### withInitializationVector

    public HlsContentProtection withInitializationVector(String initializationVector)

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

Parameters:
  `initializationVector` - If Elastic Transcoder is generating your key for you, you must leave this field blank.

  The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setLicenseAcquisitionUrl

    public void setLicenseAcquisitionUrl(String licenseAcquisitionUrl)

The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

Parameters:
  `licenseAcquisitionUrl` - The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

#### getLicenseAcquisitionUrl

    public String getLicenseAcquisitionUrl()

The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

Returns:
  The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

#### withLicenseAcquisitionUrl

    public HlsContentProtection withLicenseAcquisitionUrl(String licenseAcquisitionUrl)

The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

Parameters:
  `licenseAcquisitionUrl` - The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setKeyStoragePolicy

    public void setKeyStoragePolicy(String keyStoragePolicy)

Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose `WithVariantPlaylists`, `LicenseAcquisitionUrl` must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

Parameters:
  `keyStoragePolicy` - Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose `WithVariantPlaylists`, `LicenseAcquisitionUrl` must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

#### getKeyStoragePolicy

    public String getKeyStoragePolicy()

Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose `WithVariantPlaylists`, `LicenseAcquisitionUrl` must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

Returns:
  Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose `WithVariantPlaylists`, `LicenseAcquisitionUrl` must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

#### withKeyStoragePolicy

    public HlsContentProtection withKeyStoragePolicy(String keyStoragePolicy)

Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose `WithVariantPlaylists`, `LicenseAcquisitionUrl` must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

Parameters:
  `keyStoragePolicy` - Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose `WithVariantPlaylists`, `LicenseAcquisitionUrl` must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### toString

    public String toString()

Returns a string representation of this object; useful for testing and debugging.

Overrides:
  `toString` in class `Object`
Returns:
  A string representation of this object.
See Also:
  `Object.toString()`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### clone

    public HlsContentProtection clone()

Overrides:
  `clone` in class `Object`