import { Value } from '../../../cloudformation/Value';
import { EncryptionContractConfigurationProps } from './EncryptionContractConfigurationProps';
/**
  The parameters for the SPEKE key provider.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-spekekeyprovider.html">the AWS Docs</a>
*/
export interface SpekeKeyProviderProps {
    /** <code>DrmSystems</code>  <a name="cfn-mediapackagev2-originendpoint-spekekeyprovider-drmsystems"></a>
  The DRM solution provider you’re using to protect your content during distribution.<br />
  
  Required: Yes<br />
  
  Maximum: <code>4</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    drmSystems: Value<Value<string>[]>;
    /** <code>ResourceId</code>  <a name="cfn-mediapackagev2-originendpoint-spekekeyprovider-resourceid"></a>
  The unique identifier for the content. The service sends this identifier to the key server to identify the current endpoint. How unique you make this identifier 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.<br />
  The following example shows a resource ID: <code>MovieNight20171126093045</code><br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>[0-9a-zA-Z_-]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    resourceId: Value<string>;
    /** <code>EncryptionContractConfiguration</code>  <a name="cfn-mediapackagev2-originendpoint-spekekeyprovider-encryptioncontractconfiguration"></a>
  The encryption contract configuration associated with the SPEKE key provider.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    encryptionContractConfiguration: EncryptionContractConfigurationProps;
    /** <code>RoleArn</code>  <a name="cfn-mediapackagev2-originendpoint-spekekeyprovider-rolearn"></a>
  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.<br />
  Valid format: <code>arn:aws:iam::{accountID}:role/{name}</code>. The following example shows a role ARN: <code>arn:aws:iam::444455556666:role/SpekeAccess</code><br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    roleArn: Value<string>;
    /** <code>Url</code>  <a name="cfn-mediapackagev2-originendpoint-spekekeyprovider-url"></a>
  The URL of the SPEKE key provider.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    url: Value<string>;
}
