com.pulumi.azurenative.videoanalyzer.outputs.VideoSinkResponse 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.
// *** 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.videoanalyzer.outputs;
import com.pulumi.azurenative.videoanalyzer.outputs.NodeInputResponse;
import com.pulumi.azurenative.videoanalyzer.outputs.VideoCreationPropertiesResponse;
import com.pulumi.azurenative.videoanalyzer.outputs.VideoPublishingOptionsResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class VideoSinkResponse {
/**
* @return An array of upstream node references within the topology to be used as inputs for this node.
*
*/
private List inputs;
/**
* @return Node name. Must be unique within the topology.
*
*/
private String name;
/**
* @return The discriminator for derived types.
* Expected value is '#Microsoft.VideoAnalyzer.VideoSink'.
*
*/
private String type;
/**
* @return Optional video properties to be used in case a new video resource needs to be created on the service.
*
*/
private @Nullable VideoCreationPropertiesResponse videoCreationProperties;
/**
* @return Name of a new or existing video resource used to capture and publish content. Note: if downstream of RTSP source, and if disableArchive is set to true, then no content is archived.
*
*/
private String videoName;
/**
* @return Options to change how the video sink publishes content via the video resource. This property is only allowed for topologies where "kind" is set to "live".
*
*/
private @Nullable VideoPublishingOptionsResponse videoPublishingOptions;
private VideoSinkResponse() {}
/**
* @return An array of upstream node references within the topology to be used as inputs for this node.
*
*/
public List inputs() {
return this.inputs;
}
/**
* @return Node name. Must be unique within the topology.
*
*/
public String name() {
return this.name;
}
/**
* @return The discriminator for derived types.
* Expected value is '#Microsoft.VideoAnalyzer.VideoSink'.
*
*/
public String type() {
return this.type;
}
/**
* @return Optional video properties to be used in case a new video resource needs to be created on the service.
*
*/
public Optional videoCreationProperties() {
return Optional.ofNullable(this.videoCreationProperties);
}
/**
* @return Name of a new or existing video resource used to capture and publish content. Note: if downstream of RTSP source, and if disableArchive is set to true, then no content is archived.
*
*/
public String videoName() {
return this.videoName;
}
/**
* @return Options to change how the video sink publishes content via the video resource. This property is only allowed for topologies where "kind" is set to "live".
*
*/
public Optional videoPublishingOptions() {
return Optional.ofNullable(this.videoPublishingOptions);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VideoSinkResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private List inputs;
private String name;
private String type;
private @Nullable VideoCreationPropertiesResponse videoCreationProperties;
private String videoName;
private @Nullable VideoPublishingOptionsResponse videoPublishingOptions;
public Builder() {}
public Builder(VideoSinkResponse defaults) {
Objects.requireNonNull(defaults);
this.inputs = defaults.inputs;
this.name = defaults.name;
this.type = defaults.type;
this.videoCreationProperties = defaults.videoCreationProperties;
this.videoName = defaults.videoName;
this.videoPublishingOptions = defaults.videoPublishingOptions;
}
@CustomType.Setter
public Builder inputs(List inputs) {
if (inputs == null) {
throw new MissingRequiredPropertyException("VideoSinkResponse", "inputs");
}
this.inputs = inputs;
return this;
}
public Builder inputs(NodeInputResponse... inputs) {
return inputs(List.of(inputs));
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("VideoSinkResponse", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("VideoSinkResponse", "type");
}
this.type = type;
return this;
}
@CustomType.Setter
public Builder videoCreationProperties(@Nullable VideoCreationPropertiesResponse videoCreationProperties) {
this.videoCreationProperties = videoCreationProperties;
return this;
}
@CustomType.Setter
public Builder videoName(String videoName) {
if (videoName == null) {
throw new MissingRequiredPropertyException("VideoSinkResponse", "videoName");
}
this.videoName = videoName;
return this;
}
@CustomType.Setter
public Builder videoPublishingOptions(@Nullable VideoPublishingOptionsResponse videoPublishingOptions) {
this.videoPublishingOptions = videoPublishingOptions;
return this;
}
public VideoSinkResponse build() {
final var _resultValue = new VideoSinkResponse();
_resultValue.inputs = inputs;
_resultValue.name = name;
_resultValue.type = type;
_resultValue.videoCreationProperties = videoCreationProperties;
_resultValue.videoName = videoName;
_resultValue.videoPublishingOptions = videoPublishingOptions;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy