cloudflare
Version:
The official TypeScript library for the Cloudflare API
413 lines • 15.4 kB
TypeScript
import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as LiveInputsAPI from 'cloudflare/resources/stream/live-inputs/live-inputs';
import * as OutputsAPI from 'cloudflare/resources/stream/live-inputs/outputs';
export declare class LiveInputs extends APIResource {
outputs: OutputsAPI.Outputs;
/**
* Creates a live input, and returns credentials that you or your users can use to
* stream live video to Cloudflare Stream.
*/
create(params: LiveInputCreateParams, options?: Core.RequestOptions): Core.APIPromise<LiveInput>;
/**
* Updates a specified live input.
*/
update(liveInputIdentifier: string, params: LiveInputUpdateParams, options?: Core.RequestOptions): Core.APIPromise<LiveInput>;
/**
* Lists the live inputs created for an account. To get the credentials needed to
* stream to a specific live input, request a single live input.
*/
list(params: LiveInputListParams, options?: Core.RequestOptions): Core.APIPromise<LiveInputListResponse>;
/**
* Prevents a live input from being streamed to and makes the live input
* inaccessible to any future API calls.
*/
delete(liveInputIdentifier: string, params: LiveInputDeleteParams, options?: Core.RequestOptions): Core.APIPromise<void>;
/**
* Retrieves details of an existing live input.
*/
get(liveInputIdentifier: string, params: LiveInputGetParams, options?: Core.RequestOptions): Core.APIPromise<LiveInput>;
}
/**
* Details about a live input.
*/
export interface LiveInput {
/**
* The date and time the live input was created.
*/
created?: string;
/**
* Indicates the number of days after which the live inputs recordings will be
* deleted. When a stream completes and the recording is ready, the value is used
* to calculate a scheduled deletion date for that recording. Omit the field to
* indicate no change, or include with a `null` value to remove an existing
* scheduled deletion.
*/
deleteRecordingAfterDays?: number;
/**
* A user modifiable key-value store used to reference other systems of record for
* managing live inputs.
*/
meta?: unknown;
/**
* The date and time the live input was last modified.
*/
modified?: string;
/**
* Records the input to a Cloudflare Stream video. Behavior depends on the mode. In
* most cases, the video will initially be viewable as a live video and transition
* to on-demand after a condition is satisfied.
*/
recording?: LiveInput.Recording;
/**
* Details for streaming to an live input using RTMPS.
*/
rtmps?: LiveInput.Rtmps;
/**
* Details for playback from an live input using RTMPS.
*/
rtmpsPlayback?: LiveInput.RtmpsPlayback;
/**
* Details for streaming to a live input using SRT.
*/
srt?: LiveInput.Srt;
/**
* Details for playback from an live input using SRT.
*/
srtPlayback?: LiveInput.SrtPlayback;
/**
* The connection status of a live input.
*/
status?: 'connected' | 'reconnected' | 'reconnecting' | 'client_disconnect' | 'ttl_exceeded' | 'failed_to_connect' | 'failed_to_reconnect' | 'new_configuration_accepted' | null;
/**
* A unique identifier for a live input.
*/
uid?: string;
/**
* Details for streaming to a live input using WebRTC.
*/
webRTC?: LiveInput.WebRtc;
/**
* Details for playback from a live input using WebRTC.
*/
webRTCPlayback?: LiveInput.WebRtcPlayback;
}
export declare namespace LiveInput {
/**
* Records the input to a Cloudflare Stream video. Behavior depends on the mode. In
* most cases, the video will initially be viewable as a live video and transition
* to on-demand after a condition is satisfied.
*/
interface Recording {
/**
* Lists the origins allowed to display videos created with this input. Enter
* allowed origin domains in an array and use `*` for wildcard subdomains. An empty
* array allows videos to be viewed on any origin.
*/
allowedOrigins?: Array<string>;
/**
* Specifies the recording behavior for the live input. Set this value to `off` to
* prevent a recording. Set the value to `automatic` to begin a recording and
* transition to on-demand after Stream Live stops receiving input.
*/
mode?: 'off' | 'automatic';
/**
* Indicates if a video using the live input has the `requireSignedURLs` property
* set. Also enforces access controls on any video recording of the livestream with
* the live input.
*/
requireSignedURLs?: boolean;
/**
* Determines the amount of time a live input configured in `automatic` mode should
* wait before a recording transitions from live to on-demand. `0` is recommended
* for most use cases and indicates the platform default should be used.
*/
timeoutSeconds?: number;
}
/**
* Details for streaming to an live input using RTMPS.
*/
interface Rtmps {
/**
* The secret key to use when streaming via RTMPS to a live input.
*/
streamKey?: string;
/**
* The RTMPS URL you provide to the broadcaster, which they stream live video to.
*/
url?: string;
}
/**
* Details for playback from an live input using RTMPS.
*/
interface RtmpsPlayback {
/**
* The secret key to use for playback via RTMPS.
*/
streamKey?: string;
/**
* The URL used to play live video over RTMPS.
*/
url?: string;
}
/**
* Details for streaming to a live input using SRT.
*/
interface Srt {
/**
* The secret key to use when streaming via SRT to a live input.
*/
passphrase?: string;
/**
* The identifier of the live input to use when streaming via SRT.
*/
streamId?: string;
/**
* The SRT URL you provide to the broadcaster, which they stream live video to.
*/
url?: string;
}
/**
* Details for playback from an live input using SRT.
*/
interface SrtPlayback {
/**
* The secret key to use for playback via SRT.
*/
passphrase?: string;
/**
* The identifier of the live input to use for playback via SRT.
*/
streamId?: string;
/**
* The URL used to play live video over SRT.
*/
url?: string;
}
/**
* Details for streaming to a live input using WebRTC.
*/
interface WebRtc {
/**
* The WebRTC URL you provide to the broadcaster, which they stream live video to.
*/
url?: string;
}
/**
* Details for playback from a live input using WebRTC.
*/
interface WebRtcPlayback {
/**
* The URL used to play live video over WebRTC.
*/
url?: string;
}
}
export interface LiveInputListResponse {
liveInputs?: Array<LiveInputListResponse.LiveInput>;
/**
* The total number of remaining live inputs based on cursor position.
*/
range?: number;
/**
* The total number of live inputs that match the provided filters.
*/
total?: number;
}
export declare namespace LiveInputListResponse {
interface LiveInput {
/**
* The date and time the live input was created.
*/
created?: string;
/**
* Indicates the number of days after which the live inputs recordings will be
* deleted. When a stream completes and the recording is ready, the value is used
* to calculate a scheduled deletion date for that recording. Omit the field to
* indicate no change, or include with a `null` value to remove an existing
* scheduled deletion.
*/
deleteRecordingAfterDays?: number;
/**
* A user modifiable key-value store used to reference other systems of record for
* managing live inputs.
*/
meta?: unknown;
/**
* The date and time the live input was last modified.
*/
modified?: string;
/**
* A unique identifier for a live input.
*/
uid?: string;
}
}
export interface LiveInputCreateParams {
/**
* Path param: Identifier
*/
account_id: string;
/**
* Body param: Sets the creator ID asssociated with this live input.
*/
defaultCreator?: string;
/**
* Body param: Indicates the number of days after which the live inputs recordings
* will be deleted. When a stream completes and the recording is ready, the value
* is used to calculate a scheduled deletion date for that recording. Omit the
* field to indicate no change, or include with a `null` value to remove an
* existing scheduled deletion.
*/
deleteRecordingAfterDays?: number;
/**
* Body param: A user modifiable key-value store used to reference other systems of
* record for managing live inputs.
*/
meta?: unknown;
/**
* Body param: Records the input to a Cloudflare Stream video. Behavior depends on
* the mode. In most cases, the video will initially be viewable as a live video
* and transition to on-demand after a condition is satisfied.
*/
recording?: LiveInputCreateParams.Recording;
}
export declare namespace LiveInputCreateParams {
/**
* Records the input to a Cloudflare Stream video. Behavior depends on the mode. In
* most cases, the video will initially be viewable as a live video and transition
* to on-demand after a condition is satisfied.
*/
interface Recording {
/**
* Lists the origins allowed to display videos created with this input. Enter
* allowed origin domains in an array and use `*` for wildcard subdomains. An empty
* array allows videos to be viewed on any origin.
*/
allowedOrigins?: Array<string>;
/**
* Specifies the recording behavior for the live input. Set this value to `off` to
* prevent a recording. Set the value to `automatic` to begin a recording and
* transition to on-demand after Stream Live stops receiving input.
*/
mode?: 'off' | 'automatic';
/**
* Indicates if a video using the live input has the `requireSignedURLs` property
* set. Also enforces access controls on any video recording of the livestream with
* the live input.
*/
requireSignedURLs?: boolean;
/**
* Determines the amount of time a live input configured in `automatic` mode should
* wait before a recording transitions from live to on-demand. `0` is recommended
* for most use cases and indicates the platform default should be used.
*/
timeoutSeconds?: number;
}
}
export interface LiveInputUpdateParams {
/**
* Path param: Identifier
*/
account_id: string;
/**
* Body param: Sets the creator ID asssociated with this live input.
*/
defaultCreator?: string;
/**
* Body param: Indicates the number of days after which the live inputs recordings
* will be deleted. When a stream completes and the recording is ready, the value
* is used to calculate a scheduled deletion date for that recording. Omit the
* field to indicate no change, or include with a `null` value to remove an
* existing scheduled deletion.
*/
deleteRecordingAfterDays?: number;
/**
* Body param: A user modifiable key-value store used to reference other systems of
* record for managing live inputs.
*/
meta?: unknown;
/**
* Body param: Records the input to a Cloudflare Stream video. Behavior depends on
* the mode. In most cases, the video will initially be viewable as a live video
* and transition to on-demand after a condition is satisfied.
*/
recording?: LiveInputUpdateParams.Recording;
}
export declare namespace LiveInputUpdateParams {
/**
* Records the input to a Cloudflare Stream video. Behavior depends on the mode. In
* most cases, the video will initially be viewable as a live video and transition
* to on-demand after a condition is satisfied.
*/
interface Recording {
/**
* Lists the origins allowed to display videos created with this input. Enter
* allowed origin domains in an array and use `*` for wildcard subdomains. An empty
* array allows videos to be viewed on any origin.
*/
allowedOrigins?: Array<string>;
/**
* Specifies the recording behavior for the live input. Set this value to `off` to
* prevent a recording. Set the value to `automatic` to begin a recording and
* transition to on-demand after Stream Live stops receiving input.
*/
mode?: 'off' | 'automatic';
/**
* Indicates if a video using the live input has the `requireSignedURLs` property
* set. Also enforces access controls on any video recording of the livestream with
* the live input.
*/
requireSignedURLs?: boolean;
/**
* Determines the amount of time a live input configured in `automatic` mode should
* wait before a recording transitions from live to on-demand. `0` is recommended
* for most use cases and indicates the platform default should be used.
*/
timeoutSeconds?: number;
}
}
export interface LiveInputListParams {
/**
* Path param: Identifier
*/
account_id: string;
/**
* Query param: Includes the total number of videos associated with the submitted
* query parameters.
*/
include_counts?: boolean;
}
export interface LiveInputDeleteParams {
/**
* Path param: Identifier
*/
account_id: string;
/**
* Body param:
*/
body: unknown;
}
export interface LiveInputGetParams {
/**
* Identifier
*/
account_id: string;
}
export declare namespace LiveInputs {
export import LiveInput = LiveInputsAPI.LiveInput;
export import LiveInputListResponse = LiveInputsAPI.LiveInputListResponse;
export import LiveInputCreateParams = LiveInputsAPI.LiveInputCreateParams;
export import LiveInputUpdateParams = LiveInputsAPI.LiveInputUpdateParams;
export import LiveInputListParams = LiveInputsAPI.LiveInputListParams;
export import LiveInputDeleteParams = LiveInputsAPI.LiveInputDeleteParams;
export import LiveInputGetParams = LiveInputsAPI.LiveInputGetParams;
export import Outputs = OutputsAPI.Outputs;
export import Output = OutputsAPI.Output;
export import OutputsSinglePage = OutputsAPI.OutputsSinglePage;
export import OutputCreateParams = OutputsAPI.OutputCreateParams;
export import OutputUpdateParams = OutputsAPI.OutputUpdateParams;
export import OutputListParams = OutputsAPI.OutputListParams;
export import OutputDeleteParams = OutputsAPI.OutputDeleteParams;
}
//# sourceMappingURL=live-inputs.d.ts.map