software.amazon.awscdk.services.ivs.alpha.Channel Maven / Gradle / Ivy
Show all versions of ivs-alpha Show documentation
package software.amazon.awscdk.services.ivs.alpha;
/**
* (experimental) A new IVS channel.
*
* Example:
*
*
* Channel myRtmpChannel = Channel.Builder.create(this, "myRtmpChannel")
* .type(ChannelType.STANDARD)
* .insecureIngest(true)
* .build();
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-24T10:56:42.134Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.ivs.alpha.$Module.class, fqn = "@aws-cdk/aws-ivs-alpha.Channel")
public class Channel extends software.amazon.awscdk.Resource implements software.amazon.awscdk.services.ivs.alpha.IChannel {
protected Channel(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected Channel(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Channel(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ivs.alpha.ChannelProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props });
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Channel(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required") });
}
/**
* (experimental) Import an existing channel.
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param channelArn This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ivs.alpha.IChannel fromChannelArn(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull java.lang.String channelArn) {
return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.awscdk.services.ivs.alpha.Channel.class, "fromChannelArn", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ivs.alpha.IChannel.class), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(channelArn, "channelArn is required") });
}
/**
* (experimental) Adds a stream key for this IVS Channel.
*
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ivs.alpha.StreamKey addStreamKey(final @org.jetbrains.annotations.NotNull java.lang.String id) {
return software.amazon.jsii.Kernel.call(this, "addStreamKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ivs.alpha.StreamKey.class), new Object[] { java.util.Objects.requireNonNull(id, "id is required") });
}
/**
* (experimental) The channel ARN.
*
* For example: arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull java.lang.String getChannelArn() {
return software.amazon.jsii.Kernel.get(this, "channelArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (experimental) Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
*
* For example: a1b2c3d4e5f6.global-contribute.live-video.net
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull java.lang.String getChannelIngestEndpoint() {
return software.amazon.jsii.Kernel.get(this, "channelIngestEndpoint", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (experimental) Channel playback URL.
*
* For example:
* https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull java.lang.String getChannelPlaybackUrl() {
return software.amazon.jsii.Kernel.get(this, "channelPlaybackUrl", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (experimental) A fluent builder for {@link software.amazon.awscdk.services.ivs.alpha.Channel}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.constructs.Construct scope;
private final java.lang.String id;
private software.amazon.awscdk.services.ivs.alpha.ChannelProps.Builder props;
private Builder(final software.constructs.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
}
/**
* (experimental) Whether the channel is authorized.
*
* If you wish to make an authorized channel, you will need to ensure that
* a PlaybackKeyPair has been uploaded to your account as this is used to
* validate the signed JWT that is required for authorization
*
* Default: false
*
* @return {@code this}
* @param authorized Whether the channel is authorized. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorized(final java.lang.Boolean authorized) {
this.props().authorized(authorized);
return this;
}
/**
* (experimental) A name for the channel.
*
* Default: Automatically generated name
*
* @return {@code this}
* @param channelName A name for the channel. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder channelName(final java.lang.String channelName) {
this.props().channelName(channelName);
return this;
}
/**
* (experimental) Whether the channel allows insecure RTMP ingest.
*
* Default: false
*
* @return {@code this}
* @param insecureIngest Whether the channel allows insecure RTMP ingest. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder insecureIngest(final java.lang.Boolean insecureIngest) {
this.props().insecureIngest(insecureIngest);
return this;
}
/**
* (experimental) Channel latency mode.
*
* Default: LatencyMode.LOW
*
* @return {@code this}
* @param latencyMode Channel latency mode. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder latencyMode(final software.amazon.awscdk.services.ivs.alpha.LatencyMode latencyMode) {
this.props().latencyMode(latencyMode);
return this;
}
/**
* (experimental) An optional transcode preset for the channel.
*
* Can be used for ADVANCED_HD and ADVANCED_SD channel types.
* When LOW or STANDARD is used, the preset will be overridden and set to none regardless of the value provided.
*
* Default: - Preset.HIGHER_BANDWIDTH_DELIVERY if channelType is ADVANCED_SD or ADVANCED_HD, none otherwise
*
* @return {@code this}
* @param preset An optional transcode preset for the channel. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder preset(final software.amazon.awscdk.services.ivs.alpha.Preset preset) {
this.props().preset(preset);
return this;
}
/**
* (experimental) The channel type, which determines the allowable resolution and bitrate.
*
* If you exceed the allowable resolution or bitrate, the stream will disconnect immediately
*
* Default: ChannelType.STANDARD
*
* @return {@code this}
* @param type The channel type, which determines the allowable resolution and bitrate. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder type(final software.amazon.awscdk.services.ivs.alpha.ChannelType type) {
this.props().type(type);
return this;
}
/**
* @return a newly built instance of {@link software.amazon.awscdk.services.ivs.alpha.Channel}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public software.amazon.awscdk.services.ivs.alpha.Channel build() {
return new software.amazon.awscdk.services.ivs.alpha.Channel(
this.scope,
this.id,
this.props != null ? this.props.build() : null
);
}
private software.amazon.awscdk.services.ivs.alpha.ChannelProps.Builder props() {
if (this.props == null) {
this.props = new software.amazon.awscdk.services.ivs.alpha.ChannelProps.Builder();
}
return this.props;
}
}
}