1. Packages
  2. Tencentcloud Provider
  3. API Docs
  4. getVodSubApplications
tencentcloud 1.82.70 published on Wednesday, Feb 11, 2026 by tencentcloudstack
tencentcloud logo
tencentcloud 1.82.70 published on Wednesday, Feb 11, 2026 by tencentcloudstack

    Use this data source to query detailed information of VOD sub-applications.

    Example Usage

    Query all sub-applications

    import * as pulumi from "@pulumi/pulumi";
    import * as tencentcloud from "@pulumi/tencentcloud";
    
    const all = tencentcloud.getVodSubApplications({});
    export const appList = all.then(all => all.subApplicationInfoSets);
    
    import pulumi
    import pulumi_tencentcloud as tencentcloud
    
    all = tencentcloud.get_vod_sub_applications()
    pulumi.export("appList", all.sub_application_info_sets)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/tencentcloud/tencentcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		all, err := tencentcloud.GetVodSubApplications(ctx, &tencentcloud.GetVodSubApplicationsArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("appList", all.SubApplicationInfoSets)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Tencentcloud = Pulumi.Tencentcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var all = Tencentcloud.GetVodSubApplications.Invoke();
    
        return new Dictionary<string, object?>
        {
            ["appList"] = all.Apply(getVodSubApplicationsResult => getVodSubApplicationsResult.SubApplicationInfoSets),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.tencentcloud.TencentcloudFunctions;
    import com.pulumi.tencentcloud.inputs.GetVodSubApplicationsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var all = TencentcloudFunctions.getVodSubApplications(GetVodSubApplicationsArgs.builder()
                .build());
    
            ctx.export("appList", all.subApplicationInfoSets());
        }
    }
    
    variables:
      all:
        fn::invoke:
          function: tencentcloud:getVodSubApplications
          arguments: {}
    outputs:
      appList: ${all.subApplicationInfoSets}
    

    Filter by application name

    import * as pulumi from "@pulumi/pulumi";
    import * as tencentcloud from "@pulumi/tencentcloud";
    
    const byName = tencentcloud.getVodSubApplications({
        name: "MyVideoApp",
    });
    export const appId = byName.then(byName => byName.subApplicationInfoSets?.[0]?.subAppId);
    
    import pulumi
    import pulumi_tencentcloud as tencentcloud
    
    by_name = tencentcloud.get_vod_sub_applications(name="MyVideoApp")
    pulumi.export("appId", by_name.sub_application_info_sets[0].sub_app_id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/tencentcloud/tencentcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		byName, err := tencentcloud.GetVodSubApplications(ctx, &tencentcloud.GetVodSubApplicationsArgs{
    			Name: pulumi.StringRef("MyVideoApp"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("appId", byName.SubApplicationInfoSets[0].SubAppId)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Tencentcloud = Pulumi.Tencentcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var byName = Tencentcloud.GetVodSubApplications.Invoke(new()
        {
            Name = "MyVideoApp",
        });
    
        return new Dictionary<string, object?>
        {
            ["appId"] = byName.Apply(getVodSubApplicationsResult => getVodSubApplicationsResult.SubApplicationInfoSets[0]?.SubAppId),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.tencentcloud.TencentcloudFunctions;
    import com.pulumi.tencentcloud.inputs.GetVodSubApplicationsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var byName = TencentcloudFunctions.getVodSubApplications(GetVodSubApplicationsArgs.builder()
                .name("MyVideoApp")
                .build());
    
            ctx.export("appId", byName.subApplicationInfoSets()[0].subAppId());
        }
    }
    
    variables:
      byName:
        fn::invoke:
          function: tencentcloud:getVodSubApplications
          arguments:
            name: MyVideoApp
    outputs:
      appId: ${byName.subApplicationInfoSets[0].subAppId}
    

    Filter by tags

    import * as pulumi from "@pulumi/pulumi";
    import * as tencentcloud from "@pulumi/tencentcloud";
    
    const byTags = tencentcloud.getVodSubApplications({
        tags: {
            Environment: "Production",
            Team: "VideoTeam",
        },
    });
    export const productionApps = byTags.then(byTags => byTags.subApplicationInfoSets.map(__item => __item.subAppIdName));
    
    import pulumi
    import pulumi_tencentcloud as tencentcloud
    
    by_tags = tencentcloud.get_vod_sub_applications(tags={
        "Environment": "Production",
        "Team": "VideoTeam",
    })
    pulumi.export("productionApps", [__item.sub_app_id_name for __item in by_tags.sub_application_info_sets])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/tencentcloud/tencentcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    byTags, err := tencentcloud.GetVodSubApplications(ctx, &tencentcloud.GetVodSubApplicationsArgs{
    Tags: map[string]interface{}{
    "Environment": "Production",
    "Team": "VideoTeam",
    },
    }, nil);
    if err != nil {
    return err
    }
    ctx.Export("productionApps", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:8,11-56)))
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Tencentcloud = Pulumi.Tencentcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var byTags = Tencentcloud.GetVodSubApplications.Invoke(new()
        {
            Tags = 
            {
                { "Environment", "Production" },
                { "Team", "VideoTeam" },
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["productionApps"] = byTags.Apply(getVodSubApplicationsResult => getVodSubApplicationsResult.SubApplicationInfoSets).Select(__item => __item.SubAppIdName).ToList(),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.tencentcloud.TencentcloudFunctions;
    import com.pulumi.tencentcloud.inputs.GetVodSubApplicationsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var byTags = TencentcloudFunctions.getVodSubApplications(GetVodSubApplicationsArgs.builder()
                .tags(Map.ofEntries(
                    Map.entry("Environment", "Production"),
                    Map.entry("Team", "VideoTeam")
                ))
                .build());
    
            ctx.export("productionApps", byTags.subApplicationInfoSets().stream().map(element -> element.subAppIdName()).collect(toList()));
        }
    }
    
    Example coming soon!
    

    Reference sub-application in other resources

    import * as pulumi from "@pulumi/pulumi";
    import * as tencentcloud from "@pulumi/tencentcloud";
    
    const existing = tencentcloud.getVodSubApplications({
        name: "ProductionApp",
    });
    const config = new tencentcloud.VodSuperPlayerConfig("config", {
        subAppId: existing.then(existing => existing.subApplicationInfoSets?.[0]?.subAppId),
        name: "player-config",
        drmSwitch: false,
    });
    
    import pulumi
    import pulumi_tencentcloud as tencentcloud
    
    existing = tencentcloud.get_vod_sub_applications(name="ProductionApp")
    config = tencentcloud.VodSuperPlayerConfig("config",
        sub_app_id=existing.sub_application_info_sets[0].sub_app_id,
        name="player-config",
        drm_switch=False)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/tencentcloud/tencentcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		existing, err := tencentcloud.GetVodSubApplications(ctx, &tencentcloud.GetVodSubApplicationsArgs{
    			Name: pulumi.StringRef("ProductionApp"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = tencentcloud.NewVodSuperPlayerConfig(ctx, "config", &tencentcloud.VodSuperPlayerConfigArgs{
    			SubAppId:  pulumi.Float64(existing.SubApplicationInfoSets[0].SubAppId),
    			Name:      pulumi.String("player-config"),
    			DrmSwitch: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Tencentcloud = Pulumi.Tencentcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var existing = Tencentcloud.GetVodSubApplications.Invoke(new()
        {
            Name = "ProductionApp",
        });
    
        var config = new Tencentcloud.VodSuperPlayerConfig("config", new()
        {
            SubAppId = existing.Apply(getVodSubApplicationsResult => getVodSubApplicationsResult.SubApplicationInfoSets[0]?.SubAppId),
            Name = "player-config",
            DrmSwitch = false,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.tencentcloud.TencentcloudFunctions;
    import com.pulumi.tencentcloud.inputs.GetVodSubApplicationsArgs;
    import com.pulumi.tencentcloud.VodSuperPlayerConfig;
    import com.pulumi.tencentcloud.VodSuperPlayerConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var existing = TencentcloudFunctions.getVodSubApplications(GetVodSubApplicationsArgs.builder()
                .name("ProductionApp")
                .build());
    
            var config = new VodSuperPlayerConfig("config", VodSuperPlayerConfigArgs.builder()
                .subAppId(existing.subApplicationInfoSets()[0].subAppId())
                .name("player-config")
                .drmSwitch(false)
                .build());
    
        }
    }
    
    resources:
      config:
        type: tencentcloud:VodSuperPlayerConfig
        properties:
          subAppId: ${existing.subApplicationInfoSets[0].subAppId}
          name: player-config
          drmSwitch: false # ... other configuration
    variables:
      existing:
        fn::invoke:
          function: tencentcloud:getVodSubApplications
          arguments:
            name: ProductionApp
    

    Export results to file

    import * as pulumi from "@pulumi/pulumi";
    import * as tencentcloud from "@pulumi/tencentcloud";
    
    const _export = tencentcloud.getVodSubApplications({
        resultOutputFile: "/tmp/vod_apps.json",
    });
    
    import pulumi
    import pulumi_tencentcloud as tencentcloud
    
    export = tencentcloud.get_vod_sub_applications(result_output_file="/tmp/vod_apps.json")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/tencentcloud/tencentcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := tencentcloud.GetVodSubApplications(ctx, &tencentcloud.GetVodSubApplicationsArgs{
    			ResultOutputFile: pulumi.StringRef("/tmp/vod_apps.json"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Tencentcloud = Pulumi.Tencentcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var export = Tencentcloud.GetVodSubApplications.Invoke(new()
        {
            ResultOutputFile = "/tmp/vod_apps.json",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.tencentcloud.TencentcloudFunctions;
    import com.pulumi.tencentcloud.inputs.GetVodSubApplicationsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var export = TencentcloudFunctions.getVodSubApplications(GetVodSubApplicationsArgs.builder()
                .resultOutputFile("/tmp/vod_apps.json")
                .build());
    
        }
    }
    
    variables:
      export:
        fn::invoke:
          function: tencentcloud:getVodSubApplications
          arguments:
            resultOutputFile: /tmp/vod_apps.json
    

    Using getVodSubApplications

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getVodSubApplications(args: GetVodSubApplicationsArgs, opts?: InvokeOptions): Promise<GetVodSubApplicationsResult>
    function getVodSubApplicationsOutput(args: GetVodSubApplicationsOutputArgs, opts?: InvokeOptions): Output<GetVodSubApplicationsResult>
    def get_vod_sub_applications(id: Optional[str] = None,
                                 name: Optional[str] = None,
                                 result_output_file: Optional[str] = None,
                                 tags: Optional[Mapping[str, str]] = None,
                                 opts: Optional[InvokeOptions] = None) -> GetVodSubApplicationsResult
    def get_vod_sub_applications_output(id: Optional[pulumi.Input[str]] = None,
                                 name: Optional[pulumi.Input[str]] = None,
                                 result_output_file: Optional[pulumi.Input[str]] = None,
                                 tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                                 opts: Optional[InvokeOptions] = None) -> Output[GetVodSubApplicationsResult]
    func GetVodSubApplications(ctx *Context, args *GetVodSubApplicationsArgs, opts ...InvokeOption) (*GetVodSubApplicationsResult, error)
    func GetVodSubApplicationsOutput(ctx *Context, args *GetVodSubApplicationsOutputArgs, opts ...InvokeOption) GetVodSubApplicationsResultOutput

    > Note: This function is named GetVodSubApplications in the Go SDK.

    public static class GetVodSubApplications 
    {
        public static Task<GetVodSubApplicationsResult> InvokeAsync(GetVodSubApplicationsArgs args, InvokeOptions? opts = null)
        public static Output<GetVodSubApplicationsResult> Invoke(GetVodSubApplicationsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetVodSubApplicationsResult> getVodSubApplications(GetVodSubApplicationsArgs args, InvokeOptions options)
    public static Output<GetVodSubApplicationsResult> getVodSubApplications(GetVodSubApplicationsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: tencentcloud:index/getVodSubApplications:getVodSubApplications
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Id string
    Name string
    Application name for exact match filtering.
    ResultOutputFile string
    Used to save results in JSON format.
    Tags Dictionary<string, string>
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    Id string
    Name string
    Application name for exact match filtering.
    ResultOutputFile string
    Used to save results in JSON format.
    Tags map[string]string
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    id String
    name String
    Application name for exact match filtering.
    resultOutputFile String
    Used to save results in JSON format.
    tags Map<String,String>
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    id string
    name string
    Application name for exact match filtering.
    resultOutputFile string
    Used to save results in JSON format.
    tags {[key: string]: string}
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    id str
    name str
    Application name for exact match filtering.
    result_output_file str
    Used to save results in JSON format.
    tags Mapping[str, str]
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    id String
    name String
    Application name for exact match filtering.
    resultOutputFile String
    Used to save results in JSON format.
    tags Map<String>
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.

    getVodSubApplications Result

    The following output properties are available:

    Id string
    SubApplicationInfoSets List<GetVodSubApplicationsSubApplicationInfoSet>
    List of sub-application information.
    Name string
    Legacy name field (for backward compatibility).
    ResultOutputFile string
    Tags Dictionary<string, string>
    Resource tags bound to the sub-application.
    Id string
    SubApplicationInfoSets []GetVodSubApplicationsSubApplicationInfoSet
    List of sub-application information.
    Name string
    Legacy name field (for backward compatibility).
    ResultOutputFile string
    Tags map[string]string
    Resource tags bound to the sub-application.
    id String
    subApplicationInfoSets List<GetVodSubApplicationsSubApplicationInfoSet>
    List of sub-application information.
    name String
    Legacy name field (for backward compatibility).
    resultOutputFile String
    tags Map<String,String>
    Resource tags bound to the sub-application.
    id string
    subApplicationInfoSets GetVodSubApplicationsSubApplicationInfoSet[]
    List of sub-application information.
    name string
    Legacy name field (for backward compatibility).
    resultOutputFile string
    tags {[key: string]: string}
    Resource tags bound to the sub-application.
    id str
    sub_application_info_sets Sequence[GetVodSubApplicationsSubApplicationInfoSet]
    List of sub-application information.
    name str
    Legacy name field (for backward compatibility).
    result_output_file str
    tags Mapping[str, str]
    Resource tags bound to the sub-application.
    id String
    subApplicationInfoSets List<Property Map>
    List of sub-application information.
    name String
    Legacy name field (for backward compatibility).
    resultOutputFile String
    tags Map<String>
    Resource tags bound to the sub-application.

    Supporting Types

    GetVodSubApplicationsSubApplicationInfoSet

    CreateTime string
    Creation time in ISO 8601 format.
    Description string
    Sub-application description.
    Mode string
    Application mode. Valid values: fileid, fileid+path.
    Name string
    Application name for exact match filtering.
    Status string
    Application status. Valid values: On, Off, Destroying, Destroyed.
    StorageRegions List<string>
    List of enabled storage regions.
    SubAppId double
    Sub-application ID.
    SubAppIdName string
    Sub-application name.
    Tags Dictionary<string, string>
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    CreateTime string
    Creation time in ISO 8601 format.
    Description string
    Sub-application description.
    Mode string
    Application mode. Valid values: fileid, fileid+path.
    Name string
    Application name for exact match filtering.
    Status string
    Application status. Valid values: On, Off, Destroying, Destroyed.
    StorageRegions []string
    List of enabled storage regions.
    SubAppId float64
    Sub-application ID.
    SubAppIdName string
    Sub-application name.
    Tags map[string]string
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    createTime String
    Creation time in ISO 8601 format.
    description String
    Sub-application description.
    mode String
    Application mode. Valid values: fileid, fileid+path.
    name String
    Application name for exact match filtering.
    status String
    Application status. Valid values: On, Off, Destroying, Destroyed.
    storageRegions List<String>
    List of enabled storage regions.
    subAppId Double
    Sub-application ID.
    subAppIdName String
    Sub-application name.
    tags Map<String,String>
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    createTime string
    Creation time in ISO 8601 format.
    description string
    Sub-application description.
    mode string
    Application mode. Valid values: fileid, fileid+path.
    name string
    Application name for exact match filtering.
    status string
    Application status. Valid values: On, Off, Destroying, Destroyed.
    storageRegions string[]
    List of enabled storage regions.
    subAppId number
    Sub-application ID.
    subAppIdName string
    Sub-application name.
    tags {[key: string]: string}
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    create_time str
    Creation time in ISO 8601 format.
    description str
    Sub-application description.
    mode str
    Application mode. Valid values: fileid, fileid+path.
    name str
    Application name for exact match filtering.
    status str
    Application status. Valid values: On, Off, Destroying, Destroyed.
    storage_regions Sequence[str]
    List of enabled storage regions.
    sub_app_id float
    Sub-application ID.
    sub_app_id_name str
    Sub-application name.
    tags Mapping[str, str]
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.
    createTime String
    Creation time in ISO 8601 format.
    description String
    Sub-application description.
    mode String
    Application mode. Valid values: fileid, fileid+path.
    name String
    Application name for exact match filtering.
    status String
    Application status. Valid values: On, Off, Destroying, Destroyed.
    storageRegions List<String>
    List of enabled storage regions.
    subAppId Number
    Sub-application ID.
    subAppIdName String
    Sub-application name.
    tags Map<String>
    Tag key-value pairs for filtering applications. Applications matching all specified tags will be returned.

    Package Details

    Repository
    tencentcloud tencentcloudstack/terraform-provider-tencentcloud
    License
    Notes
    This Pulumi package is based on the tencentcloud Terraform Provider.
    tencentcloud logo
    tencentcloud 1.82.70 published on Wednesday, Feb 11, 2026 by tencentcloudstack
      Meet Neo: Your AI Platform Teammate