1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. DatabaseManagement
  5. getExternalListener
Oracle Cloud Infrastructure v1.41.0 published on Wednesday, Jun 19, 2024 by Pulumi

oci.DatabaseManagement.getExternalListener

Explore with Pulumi AI

oci logo
Oracle Cloud Infrastructure v1.41.0 published on Wednesday, Jun 19, 2024 by Pulumi

    This data source provides details about a specific External Listener resource in Oracle Cloud Infrastructure Database Management service.

    Gets the details for the external listener specified by externalListenerId.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as oci from "@pulumi/oci";
    
    const testExternalListener = oci.DatabaseManagement.getExternalListener({
        externalListenerId: testExternalListenerOciDatabaseManagementExternalListener.id,
    });
    
    import pulumi
    import pulumi_oci as oci
    
    test_external_listener = oci.DatabaseManagement.get_external_listener(external_listener_id=test_external_listener_oci_database_management_external_listener["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-oci/sdk/go/oci/DatabaseManagement"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := DatabaseManagement.GetExternalListener(ctx, &databasemanagement.GetExternalListenerArgs{
    			ExternalListenerId: testExternalListenerOciDatabaseManagementExternalListener.Id,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Oci = Pulumi.Oci;
    
    return await Deployment.RunAsync(() => 
    {
        var testExternalListener = Oci.DatabaseManagement.GetExternalListener.Invoke(new()
        {
            ExternalListenerId = testExternalListenerOciDatabaseManagementExternalListener.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.oci.DatabaseManagement.DatabaseManagementFunctions;
    import com.pulumi.oci.DatabaseManagement.inputs.GetExternalListenerArgs;
    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 testExternalListener = DatabaseManagementFunctions.getExternalListener(GetExternalListenerArgs.builder()
                .externalListenerId(testExternalListenerOciDatabaseManagementExternalListener.id())
                .build());
    
        }
    }
    
    variables:
      testExternalListener:
        fn::invoke:
          Function: oci:DatabaseManagement:getExternalListener
          Arguments:
            externalListenerId: ${testExternalListenerOciDatabaseManagementExternalListener.id}
    

    Using getExternalListener

    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 getExternalListener(args: GetExternalListenerArgs, opts?: InvokeOptions): Promise<GetExternalListenerResult>
    function getExternalListenerOutput(args: GetExternalListenerOutputArgs, opts?: InvokeOptions): Output<GetExternalListenerResult>
    def get_external_listener(external_listener_id: Optional[str] = None,
                              opts: Optional[InvokeOptions] = None) -> GetExternalListenerResult
    def get_external_listener_output(external_listener_id: Optional[pulumi.Input[str]] = None,
                              opts: Optional[InvokeOptions] = None) -> Output[GetExternalListenerResult]
    func GetExternalListener(ctx *Context, args *GetExternalListenerArgs, opts ...InvokeOption) (*GetExternalListenerResult, error)
    func GetExternalListenerOutput(ctx *Context, args *GetExternalListenerOutputArgs, opts ...InvokeOption) GetExternalListenerResultOutput

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

    public static class GetExternalListener 
    {
        public static Task<GetExternalListenerResult> InvokeAsync(GetExternalListenerArgs args, InvokeOptions? opts = null)
        public static Output<GetExternalListenerResult> Invoke(GetExternalListenerInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetExternalListenerResult> getExternalListener(GetExternalListenerArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: oci:DatabaseManagement/getExternalListener:getExternalListener
      arguments:
        # arguments dictionary

    The following arguments are supported:

    ExternalListenerId string
    The OCID of the external listener.
    ExternalListenerId string
    The OCID of the external listener.
    externalListenerId String
    The OCID of the external listener.
    externalListenerId string
    The OCID of the external listener.
    external_listener_id str
    The OCID of the external listener.
    externalListenerId String
    The OCID of the external listener.

    getExternalListener Result

    The following output properties are available:

    AdditionalDetails Dictionary<string, object>
    The additional details of the external listener defined in {"key": "value"} format. Example: {"bar-key": "value"}
    AdrHomeDirectory string
    The directory that stores tracing and logging incidents when Automatic Diagnostic Repository (ADR) is enabled.
    CompartmentId string
    The OCID of the compartment in which the external database resides.
    ComponentName string
    The name of the external listener.
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    The user-friendly name for the database. The name does not have to be unique.
    Endpoints List<GetExternalListenerEndpoint>
    The list of protocol addresses the listener is configured to listen on.
    ExternalConnectorId string
    The OCID of the external connector.
    ExternalDbHomeId string
    The OCID of the external DB home.
    ExternalDbNodeId string
    The OCID of the external DB node.
    ExternalDbSystemId string
    The OCID of the external DB system that the listener is a part of.
    ExternalListenerId string
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostName string
    The name of the host on which the external listener is running.
    Id string
    The OCID of the external database.
    LifecycleDetails string
    Additional information about the current lifecycle state.
    ListenerAlias string
    The listener alias.
    ListenerOraLocation string
    The location of the listener configuration file listener.ora.
    ListenerType string
    The type of listener.
    LogDirectory string
    The destination directory of the listener log file.
    OracleHome string
    The Oracle home location of the listener.
    ServicedAsms List<GetExternalListenerServicedAsm>
    The list of ASMs that are serviced by the listener.
    ServicedDatabases List<GetExternalListenerServicedDatabase>
    The list of databases that are serviced by the listener.
    State string
    The current lifecycle state of the external listener.
    SystemTags Dictionary<string, object>
    System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The date and time the external listener was created.
    TimeUpdated string
    The date and time the external listener was last updated.
    TraceDirectory string
    The destination directory of the listener trace file.
    Version string
    The listener version.
    AdditionalDetails map[string]interface{}
    The additional details of the external listener defined in {"key": "value"} format. Example: {"bar-key": "value"}
    AdrHomeDirectory string
    The directory that stores tracing and logging incidents when Automatic Diagnostic Repository (ADR) is enabled.
    CompartmentId string
    The OCID of the compartment in which the external database resides.
    ComponentName string
    The name of the external listener.
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    The user-friendly name for the database. The name does not have to be unique.
    Endpoints []GetExternalListenerEndpoint
    The list of protocol addresses the listener is configured to listen on.
    ExternalConnectorId string
    The OCID of the external connector.
    ExternalDbHomeId string
    The OCID of the external DB home.
    ExternalDbNodeId string
    The OCID of the external DB node.
    ExternalDbSystemId string
    The OCID of the external DB system that the listener is a part of.
    ExternalListenerId string
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostName string
    The name of the host on which the external listener is running.
    Id string
    The OCID of the external database.
    LifecycleDetails string
    Additional information about the current lifecycle state.
    ListenerAlias string
    The listener alias.
    ListenerOraLocation string
    The location of the listener configuration file listener.ora.
    ListenerType string
    The type of listener.
    LogDirectory string
    The destination directory of the listener log file.
    OracleHome string
    The Oracle home location of the listener.
    ServicedAsms []GetExternalListenerServicedAsm
    The list of ASMs that are serviced by the listener.
    ServicedDatabases []GetExternalListenerServicedDatabase
    The list of databases that are serviced by the listener.
    State string
    The current lifecycle state of the external listener.
    SystemTags map[string]interface{}
    System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The date and time the external listener was created.
    TimeUpdated string
    The date and time the external listener was last updated.
    TraceDirectory string
    The destination directory of the listener trace file.
    Version string
    The listener version.
    additionalDetails Map<String,Object>
    The additional details of the external listener defined in {"key": "value"} format. Example: {"bar-key": "value"}
    adrHomeDirectory String
    The directory that stores tracing and logging incidents when Automatic Diagnostic Repository (ADR) is enabled.
    compartmentId String
    The OCID of the compartment in which the external database resides.
    componentName String
    The name of the external listener.
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    The user-friendly name for the database. The name does not have to be unique.
    endpoints List<GetExternalListenerEndpoint>
    The list of protocol addresses the listener is configured to listen on.
    externalConnectorId String
    The OCID of the external connector.
    externalDbHomeId String
    The OCID of the external DB home.
    externalDbNodeId String
    The OCID of the external DB node.
    externalDbSystemId String
    The OCID of the external DB system that the listener is a part of.
    externalListenerId String
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostName String
    The name of the host on which the external listener is running.
    id String
    The OCID of the external database.
    lifecycleDetails String
    Additional information about the current lifecycle state.
    listenerAlias String
    The listener alias.
    listenerOraLocation String
    The location of the listener configuration file listener.ora.
    listenerType String
    The type of listener.
    logDirectory String
    The destination directory of the listener log file.
    oracleHome String
    The Oracle home location of the listener.
    servicedAsms List<GetExternalListenerServicedAsm>
    The list of ASMs that are serviced by the listener.
    servicedDatabases List<GetExternalListenerServicedDatabase>
    The list of databases that are serviced by the listener.
    state String
    The current lifecycle state of the external listener.
    systemTags Map<String,Object>
    System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The date and time the external listener was created.
    timeUpdated String
    The date and time the external listener was last updated.
    traceDirectory String
    The destination directory of the listener trace file.
    version String
    The listener version.
    additionalDetails {[key: string]: any}
    The additional details of the external listener defined in {"key": "value"} format. Example: {"bar-key": "value"}
    adrHomeDirectory string
    The directory that stores tracing and logging incidents when Automatic Diagnostic Repository (ADR) is enabled.
    compartmentId string
    The OCID of the compartment in which the external database resides.
    componentName string
    The name of the external listener.
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    The user-friendly name for the database. The name does not have to be unique.
    endpoints GetExternalListenerEndpoint[]
    The list of protocol addresses the listener is configured to listen on.
    externalConnectorId string
    The OCID of the external connector.
    externalDbHomeId string
    The OCID of the external DB home.
    externalDbNodeId string
    The OCID of the external DB node.
    externalDbSystemId string
    The OCID of the external DB system that the listener is a part of.
    externalListenerId string
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostName string
    The name of the host on which the external listener is running.
    id string
    The OCID of the external database.
    lifecycleDetails string
    Additional information about the current lifecycle state.
    listenerAlias string
    The listener alias.
    listenerOraLocation string
    The location of the listener configuration file listener.ora.
    listenerType string
    The type of listener.
    logDirectory string
    The destination directory of the listener log file.
    oracleHome string
    The Oracle home location of the listener.
    servicedAsms GetExternalListenerServicedAsm[]
    The list of ASMs that are serviced by the listener.
    servicedDatabases GetExternalListenerServicedDatabase[]
    The list of databases that are serviced by the listener.
    state string
    The current lifecycle state of the external listener.
    systemTags {[key: string]: any}
    System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated string
    The date and time the external listener was created.
    timeUpdated string
    The date and time the external listener was last updated.
    traceDirectory string
    The destination directory of the listener trace file.
    version string
    The listener version.
    additional_details Mapping[str, Any]
    The additional details of the external listener defined in {"key": "value"} format. Example: {"bar-key": "value"}
    adr_home_directory str
    The directory that stores tracing and logging incidents when Automatic Diagnostic Repository (ADR) is enabled.
    compartment_id str
    The OCID of the compartment in which the external database resides.
    component_name str
    The name of the external listener.
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    The user-friendly name for the database. The name does not have to be unique.
    endpoints Sequence[databasemanagement.GetExternalListenerEndpoint]
    The list of protocol addresses the listener is configured to listen on.
    external_connector_id str
    The OCID of the external connector.
    external_db_home_id str
    The OCID of the external DB home.
    external_db_node_id str
    The OCID of the external DB node.
    external_db_system_id str
    The OCID of the external DB system that the listener is a part of.
    external_listener_id str
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    host_name str
    The name of the host on which the external listener is running.
    id str
    The OCID of the external database.
    lifecycle_details str
    Additional information about the current lifecycle state.
    listener_alias str
    The listener alias.
    listener_ora_location str
    The location of the listener configuration file listener.ora.
    listener_type str
    The type of listener.
    log_directory str
    The destination directory of the listener log file.
    oracle_home str
    The Oracle home location of the listener.
    serviced_asms Sequence[databasemanagement.GetExternalListenerServicedAsm]
    The list of ASMs that are serviced by the listener.
    serviced_databases Sequence[databasemanagement.GetExternalListenerServicedDatabase]
    The list of databases that are serviced by the listener.
    state str
    The current lifecycle state of the external listener.
    system_tags Mapping[str, Any]
    System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud.free-tier-retained": "true"}
    time_created str
    The date and time the external listener was created.
    time_updated str
    The date and time the external listener was last updated.
    trace_directory str
    The destination directory of the listener trace file.
    version str
    The listener version.
    additionalDetails Map<Any>
    The additional details of the external listener defined in {"key": "value"} format. Example: {"bar-key": "value"}
    adrHomeDirectory String
    The directory that stores tracing and logging incidents when Automatic Diagnostic Repository (ADR) is enabled.
    compartmentId String
    The OCID of the compartment in which the external database resides.
    componentName String
    The name of the external listener.
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    The user-friendly name for the database. The name does not have to be unique.
    endpoints List<Property Map>
    The list of protocol addresses the listener is configured to listen on.
    externalConnectorId String
    The OCID of the external connector.
    externalDbHomeId String
    The OCID of the external DB home.
    externalDbNodeId String
    The OCID of the external DB node.
    externalDbSystemId String
    The OCID of the external DB system that the listener is a part of.
    externalListenerId String
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostName String
    The name of the host on which the external listener is running.
    id String
    The OCID of the external database.
    lifecycleDetails String
    Additional information about the current lifecycle state.
    listenerAlias String
    The listener alias.
    listenerOraLocation String
    The location of the listener configuration file listener.ora.
    listenerType String
    The type of listener.
    logDirectory String
    The destination directory of the listener log file.
    oracleHome String
    The Oracle home location of the listener.
    servicedAsms List<Property Map>
    The list of ASMs that are serviced by the listener.
    servicedDatabases List<Property Map>
    The list of databases that are serviced by the listener.
    state String
    The current lifecycle state of the external listener.
    systemTags Map<Any>
    System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The date and time the external listener was created.
    timeUpdated String
    The date and time the external listener was last updated.
    traceDirectory String
    The destination directory of the listener trace file.
    version String
    The listener version.

    Supporting Types

    GetExternalListenerEndpoint

    Host string
    The host name or IP address.
    Key string
    The unique name of the service.
    Port int
    The port number.
    Protocol string
    The listener protocol.
    Services List<string>
    The list of services registered with the listener.
    Host string
    The host name or IP address.
    Key string
    The unique name of the service.
    Port int
    The port number.
    Protocol string
    The listener protocol.
    Services []string
    The list of services registered with the listener.
    host String
    The host name or IP address.
    key String
    The unique name of the service.
    port Integer
    The port number.
    protocol String
    The listener protocol.
    services List<String>
    The list of services registered with the listener.
    host string
    The host name or IP address.
    key string
    The unique name of the service.
    port number
    The port number.
    protocol string
    The listener protocol.
    services string[]
    The list of services registered with the listener.
    host str
    The host name or IP address.
    key str
    The unique name of the service.
    port int
    The port number.
    protocol str
    The listener protocol.
    services Sequence[str]
    The list of services registered with the listener.
    host String
    The host name or IP address.
    key String
    The unique name of the service.
    port Number
    The port number.
    protocol String
    The listener protocol.
    services List<String>
    The list of services registered with the listener.

    GetExternalListenerServicedAsm

    CompartmentId string
    The OCID of the compartment in which the external database resides.
    DisplayName string
    The user-friendly name for the database. The name does not have to be unique.
    Id string
    The OCID of the external database.
    CompartmentId string
    The OCID of the compartment in which the external database resides.
    DisplayName string
    The user-friendly name for the database. The name does not have to be unique.
    Id string
    The OCID of the external database.
    compartmentId String
    The OCID of the compartment in which the external database resides.
    displayName String
    The user-friendly name for the database. The name does not have to be unique.
    id String
    The OCID of the external database.
    compartmentId string
    The OCID of the compartment in which the external database resides.
    displayName string
    The user-friendly name for the database. The name does not have to be unique.
    id string
    The OCID of the external database.
    compartment_id str
    The OCID of the compartment in which the external database resides.
    display_name str
    The user-friendly name for the database. The name does not have to be unique.
    id str
    The OCID of the external database.
    compartmentId String
    The OCID of the compartment in which the external database resides.
    displayName String
    The user-friendly name for the database. The name does not have to be unique.
    id String
    The OCID of the external database.

    GetExternalListenerServicedDatabase

    CompartmentId string
    The OCID of the compartment in which the external database resides.
    DatabaseSubType string
    The subtype of Oracle Database. Indicates whether the database is a Container Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container Database.
    DatabaseType string
    The type of Oracle Database installation.
    DbUniqueName string
    The unique name of the external database.
    DisplayName string
    The user-friendly name for the database. The name does not have to be unique.
    Id string
    The OCID of the external database.
    IsManaged bool
    Indicates whether the database is a Managed Database or not.
    CompartmentId string
    The OCID of the compartment in which the external database resides.
    DatabaseSubType string
    The subtype of Oracle Database. Indicates whether the database is a Container Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container Database.
    DatabaseType string
    The type of Oracle Database installation.
    DbUniqueName string
    The unique name of the external database.
    DisplayName string
    The user-friendly name for the database. The name does not have to be unique.
    Id string
    The OCID of the external database.
    IsManaged bool
    Indicates whether the database is a Managed Database or not.
    compartmentId String
    The OCID of the compartment in which the external database resides.
    databaseSubType String
    The subtype of Oracle Database. Indicates whether the database is a Container Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container Database.
    databaseType String
    The type of Oracle Database installation.
    dbUniqueName String
    The unique name of the external database.
    displayName String
    The user-friendly name for the database. The name does not have to be unique.
    id String
    The OCID of the external database.
    isManaged Boolean
    Indicates whether the database is a Managed Database or not.
    compartmentId string
    The OCID of the compartment in which the external database resides.
    databaseSubType string
    The subtype of Oracle Database. Indicates whether the database is a Container Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container Database.
    databaseType string
    The type of Oracle Database installation.
    dbUniqueName string
    The unique name of the external database.
    displayName string
    The user-friendly name for the database. The name does not have to be unique.
    id string
    The OCID of the external database.
    isManaged boolean
    Indicates whether the database is a Managed Database or not.
    compartment_id str
    The OCID of the compartment in which the external database resides.
    database_sub_type str
    The subtype of Oracle Database. Indicates whether the database is a Container Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container Database.
    database_type str
    The type of Oracle Database installation.
    db_unique_name str
    The unique name of the external database.
    display_name str
    The user-friendly name for the database. The name does not have to be unique.
    id str
    The OCID of the external database.
    is_managed bool
    Indicates whether the database is a Managed Database or not.
    compartmentId String
    The OCID of the compartment in which the external database resides.
    databaseSubType String
    The subtype of Oracle Database. Indicates whether the database is a Container Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container Database.
    databaseType String
    The type of Oracle Database installation.
    dbUniqueName String
    The unique name of the external database.
    displayName String
    The user-friendly name for the database. The name does not have to be unique.
    id String
    The OCID of the external database.
    isManaged Boolean
    Indicates whether the database is a Managed Database or not.

    Package Details

    Repository
    oci pulumi/pulumi-oci
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the oci Terraform Provider.
    oci logo
    Oracle Cloud Infrastructure v1.41.0 published on Wednesday, Jun 19, 2024 by Pulumi