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

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

There is a newer version: 2.89.2
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.enums.ContentKeyPolicyPlayReadyUnknownOutputPassingOption;
import com.pulumi.azurenative.media.inputs.ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestrictionArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Configures the Play Right in the PlayReady license.
 * 
 */
public final class ContentKeyPolicyPlayReadyPlayRightArgs extends com.pulumi.resources.ResourceArgs {

    public static final ContentKeyPolicyPlayReadyPlayRightArgs Empty = new ContentKeyPolicyPlayReadyPlayRightArgs();

    /**
     * Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
     * 
     */
    @Import(name="agcAndColorStripeRestriction")
    private @Nullable Output agcAndColorStripeRestriction;

    /**
     * @return Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
     * 
     */
    public Optional> agcAndColorStripeRestriction() {
        return Optional.ofNullable(this.agcAndColorStripeRestriction);
    }

    /**
     * Configures Unknown output handling settings of the license.
     * 
     */
    @Import(name="allowPassingVideoContentToUnknownOutput", required=true)
    private Output> allowPassingVideoContentToUnknownOutput;

    /**
     * @return Configures Unknown output handling settings of the license.
     * 
     */
    public Output> allowPassingVideoContentToUnknownOutput() {
        return this.allowPassingVideoContentToUnknownOutput;
    }

    /**
     * Specifies the output protection level for compressed digital audio.
     * 
     */
    @Import(name="analogVideoOpl")
    private @Nullable Output analogVideoOpl;

    /**
     * @return Specifies the output protection level for compressed digital audio.
     * 
     */
    public Optional> analogVideoOpl() {
        return Optional.ofNullable(this.analogVideoOpl);
    }

    /**
     * Specifies the output protection level for compressed digital audio.
     * 
     */
    @Import(name="compressedDigitalAudioOpl")
    private @Nullable Output compressedDigitalAudioOpl;

    /**
     * @return Specifies the output protection level for compressed digital audio.
     * 
     */
    public Optional> compressedDigitalAudioOpl() {
        return Optional.ofNullable(this.compressedDigitalAudioOpl);
    }

    /**
     * Specifies the output protection level for compressed digital video.
     * 
     */
    @Import(name="compressedDigitalVideoOpl")
    private @Nullable Output compressedDigitalVideoOpl;

    /**
     * @return Specifies the output protection level for compressed digital video.
     * 
     */
    public Optional> compressedDigitalVideoOpl() {
        return Optional.ofNullable(this.compressedDigitalVideoOpl);
    }

    /**
     * Enables the Image Constraint For Analog Component Video Restriction in the license.
     * 
     */
    @Import(name="digitalVideoOnlyContentRestriction", required=true)
    private Output digitalVideoOnlyContentRestriction;

    /**
     * @return Enables the Image Constraint For Analog Component Video Restriction in the license.
     * 
     */
    public Output digitalVideoOnlyContentRestriction() {
        return this.digitalVideoOnlyContentRestriction;
    }

    /**
     * Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
     * 
     */
    @Import(name="explicitAnalogTelevisionOutputRestriction")
    private @Nullable Output explicitAnalogTelevisionOutputRestriction;

    /**
     * @return Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
     * 
     */
    public Optional> explicitAnalogTelevisionOutputRestriction() {
        return Optional.ofNullable(this.explicitAnalogTelevisionOutputRestriction);
    }

    /**
     * The amount of time that the license is valid after the license is first used to play content.
     * 
     */
    @Import(name="firstPlayExpiration")
    private @Nullable Output firstPlayExpiration;

    /**
     * @return The amount of time that the license is valid after the license is first used to play content.
     * 
     */
    public Optional> firstPlayExpiration() {
        return Optional.ofNullable(this.firstPlayExpiration);
    }

    /**
     * Enables the Image Constraint For Analog Component Video Restriction in the license.
     * 
     */
    @Import(name="imageConstraintForAnalogComponentVideoRestriction", required=true)
    private Output imageConstraintForAnalogComponentVideoRestriction;

    /**
     * @return Enables the Image Constraint For Analog Component Video Restriction in the license.
     * 
     */
    public Output imageConstraintForAnalogComponentVideoRestriction() {
        return this.imageConstraintForAnalogComponentVideoRestriction;
    }

    /**
     * Enables the Image Constraint For Analog Component Video Restriction in the license.
     * 
     */
    @Import(name="imageConstraintForAnalogComputerMonitorRestriction", required=true)
    private Output imageConstraintForAnalogComputerMonitorRestriction;

    /**
     * @return Enables the Image Constraint For Analog Component Video Restriction in the license.
     * 
     */
    public Output imageConstraintForAnalogComputerMonitorRestriction() {
        return this.imageConstraintForAnalogComputerMonitorRestriction;
    }

    /**
     * Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
     * 
     */
    @Import(name="scmsRestriction")
    private @Nullable Output scmsRestriction;

    /**
     * @return Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
     * 
     */
    public Optional> scmsRestriction() {
        return Optional.ofNullable(this.scmsRestriction);
    }

    /**
     * Specifies the output protection level for uncompressed digital audio.
     * 
     */
    @Import(name="uncompressedDigitalAudioOpl")
    private @Nullable Output uncompressedDigitalAudioOpl;

    /**
     * @return Specifies the output protection level for uncompressed digital audio.
     * 
     */
    public Optional> uncompressedDigitalAudioOpl() {
        return Optional.ofNullable(this.uncompressedDigitalAudioOpl);
    }

    /**
     * Specifies the output protection level for uncompressed digital video.
     * 
     */
    @Import(name="uncompressedDigitalVideoOpl")
    private @Nullable Output uncompressedDigitalVideoOpl;

    /**
     * @return Specifies the output protection level for uncompressed digital video.
     * 
     */
    public Optional> uncompressedDigitalVideoOpl() {
        return Optional.ofNullable(this.uncompressedDigitalVideoOpl);
    }

    private ContentKeyPolicyPlayReadyPlayRightArgs() {}

    private ContentKeyPolicyPlayReadyPlayRightArgs(ContentKeyPolicyPlayReadyPlayRightArgs $) {
        this.agcAndColorStripeRestriction = $.agcAndColorStripeRestriction;
        this.allowPassingVideoContentToUnknownOutput = $.allowPassingVideoContentToUnknownOutput;
        this.analogVideoOpl = $.analogVideoOpl;
        this.compressedDigitalAudioOpl = $.compressedDigitalAudioOpl;
        this.compressedDigitalVideoOpl = $.compressedDigitalVideoOpl;
        this.digitalVideoOnlyContentRestriction = $.digitalVideoOnlyContentRestriction;
        this.explicitAnalogTelevisionOutputRestriction = $.explicitAnalogTelevisionOutputRestriction;
        this.firstPlayExpiration = $.firstPlayExpiration;
        this.imageConstraintForAnalogComponentVideoRestriction = $.imageConstraintForAnalogComponentVideoRestriction;
        this.imageConstraintForAnalogComputerMonitorRestriction = $.imageConstraintForAnalogComputerMonitorRestriction;
        this.scmsRestriction = $.scmsRestriction;
        this.uncompressedDigitalAudioOpl = $.uncompressedDigitalAudioOpl;
        this.uncompressedDigitalVideoOpl = $.uncompressedDigitalVideoOpl;
    }

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

    public static final class Builder {
        private ContentKeyPolicyPlayReadyPlayRightArgs $;

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

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

        /**
         * @param agcAndColorStripeRestriction Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
         * 
         * @return builder
         * 
         */
        public Builder agcAndColorStripeRestriction(@Nullable Output agcAndColorStripeRestriction) {
            $.agcAndColorStripeRestriction = agcAndColorStripeRestriction;
            return this;
        }

        /**
         * @param agcAndColorStripeRestriction Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
         * 
         * @return builder
         * 
         */
        public Builder agcAndColorStripeRestriction(Integer agcAndColorStripeRestriction) {
            return agcAndColorStripeRestriction(Output.of(agcAndColorStripeRestriction));
        }

        /**
         * @param allowPassingVideoContentToUnknownOutput Configures Unknown output handling settings of the license.
         * 
         * @return builder
         * 
         */
        public Builder allowPassingVideoContentToUnknownOutput(Output> allowPassingVideoContentToUnknownOutput) {
            $.allowPassingVideoContentToUnknownOutput = allowPassingVideoContentToUnknownOutput;
            return this;
        }

        /**
         * @param allowPassingVideoContentToUnknownOutput Configures Unknown output handling settings of the license.
         * 
         * @return builder
         * 
         */
        public Builder allowPassingVideoContentToUnknownOutput(Either allowPassingVideoContentToUnknownOutput) {
            return allowPassingVideoContentToUnknownOutput(Output.of(allowPassingVideoContentToUnknownOutput));
        }

        /**
         * @param allowPassingVideoContentToUnknownOutput Configures Unknown output handling settings of the license.
         * 
         * @return builder
         * 
         */
        public Builder allowPassingVideoContentToUnknownOutput(String allowPassingVideoContentToUnknownOutput) {
            return allowPassingVideoContentToUnknownOutput(Either.ofLeft(allowPassingVideoContentToUnknownOutput));
        }

        /**
         * @param allowPassingVideoContentToUnknownOutput Configures Unknown output handling settings of the license.
         * 
         * @return builder
         * 
         */
        public Builder allowPassingVideoContentToUnknownOutput(ContentKeyPolicyPlayReadyUnknownOutputPassingOption allowPassingVideoContentToUnknownOutput) {
            return allowPassingVideoContentToUnknownOutput(Either.ofRight(allowPassingVideoContentToUnknownOutput));
        }

        /**
         * @param analogVideoOpl Specifies the output protection level for compressed digital audio.
         * 
         * @return builder
         * 
         */
        public Builder analogVideoOpl(@Nullable Output analogVideoOpl) {
            $.analogVideoOpl = analogVideoOpl;
            return this;
        }

        /**
         * @param analogVideoOpl Specifies the output protection level for compressed digital audio.
         * 
         * @return builder
         * 
         */
        public Builder analogVideoOpl(Integer analogVideoOpl) {
            return analogVideoOpl(Output.of(analogVideoOpl));
        }

        /**
         * @param compressedDigitalAudioOpl Specifies the output protection level for compressed digital audio.
         * 
         * @return builder
         * 
         */
        public Builder compressedDigitalAudioOpl(@Nullable Output compressedDigitalAudioOpl) {
            $.compressedDigitalAudioOpl = compressedDigitalAudioOpl;
            return this;
        }

        /**
         * @param compressedDigitalAudioOpl Specifies the output protection level for compressed digital audio.
         * 
         * @return builder
         * 
         */
        public Builder compressedDigitalAudioOpl(Integer compressedDigitalAudioOpl) {
            return compressedDigitalAudioOpl(Output.of(compressedDigitalAudioOpl));
        }

        /**
         * @param compressedDigitalVideoOpl Specifies the output protection level for compressed digital video.
         * 
         * @return builder
         * 
         */
        public Builder compressedDigitalVideoOpl(@Nullable Output compressedDigitalVideoOpl) {
            $.compressedDigitalVideoOpl = compressedDigitalVideoOpl;
            return this;
        }

        /**
         * @param compressedDigitalVideoOpl Specifies the output protection level for compressed digital video.
         * 
         * @return builder
         * 
         */
        public Builder compressedDigitalVideoOpl(Integer compressedDigitalVideoOpl) {
            return compressedDigitalVideoOpl(Output.of(compressedDigitalVideoOpl));
        }

        /**
         * @param digitalVideoOnlyContentRestriction Enables the Image Constraint For Analog Component Video Restriction in the license.
         * 
         * @return builder
         * 
         */
        public Builder digitalVideoOnlyContentRestriction(Output digitalVideoOnlyContentRestriction) {
            $.digitalVideoOnlyContentRestriction = digitalVideoOnlyContentRestriction;
            return this;
        }

        /**
         * @param digitalVideoOnlyContentRestriction Enables the Image Constraint For Analog Component Video Restriction in the license.
         * 
         * @return builder
         * 
         */
        public Builder digitalVideoOnlyContentRestriction(Boolean digitalVideoOnlyContentRestriction) {
            return digitalVideoOnlyContentRestriction(Output.of(digitalVideoOnlyContentRestriction));
        }

        /**
         * @param explicitAnalogTelevisionOutputRestriction Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
         * 
         * @return builder
         * 
         */
        public Builder explicitAnalogTelevisionOutputRestriction(@Nullable Output explicitAnalogTelevisionOutputRestriction) {
            $.explicitAnalogTelevisionOutputRestriction = explicitAnalogTelevisionOutputRestriction;
            return this;
        }

        /**
         * @param explicitAnalogTelevisionOutputRestriction Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
         * 
         * @return builder
         * 
         */
        public Builder explicitAnalogTelevisionOutputRestriction(ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestrictionArgs explicitAnalogTelevisionOutputRestriction) {
            return explicitAnalogTelevisionOutputRestriction(Output.of(explicitAnalogTelevisionOutputRestriction));
        }

        /**
         * @param firstPlayExpiration The amount of time that the license is valid after the license is first used to play content.
         * 
         * @return builder
         * 
         */
        public Builder firstPlayExpiration(@Nullable Output firstPlayExpiration) {
            $.firstPlayExpiration = firstPlayExpiration;
            return this;
        }

        /**
         * @param firstPlayExpiration The amount of time that the license is valid after the license is first used to play content.
         * 
         * @return builder
         * 
         */
        public Builder firstPlayExpiration(String firstPlayExpiration) {
            return firstPlayExpiration(Output.of(firstPlayExpiration));
        }

        /**
         * @param imageConstraintForAnalogComponentVideoRestriction Enables the Image Constraint For Analog Component Video Restriction in the license.
         * 
         * @return builder
         * 
         */
        public Builder imageConstraintForAnalogComponentVideoRestriction(Output imageConstraintForAnalogComponentVideoRestriction) {
            $.imageConstraintForAnalogComponentVideoRestriction = imageConstraintForAnalogComponentVideoRestriction;
            return this;
        }

        /**
         * @param imageConstraintForAnalogComponentVideoRestriction Enables the Image Constraint For Analog Component Video Restriction in the license.
         * 
         * @return builder
         * 
         */
        public Builder imageConstraintForAnalogComponentVideoRestriction(Boolean imageConstraintForAnalogComponentVideoRestriction) {
            return imageConstraintForAnalogComponentVideoRestriction(Output.of(imageConstraintForAnalogComponentVideoRestriction));
        }

        /**
         * @param imageConstraintForAnalogComputerMonitorRestriction Enables the Image Constraint For Analog Component Video Restriction in the license.
         * 
         * @return builder
         * 
         */
        public Builder imageConstraintForAnalogComputerMonitorRestriction(Output imageConstraintForAnalogComputerMonitorRestriction) {
            $.imageConstraintForAnalogComputerMonitorRestriction = imageConstraintForAnalogComputerMonitorRestriction;
            return this;
        }

        /**
         * @param imageConstraintForAnalogComputerMonitorRestriction Enables the Image Constraint For Analog Component Video Restriction in the license.
         * 
         * @return builder
         * 
         */
        public Builder imageConstraintForAnalogComputerMonitorRestriction(Boolean imageConstraintForAnalogComputerMonitorRestriction) {
            return imageConstraintForAnalogComputerMonitorRestriction(Output.of(imageConstraintForAnalogComputerMonitorRestriction));
        }

        /**
         * @param scmsRestriction Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
         * 
         * @return builder
         * 
         */
        public Builder scmsRestriction(@Nullable Output scmsRestriction) {
            $.scmsRestriction = scmsRestriction;
            return this;
        }

        /**
         * @param scmsRestriction Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
         * 
         * @return builder
         * 
         */
        public Builder scmsRestriction(Integer scmsRestriction) {
            return scmsRestriction(Output.of(scmsRestriction));
        }

        /**
         * @param uncompressedDigitalAudioOpl Specifies the output protection level for uncompressed digital audio.
         * 
         * @return builder
         * 
         */
        public Builder uncompressedDigitalAudioOpl(@Nullable Output uncompressedDigitalAudioOpl) {
            $.uncompressedDigitalAudioOpl = uncompressedDigitalAudioOpl;
            return this;
        }

        /**
         * @param uncompressedDigitalAudioOpl Specifies the output protection level for uncompressed digital audio.
         * 
         * @return builder
         * 
         */
        public Builder uncompressedDigitalAudioOpl(Integer uncompressedDigitalAudioOpl) {
            return uncompressedDigitalAudioOpl(Output.of(uncompressedDigitalAudioOpl));
        }

        /**
         * @param uncompressedDigitalVideoOpl Specifies the output protection level for uncompressed digital video.
         * 
         * @return builder
         * 
         */
        public Builder uncompressedDigitalVideoOpl(@Nullable Output uncompressedDigitalVideoOpl) {
            $.uncompressedDigitalVideoOpl = uncompressedDigitalVideoOpl;
            return this;
        }

        /**
         * @param uncompressedDigitalVideoOpl Specifies the output protection level for uncompressed digital video.
         * 
         * @return builder
         * 
         */
        public Builder uncompressedDigitalVideoOpl(Integer uncompressedDigitalVideoOpl) {
            return uncompressedDigitalVideoOpl(Output.of(uncompressedDigitalVideoOpl));
        }

        public ContentKeyPolicyPlayReadyPlayRightArgs build() {
            if ($.allowPassingVideoContentToUnknownOutput == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyPlayReadyPlayRightArgs", "allowPassingVideoContentToUnknownOutput");
            }
            if ($.digitalVideoOnlyContentRestriction == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyPlayReadyPlayRightArgs", "digitalVideoOnlyContentRestriction");
            }
            if ($.imageConstraintForAnalogComponentVideoRestriction == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyPlayReadyPlayRightArgs", "imageConstraintForAnalogComponentVideoRestriction");
            }
            if ($.imageConstraintForAnalogComputerMonitorRestriction == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyPlayReadyPlayRightArgs", "imageConstraintForAnalogComputerMonitorRestriction");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy