com.pulumi.azurenative.media.outputs.CommonEncryptionCbcsResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
The 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.outputs;
import com.pulumi.azurenative.media.outputs.CbcsDrmConfigurationResponse;
import com.pulumi.azurenative.media.outputs.ClearKeyEncryptionConfigurationResponse;
import com.pulumi.azurenative.media.outputs.EnabledProtocolsResponse;
import com.pulumi.azurenative.media.outputs.StreamingPolicyContentKeysResponse;
import com.pulumi.azurenative.media.outputs.TrackSelectionResponse;
import com.pulumi.core.annotations.CustomType;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class CommonEncryptionCbcsResponse {
/**
* @return Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme.
*
*/
private @Nullable ClearKeyEncryptionConfigurationResponse clearKeyEncryptionConfiguration;
/**
* @return Representing which tracks should not be encrypted
*
*/
private @Nullable List clearTracks;
/**
* @return Representing default content key for each encryption scheme and separate content keys for specific tracks
*
*/
private @Nullable StreamingPolicyContentKeysResponse contentKeys;
/**
* @return Configuration of DRMs for current encryption scheme
*
*/
private @Nullable CbcsDrmConfigurationResponse drm;
/**
* @return Representing supported protocols
*
*/
private @Nullable EnabledProtocolsResponse enabledProtocols;
private CommonEncryptionCbcsResponse() {}
/**
* @return Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme.
*
*/
public Optional clearKeyEncryptionConfiguration() {
return Optional.ofNullable(this.clearKeyEncryptionConfiguration);
}
/**
* @return Representing which tracks should not be encrypted
*
*/
public List clearTracks() {
return this.clearTracks == null ? List.of() : this.clearTracks;
}
/**
* @return Representing default content key for each encryption scheme and separate content keys for specific tracks
*
*/
public Optional contentKeys() {
return Optional.ofNullable(this.contentKeys);
}
/**
* @return Configuration of DRMs for current encryption scheme
*
*/
public Optional drm() {
return Optional.ofNullable(this.drm);
}
/**
* @return Representing supported protocols
*
*/
public Optional enabledProtocols() {
return Optional.ofNullable(this.enabledProtocols);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CommonEncryptionCbcsResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable ClearKeyEncryptionConfigurationResponse clearKeyEncryptionConfiguration;
private @Nullable List clearTracks;
private @Nullable StreamingPolicyContentKeysResponse contentKeys;
private @Nullable CbcsDrmConfigurationResponse drm;
private @Nullable EnabledProtocolsResponse enabledProtocols;
public Builder() {}
public Builder(CommonEncryptionCbcsResponse defaults) {
Objects.requireNonNull(defaults);
this.clearKeyEncryptionConfiguration = defaults.clearKeyEncryptionConfiguration;
this.clearTracks = defaults.clearTracks;
this.contentKeys = defaults.contentKeys;
this.drm = defaults.drm;
this.enabledProtocols = defaults.enabledProtocols;
}
@CustomType.Setter
public Builder clearKeyEncryptionConfiguration(@Nullable ClearKeyEncryptionConfigurationResponse clearKeyEncryptionConfiguration) {
this.clearKeyEncryptionConfiguration = clearKeyEncryptionConfiguration;
return this;
}
@CustomType.Setter
public Builder clearTracks(@Nullable List clearTracks) {
this.clearTracks = clearTracks;
return this;
}
public Builder clearTracks(TrackSelectionResponse... clearTracks) {
return clearTracks(List.of(clearTracks));
}
@CustomType.Setter
public Builder contentKeys(@Nullable StreamingPolicyContentKeysResponse contentKeys) {
this.contentKeys = contentKeys;
return this;
}
@CustomType.Setter
public Builder drm(@Nullable CbcsDrmConfigurationResponse drm) {
this.drm = drm;
return this;
}
@CustomType.Setter
public Builder enabledProtocols(@Nullable EnabledProtocolsResponse enabledProtocols) {
this.enabledProtocols = enabledProtocols;
return this;
}
public CommonEncryptionCbcsResponse build() {
final var _resultValue = new CommonEncryptionCbcsResponse();
_resultValue.clearKeyEncryptionConfiguration = clearKeyEncryptionConfiguration;
_resultValue.clearTracks = clearTracks;
_resultValue.contentKeys = contentKeys;
_resultValue.drm = drm;
_resultValue.enabledProtocols = enabledProtocols;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy