/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The parameters for the SPEKE key provider.See Also:
AWS
* API Reference
Configure one or more content encryption keys for your endpoints that use * SPEKE Version 2.0. The encryption contract defines which content keys are used * to encrypt the audio and video tracks in your stream. To configure the * encryption contract, specify which audio and video encryption presets to * use.
*/ inline const EncryptionContractConfiguration& GetEncryptionContractConfiguration() const{ return m_encryptionContractConfiguration; } /** *Configure one or more content encryption keys for your endpoints that use * SPEKE Version 2.0. The encryption contract defines which content keys are used * to encrypt the audio and video tracks in your stream. To configure the * encryption contract, specify which audio and video encryption presets to * use.
*/ inline bool EncryptionContractConfigurationHasBeenSet() const { return m_encryptionContractConfigurationHasBeenSet; } /** *Configure one or more content encryption keys for your endpoints that use * SPEKE Version 2.0. The encryption contract defines which content keys are used * to encrypt the audio and video tracks in your stream. To configure the * encryption contract, specify which audio and video encryption presets to * use.
*/ inline void SetEncryptionContractConfiguration(const EncryptionContractConfiguration& value) { m_encryptionContractConfigurationHasBeenSet = true; m_encryptionContractConfiguration = value; } /** *Configure one or more content encryption keys for your endpoints that use * SPEKE Version 2.0. The encryption contract defines which content keys are used * to encrypt the audio and video tracks in your stream. To configure the * encryption contract, specify which audio and video encryption presets to * use.
*/ inline void SetEncryptionContractConfiguration(EncryptionContractConfiguration&& value) { m_encryptionContractConfigurationHasBeenSet = true; m_encryptionContractConfiguration = std::move(value); } /** *Configure one or more content encryption keys for your endpoints that use * SPEKE Version 2.0. The encryption contract defines which content keys are used * to encrypt the audio and video tracks in your stream. To configure the * encryption contract, specify which audio and video encryption presets to * use.
*/ inline SpekeKeyProvider& WithEncryptionContractConfiguration(const EncryptionContractConfiguration& value) { SetEncryptionContractConfiguration(value); return *this;} /** *Configure one or more content encryption keys for your endpoints that use * SPEKE Version 2.0. The encryption contract defines which content keys are used * to encrypt the audio and video tracks in your stream. To configure the * encryption contract, specify which audio and video encryption presets to * use.
*/ inline SpekeKeyProvider& WithEncryptionContractConfiguration(EncryptionContractConfiguration&& value) { SetEncryptionContractConfiguration(std::move(value)); return *this;} /** *The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The unique identifier for the content. The service sends this to the key * server to identify the current endpoint. How unique you make this depends on how * fine-grained you want access controls to be. The service does not permit you to * use the same ID for two simultaneous encryption processes. The resource ID is * also known as the content ID.
The following example shows a resource ID:
* MovieNight20171126093045
The DRM solution provider you're using to protect your content during * distribution.
*/ inline const Aws::VectorThe DRM solution provider you're using to protect your content during * distribution.
*/ inline bool DrmSystemsHasBeenSet() const { return m_drmSystemsHasBeenSet; } /** *The DRM solution provider you're using to protect your content during * distribution.
*/ inline void SetDrmSystems(const Aws::VectorThe DRM solution provider you're using to protect your content during * distribution.
*/ inline void SetDrmSystems(Aws::VectorThe DRM solution provider you're using to protect your content during * distribution.
*/ inline SpekeKeyProvider& WithDrmSystems(const Aws::VectorThe DRM solution provider you're using to protect your content during * distribution.
*/ inline SpekeKeyProvider& WithDrmSystems(Aws::VectorThe DRM solution provider you're using to protect your content during * distribution.
*/ inline SpekeKeyProvider& AddDrmSystems(const DrmSystem& value) { m_drmSystemsHasBeenSet = true; m_drmSystems.push_back(value); return *this; } /** *The DRM solution provider you're using to protect your content during * distribution.
*/ inline SpekeKeyProvider& AddDrmSystems(DrmSystem&& value) { m_drmSystemsHasBeenSet = true; m_drmSystems.push_back(std::move(value)); return *this; } /** *The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The ARN for the IAM role granted by the key provider that provides access to * the key provider API. This role must have a trust policy that allows * MediaPackage to assume the role, and it must have a sufficient permissions * policy to allow access to the specific key retrieval URL. Get this from your DRM * solution provider.
Valid format:
* arn:aws:iam::{accountID}:role/{name}
. The following example shows a
* role ARN: arn:aws:iam::444455556666:role/SpekeAccess
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*
The URL of the API Gateway proxy that you set up to talk to your key server. * The API Gateway proxy must reside in the same AWS Region as MediaPackage and * must start with https://.
The following example shows a URL:
* https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
*