1. Packages
  2. Packages
  3. Alibaba Cloud Provider
  4. API Docs
  5. apig
  6. getPluginClasses
Viewing docs for Alibaba Cloud v3.105.0
published on Thursday, Jul 16, 2026 by Pulumi
alicloud logo alicloud logo
Viewing docs for Alibaba Cloud v3.105.0
published on Thursday, Jul 16, 2026 by Pulumi

    This data source provides the APIG Plugin Class of the current Alibaba Cloud user.

    NOTE: Available since v1.285.0.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    
    const _default = new alicloud.apig.PluginClass("default", {
        wasmUrl: "https://example.com/plugin.wasm",
        description: "A example plugin class",
        versionDescription: "Initial version",
        pluginClassName: "example-plugin-class",
        version: "1.0.2",
        executePriority: 1,
        wasmLanguage: "TinyGo",
        executeStage: "UNSPECIFIED_PHASE",
    });
    const ids = alicloud.apig.getPluginClassesOutput({
        ids: [_default.id],
    });
    export const apigPluginClassId0 = ids.apply(ids => ids.classes?.[0]?.id);
    
    import pulumi
    import pulumi_alicloud as alicloud
    
    default = alicloud.apig.PluginClass("default",
        wasm_url="https://example.com/plugin.wasm",
        description="A example plugin class",
        version_description="Initial version",
        plugin_class_name="example-plugin-class",
        version="1.0.2",
        execute_priority=1,
        wasm_language="TinyGo",
        execute_stage="UNSPECIFIED_PHASE")
    ids = alicloud.apig.get_plugin_classes_output(ids=[default.id])
    pulumi.export("apigPluginClassId0", ids.classes[0].id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apig"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := apig.NewPluginClass(ctx, "default", &apig.PluginClassArgs{
    			WasmUrl:            pulumi.String("https://example.com/plugin.wasm"),
    			Description:        pulumi.String("A example plugin class"),
    			VersionDescription: pulumi.String("Initial version"),
    			PluginClassName:    pulumi.String("example-plugin-class"),
    			Version:            pulumi.String("1.0.2"),
    			ExecutePriority:    pulumi.Int(1),
    			WasmLanguage:       pulumi.String("TinyGo"),
    			ExecuteStage:       pulumi.String("UNSPECIFIED_PHASE"),
    		})
    		if err != nil {
    			return err
    		}
    		ids := apig.GetPluginClassesOutput(ctx, apig.GetPluginClassesOutputArgs{
    			Ids: pulumi.StringArray{
    				_default.ID(),
    			},
    		}, nil)
    		ctx.Export("apigPluginClassId0", ids.ApplyT(func(ids apig.GetPluginClassesResult) (*string, error) {
    			return ids.Classes[0].Id, nil
    		}).(pulumi.StringPtrOutput))
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new AliCloud.Apig.PluginClass("default", new()
        {
            WasmUrl = "https://example.com/plugin.wasm",
            Description = "A example plugin class",
            VersionDescription = "Initial version",
            PluginClassName = "example-plugin-class",
            Version = "1.0.2",
            ExecutePriority = 1,
            WasmLanguage = "TinyGo",
            ExecuteStage = "UNSPECIFIED_PHASE",
        });
    
        var ids = AliCloud.Apig.GetPluginClasses.Invoke(new()
        {
            Ids = new[]
            {
                @default.Id,
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["apigPluginClassId0"] = ids.Apply(getPluginClassesResult => getPluginClassesResult.Classes[0]?.Id),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.apig.PluginClass;
    import com.pulumi.alicloud.apig.PluginClassArgs;
    import com.pulumi.alicloud.apig.ApigFunctions;
    import com.pulumi.alicloud.apig.inputs.GetPluginClassesArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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) {
            var default_ = new PluginClass("default", PluginClassArgs.builder()
                .wasmUrl("https://example.com/plugin.wasm")
                .description("A example plugin class")
                .versionDescription("Initial version")
                .pluginClassName("example-plugin-class")
                .version("1.0.2")
                .executePriority(1)
                .wasmLanguage("TinyGo")
                .executeStage("UNSPECIFIED_PHASE")
                .build());
    
            final var ids = ApigFunctions.getPluginClasses(GetPluginClassesArgs.builder()
                .ids(default_.id())
                .build());
    
            ctx.export("apigPluginClassId0", ids.applyValue(_ids -> _ids.classes()[0].id()));
        }
    }
    
    resources:
      default:
        type: alicloud:apig:PluginClass
        properties:
          wasmUrl: https://example.com/plugin.wasm
          description: A example plugin class
          versionDescription: Initial version
          pluginClassName: example-plugin-class
          version: 1.0.2
          executePriority: '1'
          wasmLanguage: TinyGo
          executeStage: UNSPECIFIED_PHASE
    variables:
      ids:
        fn::invoke:
          function: alicloud:apig:getPluginClasses
          arguments:
            ids:
              - ${default.id}
    outputs:
      apigPluginClassId0: ${ids.classes[0].id}
    
    pulumi {
      required_providers {
        alicloud = {
          source = "pulumi/alicloud"
        }
      }
    }
    
    data "alicloud_apig_getpluginclasses" "ids" {
      ids = [alicloud_apig_pluginclass.default.id]
    }
    
    resource "alicloud_apig_pluginclass" "default" {
      wasm_url            = "https://example.com/plugin.wasm"
      description         = "A example plugin class"
      version_description = "Initial version"
      plugin_class_name   = "example-plugin-class"
      version             = "1.0.2"
      execute_priority    = "1"
      wasm_language       = "TinyGo"
      execute_stage       = "UNSPECIFIED_PHASE"
    }
    output "apigPluginClassId0" {
      value = data.alicloud_apig_getpluginclasses.ids.classes[0].id
    }
    

    Using getPluginClasses

    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 getPluginClasses(args: GetPluginClassesArgs, opts?: InvokeOptions): Promise<GetPluginClassesResult>
    function getPluginClassesOutput(args: GetPluginClassesOutputArgs, opts?: InvokeOptions): Output<GetPluginClassesResult>
    def get_plugin_classes(enable_details: Optional[bool] = None,
                           ids: Optional[Sequence[str]] = None,
                           name_regex: Optional[str] = None,
                           output_file: Optional[str] = None,
                           type: Optional[str] = None,
                           opts: Optional[InvokeOptions] = None) -> GetPluginClassesResult
    def get_plugin_classes_output(enable_details: pulumi.Input[Optional[bool]] = None,
                           ids: pulumi.Input[Optional[Sequence[pulumi.Input[str]]]] = None,
                           name_regex: pulumi.Input[Optional[str]] = None,
                           output_file: pulumi.Input[Optional[str]] = None,
                           type: pulumi.Input[Optional[str]] = None,
                           opts: Optional[InvokeOptions] = None) -> Output[GetPluginClassesResult]
    func GetPluginClasses(ctx *Context, args *GetPluginClassesArgs, opts ...InvokeOption) (*GetPluginClassesResult, error)
    func GetPluginClassesOutput(ctx *Context, args *GetPluginClassesOutputArgs, opts ...InvokeOption) GetPluginClassesResultOutput

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

    public static class GetPluginClasses 
    {
        public static Task<GetPluginClassesResult> InvokeAsync(GetPluginClassesArgs args, InvokeOptions? opts = null)
        public static Output<GetPluginClassesResult> Invoke(GetPluginClassesInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetPluginClassesResult> getPluginClasses(GetPluginClassesArgs args, InvokeOptions options)
    public static Output<GetPluginClassesResult> getPluginClasses(GetPluginClassesArgs args, InvokeOptions options)
    
    fn::invoke:
      function: alicloud:apig/getPluginClasses:getPluginClasses
      arguments:
        # arguments dictionary
    data "alicloud_apig_get_plugin_classes" "name" {
        # arguments
    }

    The following arguments are supported:

    EnableDetails bool
    Default to false. Set it to true can output more details about resource attributes.
    Ids List<string>
    A list of Plugin Class IDs.
    NameRegex string
    A regex string to filter results by plugin class name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    Type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    EnableDetails bool
    Default to false. Set it to true can output more details about resource attributes.
    Ids []string
    A list of Plugin Class IDs.
    NameRegex string
    A regex string to filter results by plugin class name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    Type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    enable_details bool
    Default to false. Set it to true can output more details about resource attributes.
    ids list(string)
    A list of Plugin Class IDs.
    name_regex string
    A regex string to filter results by plugin class name.
    output_file string
    File name where to save data source results (after running pulumi preview).
    type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    enableDetails Boolean
    Default to false. Set it to true can output more details about resource attributes.
    ids List<String>
    A list of Plugin Class IDs.
    nameRegex String
    A regex string to filter results by plugin class name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    type String
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    enableDetails boolean
    Default to false. Set it to true can output more details about resource attributes.
    ids string[]
    A list of Plugin Class IDs.
    nameRegex string
    A regex string to filter results by plugin class name.
    outputFile string
    File name where to save data source results (after running pulumi preview).
    type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    enable_details bool
    Default to false. Set it to true can output more details about resource attributes.
    ids Sequence[str]
    A list of Plugin Class IDs.
    name_regex str
    A regex string to filter results by plugin class name.
    output_file str
    File name where to save data source results (after running pulumi preview).
    type str
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    enableDetails Boolean
    Default to false. Set it to true can output more details about resource attributes.
    ids List<String>
    A list of Plugin Class IDs.
    nameRegex String
    A regex string to filter results by plugin class name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    type String
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.

    getPluginClasses Result

    The following output properties are available:

    Classes List<Pulumi.AliCloud.Apig.Outputs.GetPluginClassesClass>
    A list of Plugin Class. Each element contains the following attributes:
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids List<string>
    Names List<string>
    A list of name of Plugin Classes.
    EnableDetails bool
    NameRegex string
    OutputFile string
    Type string
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).
    Classes []GetPluginClassesClass
    A list of Plugin Class. Each element contains the following attributes:
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids []string
    Names []string
    A list of name of Plugin Classes.
    EnableDetails bool
    NameRegex string
    OutputFile string
    Type string
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).
    classes list(object)
    A list of Plugin Class. Each element contains the following attributes:
    id string
    The provider-assigned unique ID for this managed resource.
    ids list(string)
    names list(string)
    A list of name of Plugin Classes.
    enable_details bool
    name_regex string
    output_file string
    type string
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).
    classes List<GetPluginClassesClass>
    A list of Plugin Class. Each element contains the following attributes:
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    names List<String>
    A list of name of Plugin Classes.
    enableDetails Boolean
    nameRegex String
    outputFile String
    type String
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).
    classes GetPluginClassesClass[]
    A list of Plugin Class. Each element contains the following attributes:
    id string
    The provider-assigned unique ID for this managed resource.
    ids string[]
    names string[]
    A list of name of Plugin Classes.
    enableDetails boolean
    nameRegex string
    outputFile string
    type string
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).
    classes Sequence[GetPluginClassesClass]
    A list of Plugin Class. Each element contains the following attributes:
    id str
    The provider-assigned unique ID for this managed resource.
    ids Sequence[str]
    names Sequence[str]
    A list of name of Plugin Classes.
    enable_details bool
    name_regex str
    output_file str
    type str
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).
    classes List<Property Map>
    A list of Plugin Class. Each element contains the following attributes:
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    names List<String>
    A list of name of Plugin Classes.
    enableDetails Boolean
    nameRegex String
    outputFile String
    type String
    The type of the plugin class. Valid values: Auth (authentication and authorization plugin), FlowControl (traffic control plugin), FlowObservation (traffic observation plugin), Security (security protection plugin), TransportProtocol (transport protocol plugin), Other (custom plugin).

    Supporting Types

    GetPluginClassesClass

    Alias string
    The alias of the plugin class.
    Description string
    The description of the plugin class, which introduces the main functions of the plugin.
    Document string
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    Id string
    The ID of the Plugin Class. It is the same as pluginClassId.
    PluginClassId string
    The ID of the plugin class.
    PluginClassName string
    The name of the plugin class.
    Status string
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    Type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    Version string
    The version of the plugin class.
    WasmLanguage string
    The programming language of the wasm plugin. It is available when enableDetails is set to true.
    Alias string
    The alias of the plugin class.
    Description string
    The description of the plugin class, which introduces the main functions of the plugin.
    Document string
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    Id string
    The ID of the Plugin Class. It is the same as pluginClassId.
    PluginClassId string
    The ID of the plugin class.
    PluginClassName string
    The name of the plugin class.
    Status string
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    Type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    Version string
    The version of the plugin class.
    WasmLanguage string
    The programming language of the wasm plugin. It is available when enableDetails is set to true.
    alias string
    The alias of the plugin class.
    description string
    The description of the plugin class, which introduces the main functions of the plugin.
    document string
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    id string
    The ID of the Plugin Class. It is the same as pluginClassId.
    plugin_class_id string
    The ID of the plugin class.
    plugin_class_name string
    The name of the plugin class.
    status string
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    version string
    The version of the plugin class.
    wasm_language string
    The programming language of the wasm plugin. It is available when enableDetails is set to true.
    alias String
    The alias of the plugin class.
    description String
    The description of the plugin class, which introduces the main functions of the plugin.
    document String
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    id String
    The ID of the Plugin Class. It is the same as pluginClassId.
    pluginClassId String
    The ID of the plugin class.
    pluginClassName String
    The name of the plugin class.
    status String
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    type String
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    version String
    The version of the plugin class.
    wasmLanguage String
    The programming language of the wasm plugin. It is available when enableDetails is set to true.
    alias string
    The alias of the plugin class.
    description string
    The description of the plugin class, which introduces the main functions of the plugin.
    document string
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    id string
    The ID of the Plugin Class. It is the same as pluginClassId.
    pluginClassId string
    The ID of the plugin class.
    pluginClassName string
    The name of the plugin class.
    status string
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    type string
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    version string
    The version of the plugin class.
    wasmLanguage string
    The programming language of the wasm plugin. It is available when enableDetails is set to true.
    alias str
    The alias of the plugin class.
    description str
    The description of the plugin class, which introduces the main functions of the plugin.
    document str
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    id str
    The ID of the Plugin Class. It is the same as pluginClassId.
    plugin_class_id str
    The ID of the plugin class.
    plugin_class_name str
    The name of the plugin class.
    status str
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    type str
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    version str
    The version of the plugin class.
    wasm_language str
    The programming language of the wasm plugin. It is available when enableDetails is set to true.
    alias String
    The alias of the plugin class.
    description String
    The description of the plugin class, which introduces the main functions of the plugin.
    document String
    The document of the plugin class, which describes the functions and usage of the plugin in detail. It is available when enableDetails is set to true.
    id String
    The ID of the Plugin Class. It is the same as pluginClassId.
    pluginClassId String
    The ID of the plugin class.
    pluginClassName String
    The name of the plugin class.
    status String
    The publish status of the plugin class. Valid values: Success (published successfully), Failed (failed to be published), Publishing (being published). Only a plugin class in the Success status can be installed.
    type String
    The type of the plugin class used to filter results. Valid values: Auth, FlowControl, FlowObservation, Security, TransportProtocol, Other.
    version String
    The version of the plugin class.
    wasmLanguage String
    The programming language of the wasm plugin. It is available when enableDetails is set to true.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo alicloud logo
    Viewing docs for Alibaba Cloud v3.105.0
    published on Thursday, Jul 16, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial