@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
205 lines (204 loc) • 7.63 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { input as inputs, output as outputs } from "../types";
/**
* Manages a recording template within HuaweiCloud Live.
*
* ## Example Usage
* ### Create a recording template for an ingest domain name
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as pulumi from "@huaweicloudos/pulumi";
*
* const config = new pulumi.Config();
* const ingestDomainName = config.requireObject("ingestDomainName");
* const bucketRegion = config.requireObject("bucketRegion");
* const bucketName = config.requireObject("bucketName");
* const ingestDomain = new huaweicloud.live.Domain("ingestDomain", {type: "push"});
* const recording = new huaweicloud.live.Recording("recording", {
* domainName: ingestDomain.name,
* appName: "live",
* streamName: "stream_name",
* type: "CONTINUOUS_RECORD",
* obs: {
* region: bucketRegion,
* bucket: bucketName,
* },
* hls: {
* recordingLength: 15,
* },
* });
* ```
*
* ## Import
*
* Recording templates can be imported using the `id`, e.g. bash
*
* ```sh
* $ pulumi import huaweicloud:Live/recording:Recording test <id>
* ```
*/
export declare class Recording extends pulumi.CustomResource {
/**
* Get an existing Recording resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RecordingState, opts?: pulumi.CustomResourceOptions): Recording;
/**
* Returns true if the given object is an instance of Recording. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Recording;
/**
* Specifies the application name. To match all names, use an asterisk (*).
*/
readonly appName: pulumi.Output<string>;
/**
* Specifies the ingest domain name.
*/
readonly domainName: pulumi.Output<string>;
/**
* Specifies the FLV configuration rule for storing recording as FLV.
* The flv structure is documented below.
*/
readonly flv: pulumi.Output<outputs.Live.RecordingFlv | undefined>;
/**
* Specifies the HLS configuration rule for storing recording as HLS.
* The hls structure is documented below.
*/
readonly hls: pulumi.Output<outputs.Live.RecordingHls | undefined>;
/**
* Specifies the MP4 configuration rule for storing recording as MP4.
* The mp4 structure is documented below.
*/
readonly mp4: pulumi.Output<outputs.Live.RecordingMp4 | undefined>;
/**
* Specifies the obs for storing recordings.
* The obs structure is documented below.
*/
readonly obs: pulumi.Output<outputs.Live.RecordingObs>;
/**
* Specifies the region of OBS.
*/
readonly region: pulumi.Output<string>;
/**
* Specifies the stream name. To match all names, use an asterisk (*).
*/
readonly streamName: pulumi.Output<string>;
/**
* Specifies the types of recording notifications. The options are as follows:
* + **CONTINUOUS_RECORD**: continuous recording. Recording is triggered once streams are pushed to the recording system.
* + **COMMAND_RECORD**: command-based recording. Tenants need to run commands to start and stop recording after streams
* are pushed to the recording system.
*/
readonly type: pulumi.Output<string>;
/**
* Create a Recording resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: RecordingArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Recording resources.
*/
export interface RecordingState {
/**
* Specifies the application name. To match all names, use an asterisk (*).
*/
appName?: pulumi.Input<string>;
/**
* Specifies the ingest domain name.
*/
domainName?: pulumi.Input<string>;
/**
* Specifies the FLV configuration rule for storing recording as FLV.
* The flv structure is documented below.
*/
flv?: pulumi.Input<inputs.Live.RecordingFlv>;
/**
* Specifies the HLS configuration rule for storing recording as HLS.
* The hls structure is documented below.
*/
hls?: pulumi.Input<inputs.Live.RecordingHls>;
/**
* Specifies the MP4 configuration rule for storing recording as MP4.
* The mp4 structure is documented below.
*/
mp4?: pulumi.Input<inputs.Live.RecordingMp4>;
/**
* Specifies the obs for storing recordings.
* The obs structure is documented below.
*/
obs?: pulumi.Input<inputs.Live.RecordingObs>;
/**
* Specifies the region of OBS.
*/
region?: pulumi.Input<string>;
/**
* Specifies the stream name. To match all names, use an asterisk (*).
*/
streamName?: pulumi.Input<string>;
/**
* Specifies the types of recording notifications. The options are as follows:
* + **CONTINUOUS_RECORD**: continuous recording. Recording is triggered once streams are pushed to the recording system.
* + **COMMAND_RECORD**: command-based recording. Tenants need to run commands to start and stop recording after streams
* are pushed to the recording system.
*/
type?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Recording resource.
*/
export interface RecordingArgs {
/**
* Specifies the application name. To match all names, use an asterisk (*).
*/
appName: pulumi.Input<string>;
/**
* Specifies the ingest domain name.
*/
domainName: pulumi.Input<string>;
/**
* Specifies the FLV configuration rule for storing recording as FLV.
* The flv structure is documented below.
*/
flv?: pulumi.Input<inputs.Live.RecordingFlv>;
/**
* Specifies the HLS configuration rule for storing recording as HLS.
* The hls structure is documented below.
*/
hls?: pulumi.Input<inputs.Live.RecordingHls>;
/**
* Specifies the MP4 configuration rule for storing recording as MP4.
* The mp4 structure is documented below.
*/
mp4?: pulumi.Input<inputs.Live.RecordingMp4>;
/**
* Specifies the obs for storing recordings.
* The obs structure is documented below.
*/
obs: pulumi.Input<inputs.Live.RecordingObs>;
/**
* Specifies the region of OBS.
*/
region?: pulumi.Input<string>;
/**
* Specifies the stream name. To match all names, use an asterisk (*).
*/
streamName: pulumi.Input<string>;
/**
* Specifies the types of recording notifications. The options are as follows:
* + **CONTINUOUS_RECORD**: continuous recording. Recording is triggered once streams are pushed to the recording system.
* + **COMMAND_RECORD**: command-based recording. Tenants need to run commands to start and stop recording after streams
* are pushed to the recording system.
*/
type?: pulumi.Input<string>;
}