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

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

There is a newer version: 2.72.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.enums.ContentKeyPolicyFairPlayRentalAndLeaseKeyType;
import com.pulumi.azurenative.media.inputs.ContentKeyPolicyFairPlayOfflineRentalConfigurationArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Specifies a configuration for FairPlay licenses.
 * 
 */
public final class ContentKeyPolicyFairPlayConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final ContentKeyPolicyFairPlayConfigurationArgs Empty = new ContentKeyPolicyFairPlayConfigurationArgs();

    /**
     * The key that must be used as FairPlay Application Secret key. This needs to be base64 encoded.
     * 
     */
    @Import(name="ask", required=true)
    private Output ask;

    /**
     * @return The key that must be used as FairPlay Application Secret key. This needs to be base64 encoded.
     * 
     */
    public Output ask() {
        return this.ask;
    }

    /**
     * The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
     * 
     */
    @Import(name="fairPlayPfx", required=true)
    private Output fairPlayPfx;

    /**
     * @return The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
     * 
     */
    public Output fairPlayPfx() {
        return this.fairPlayPfx;
    }

    /**
     * The password encrypting FairPlay certificate in PKCS 12 (pfx) format.
     * 
     */
    @Import(name="fairPlayPfxPassword", required=true)
    private Output fairPlayPfxPassword;

    /**
     * @return The password encrypting FairPlay certificate in PKCS 12 (pfx) format.
     * 
     */
    public Output fairPlayPfxPassword() {
        return this.fairPlayPfxPassword;
    }

    /**
     * The discriminator for derived types.
     * Expected value is '#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration'.
     * 
     */
    @Import(name="odataType", required=true)
    private Output odataType;

    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration'.
     * 
     */
    public Output odataType() {
        return this.odataType;
    }

    /**
     * Offline rental policy
     * 
     */
    @Import(name="offlineRentalConfiguration")
    private @Nullable Output offlineRentalConfiguration;

    /**
     * @return Offline rental policy
     * 
     */
    public Optional> offlineRentalConfiguration() {
        return Optional.ofNullable(this.offlineRentalConfiguration);
    }

    /**
     * The rental and lease key type.
     * 
     */
    @Import(name="rentalAndLeaseKeyType", required=true)
    private Output> rentalAndLeaseKeyType;

    /**
     * @return The rental and lease key type.
     * 
     */
    public Output> rentalAndLeaseKeyType() {
        return this.rentalAndLeaseKeyType;
    }

    /**
     * The rental duration. Must be greater than or equal to 0.
     * 
     */
    @Import(name="rentalDuration", required=true)
    private Output rentalDuration;

    /**
     * @return The rental duration. Must be greater than or equal to 0.
     * 
     */
    public Output rentalDuration() {
        return this.rentalDuration;
    }

    private ContentKeyPolicyFairPlayConfigurationArgs() {}

    private ContentKeyPolicyFairPlayConfigurationArgs(ContentKeyPolicyFairPlayConfigurationArgs $) {
        this.ask = $.ask;
        this.fairPlayPfx = $.fairPlayPfx;
        this.fairPlayPfxPassword = $.fairPlayPfxPassword;
        this.odataType = $.odataType;
        this.offlineRentalConfiguration = $.offlineRentalConfiguration;
        this.rentalAndLeaseKeyType = $.rentalAndLeaseKeyType;
        this.rentalDuration = $.rentalDuration;
    }

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

    public static final class Builder {
        private ContentKeyPolicyFairPlayConfigurationArgs $;

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

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

        /**
         * @param ask The key that must be used as FairPlay Application Secret key. This needs to be base64 encoded.
         * 
         * @return builder
         * 
         */
        public Builder ask(Output ask) {
            $.ask = ask;
            return this;
        }

        /**
         * @param ask The key that must be used as FairPlay Application Secret key. This needs to be base64 encoded.
         * 
         * @return builder
         * 
         */
        public Builder ask(String ask) {
            return ask(Output.of(ask));
        }

        /**
         * @param fairPlayPfx The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
         * 
         * @return builder
         * 
         */
        public Builder fairPlayPfx(Output fairPlayPfx) {
            $.fairPlayPfx = fairPlayPfx;
            return this;
        }

        /**
         * @param fairPlayPfx The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
         * 
         * @return builder
         * 
         */
        public Builder fairPlayPfx(String fairPlayPfx) {
            return fairPlayPfx(Output.of(fairPlayPfx));
        }

        /**
         * @param fairPlayPfxPassword The password encrypting FairPlay certificate in PKCS 12 (pfx) format.
         * 
         * @return builder
         * 
         */
        public Builder fairPlayPfxPassword(Output fairPlayPfxPassword) {
            $.fairPlayPfxPassword = fairPlayPfxPassword;
            return this;
        }

        /**
         * @param fairPlayPfxPassword The password encrypting FairPlay certificate in PKCS 12 (pfx) format.
         * 
         * @return builder
         * 
         */
        public Builder fairPlayPfxPassword(String fairPlayPfxPassword) {
            return fairPlayPfxPassword(Output.of(fairPlayPfxPassword));
        }

        /**
         * @param odataType The discriminator for derived types.
         * Expected value is '#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration'.
         * 
         * @return builder
         * 
         */
        public Builder odataType(Output odataType) {
            $.odataType = odataType;
            return this;
        }

        /**
         * @param odataType The discriminator for derived types.
         * Expected value is '#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration'.
         * 
         * @return builder
         * 
         */
        public Builder odataType(String odataType) {
            return odataType(Output.of(odataType));
        }

        /**
         * @param offlineRentalConfiguration Offline rental policy
         * 
         * @return builder
         * 
         */
        public Builder offlineRentalConfiguration(@Nullable Output offlineRentalConfiguration) {
            $.offlineRentalConfiguration = offlineRentalConfiguration;
            return this;
        }

        /**
         * @param offlineRentalConfiguration Offline rental policy
         * 
         * @return builder
         * 
         */
        public Builder offlineRentalConfiguration(ContentKeyPolicyFairPlayOfflineRentalConfigurationArgs offlineRentalConfiguration) {
            return offlineRentalConfiguration(Output.of(offlineRentalConfiguration));
        }

        /**
         * @param rentalAndLeaseKeyType The rental and lease key type.
         * 
         * @return builder
         * 
         */
        public Builder rentalAndLeaseKeyType(Output> rentalAndLeaseKeyType) {
            $.rentalAndLeaseKeyType = rentalAndLeaseKeyType;
            return this;
        }

        /**
         * @param rentalAndLeaseKeyType The rental and lease key type.
         * 
         * @return builder
         * 
         */
        public Builder rentalAndLeaseKeyType(Either rentalAndLeaseKeyType) {
            return rentalAndLeaseKeyType(Output.of(rentalAndLeaseKeyType));
        }

        /**
         * @param rentalAndLeaseKeyType The rental and lease key type.
         * 
         * @return builder
         * 
         */
        public Builder rentalAndLeaseKeyType(String rentalAndLeaseKeyType) {
            return rentalAndLeaseKeyType(Either.ofLeft(rentalAndLeaseKeyType));
        }

        /**
         * @param rentalAndLeaseKeyType The rental and lease key type.
         * 
         * @return builder
         * 
         */
        public Builder rentalAndLeaseKeyType(ContentKeyPolicyFairPlayRentalAndLeaseKeyType rentalAndLeaseKeyType) {
            return rentalAndLeaseKeyType(Either.ofRight(rentalAndLeaseKeyType));
        }

        /**
         * @param rentalDuration The rental duration. Must be greater than or equal to 0.
         * 
         * @return builder
         * 
         */
        public Builder rentalDuration(Output rentalDuration) {
            $.rentalDuration = rentalDuration;
            return this;
        }

        /**
         * @param rentalDuration The rental duration. Must be greater than or equal to 0.
         * 
         * @return builder
         * 
         */
        public Builder rentalDuration(Double rentalDuration) {
            return rentalDuration(Output.of(rentalDuration));
        }

        public ContentKeyPolicyFairPlayConfigurationArgs build() {
            if ($.ask == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyFairPlayConfigurationArgs", "ask");
            }
            if ($.fairPlayPfx == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyFairPlayConfigurationArgs", "fairPlayPfx");
            }
            if ($.fairPlayPfxPassword == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyFairPlayConfigurationArgs", "fairPlayPfxPassword");
            }
            $.odataType = Codegen.stringProp("odataType").output().arg($.odataType).require();
            if ($.rentalAndLeaseKeyType == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyFairPlayConfigurationArgs", "rentalAndLeaseKeyType");
            }
            if ($.rentalDuration == null) {
                throw new MissingRequiredPropertyException("ContentKeyPolicyFairPlayConfigurationArgs", "rentalDuration");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy