All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.media.inputs.EnvelopeEncryptionArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.azurenative.media.inputs;

import com.pulumi.azurenative.media.inputs.EnabledProtocolsArgs;
import com.pulumi.azurenative.media.inputs.StreamingPolicyContentKeysArgs;
import com.pulumi.azurenative.media.inputs.TrackSelectionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Class for EnvelopeEncryption encryption scheme
 * 
 */
public final class EnvelopeEncryptionArgs extends com.pulumi.resources.ResourceArgs {

    public static final EnvelopeEncryptionArgs Empty = new EnvelopeEncryptionArgs();

    /**
     * Representing which tracks should not be encrypted
     * 
     */
    @Import(name="clearTracks")
    private @Nullable Output> clearTracks;

    /**
     * @return Representing which tracks should not be encrypted
     * 
     */
    public Optional>> clearTracks() {
        return Optional.ofNullable(this.clearTracks);
    }

    /**
     * Representing default content key for each encryption scheme and separate content keys for specific tracks
     * 
     */
    @Import(name="contentKeys")
    private @Nullable Output contentKeys;

    /**
     * @return Representing default content key for each encryption scheme and separate content keys for specific tracks
     * 
     */
    public Optional> contentKeys() {
        return Optional.ofNullable(this.contentKeys);
    }

    /**
     * Template for the URL of the custom service delivering keys to end user players.  Not required when using Azure Media Services for issuing keys.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
     * 
     */
    @Import(name="customKeyAcquisitionUrlTemplate")
    private @Nullable Output customKeyAcquisitionUrlTemplate;

    /**
     * @return Template for the URL of the custom service delivering keys to end user players.  Not required when using Azure Media Services for issuing keys.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
     * 
     */
    public Optional> customKeyAcquisitionUrlTemplate() {
        return Optional.ofNullable(this.customKeyAcquisitionUrlTemplate);
    }

    /**
     * Representing supported protocols
     * 
     */
    @Import(name="enabledProtocols")
    private @Nullable Output enabledProtocols;

    /**
     * @return Representing supported protocols
     * 
     */
    public Optional> enabledProtocols() {
        return Optional.ofNullable(this.enabledProtocols);
    }

    private EnvelopeEncryptionArgs() {}

    private EnvelopeEncryptionArgs(EnvelopeEncryptionArgs $) {
        this.clearTracks = $.clearTracks;
        this.contentKeys = $.contentKeys;
        this.customKeyAcquisitionUrlTemplate = $.customKeyAcquisitionUrlTemplate;
        this.enabledProtocols = $.enabledProtocols;
    }

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

    public static final class Builder {
        private EnvelopeEncryptionArgs $;

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

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

        /**
         * @param clearTracks Representing which tracks should not be encrypted
         * 
         * @return builder
         * 
         */
        public Builder clearTracks(@Nullable Output> clearTracks) {
            $.clearTracks = clearTracks;
            return this;
        }

        /**
         * @param clearTracks Representing which tracks should not be encrypted
         * 
         * @return builder
         * 
         */
        public Builder clearTracks(List clearTracks) {
            return clearTracks(Output.of(clearTracks));
        }

        /**
         * @param clearTracks Representing which tracks should not be encrypted
         * 
         * @return builder
         * 
         */
        public Builder clearTracks(TrackSelectionArgs... clearTracks) {
            return clearTracks(List.of(clearTracks));
        }

        /**
         * @param contentKeys Representing default content key for each encryption scheme and separate content keys for specific tracks
         * 
         * @return builder
         * 
         */
        public Builder contentKeys(@Nullable Output contentKeys) {
            $.contentKeys = contentKeys;
            return this;
        }

        /**
         * @param contentKeys Representing default content key for each encryption scheme and separate content keys for specific tracks
         * 
         * @return builder
         * 
         */
        public Builder contentKeys(StreamingPolicyContentKeysArgs contentKeys) {
            return contentKeys(Output.of(contentKeys));
        }

        /**
         * @param customKeyAcquisitionUrlTemplate Template for the URL of the custom service delivering keys to end user players.  Not required when using Azure Media Services for issuing keys.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
         * 
         * @return builder
         * 
         */
        public Builder customKeyAcquisitionUrlTemplate(@Nullable Output customKeyAcquisitionUrlTemplate) {
            $.customKeyAcquisitionUrlTemplate = customKeyAcquisitionUrlTemplate;
            return this;
        }

        /**
         * @param customKeyAcquisitionUrlTemplate Template for the URL of the custom service delivering keys to end user players.  Not required when using Azure Media Services for issuing keys.  The template supports replaceable tokens that the service will update at runtime with the value specific to the request.  The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested.
         * 
         * @return builder
         * 
         */
        public Builder customKeyAcquisitionUrlTemplate(String customKeyAcquisitionUrlTemplate) {
            return customKeyAcquisitionUrlTemplate(Output.of(customKeyAcquisitionUrlTemplate));
        }

        /**
         * @param enabledProtocols Representing supported protocols
         * 
         * @return builder
         * 
         */
        public Builder enabledProtocols(@Nullable Output enabledProtocols) {
            $.enabledProtocols = enabledProtocols;
            return this;
        }

        /**
         * @param enabledProtocols Representing supported protocols
         * 
         * @return builder
         * 
         */
        public Builder enabledProtocols(EnabledProtocolsArgs enabledProtocols) {
            return enabledProtocols(Output.of(enabledProtocols));
        }

        public EnvelopeEncryptionArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy