// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.media.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;


public final class StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs extends com.pulumi.resources.ResourceArgs {

    public static final StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs Empty = new StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs();

    /**
     * The URL template for the custom service that delivers content keys to the end user. This is not required when using Azure Media Services for issuing keys. Changing this forces a new Streaming Policy to be created.
     * 
     * &gt; **Note** Either `clear_key_encryption` or `drm` must be specified.
     * 
     */
    @Import(name="customKeysAcquisitionUrlTemplate", required=true)
    private Output<String> customKeysAcquisitionUrlTemplate;

    /**
     * @return The URL template for the custom service that delivers content keys to the end user. This is not required when using Azure Media Services for issuing keys. Changing this forces a new Streaming Policy to be created.
     * 
     * &gt; **Note** Either `clear_key_encryption` or `drm` must be specified.
     * 
     */
    public Output<String> customKeysAcquisitionUrlTemplate() {
        return this.customKeysAcquisitionUrlTemplate;
    }

    private StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs() {}

    private StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs(StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs $) {
        this.customKeysAcquisitionUrlTemplate = $.customKeysAcquisitionUrlTemplate;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs $;

        public Builder() {
            $ = new StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs();
        }

        public Builder(StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs defaults) {
            $ = new StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param customKeysAcquisitionUrlTemplate The URL template for the custom service that delivers content keys to the end user. This is not required when using Azure Media Services for issuing keys. Changing this forces a new Streaming Policy to be created.
         * 
         * &gt; **Note** Either `clear_key_encryption` or `drm` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder customKeysAcquisitionUrlTemplate(Output<String> customKeysAcquisitionUrlTemplate) {
            $.customKeysAcquisitionUrlTemplate = customKeysAcquisitionUrlTemplate;
            return this;
        }

        /**
         * @param customKeysAcquisitionUrlTemplate The URL template for the custom service that delivers content keys to the end user. This is not required when using Azure Media Services for issuing keys. Changing this forces a new Streaming Policy to be created.
         * 
         * &gt; **Note** Either `clear_key_encryption` or `drm` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder customKeysAcquisitionUrlTemplate(String customKeysAcquisitionUrlTemplate) {
            return customKeysAcquisitionUrlTemplate(Output.of(customKeysAcquisitionUrlTemplate));
        }

        public StreamingPolicyCommonEncryptionCencClearKeyEncryptionArgs build() {
            $.customKeysAcquisitionUrlTemplate = Objects.requireNonNull($.customKeysAcquisitionUrlTemplate, "expected parameter 'customKeysAcquisitionUrlTemplate' to be non-null");
            return $;
        }
    }

}
