1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. Events
  5. getRules
Oracle Cloud Infrastructure v2.31.0 published on Thursday, Apr 17, 2025 by Pulumi

oci.Events.getRules

Explore with Pulumi AI

Oracle Cloud Infrastructure v2.31.0 published on Thursday, Apr 17, 2025 by Pulumi

This data source provides the list of Rules in Oracle Cloud Infrastructure Events service.

Lists rules for this compartment.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as oci from "@pulumi/oci";

const testRules = oci.Events.getRules({
    compartmentId: compartmentId,
    displayName: ruleDisplayName,
    state: ruleState,
});
Copy
import pulumi
import pulumi_oci as oci

test_rules = oci.Events.get_rules(compartment_id=compartment_id,
    display_name=rule_display_name,
    state=rule_state)
Copy
package main

import (
	"github.com/pulumi/pulumi-oci/sdk/v2/go/oci/events"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := events.GetRules(ctx, &events.GetRulesArgs{
			CompartmentId: compartmentId,
			DisplayName:   pulumi.StringRef(ruleDisplayName),
			State:         pulumi.StringRef(ruleState),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Oci = Pulumi.Oci;

return await Deployment.RunAsync(() => 
{
    var testRules = Oci.Events.GetRules.Invoke(new()
    {
        CompartmentId = compartmentId,
        DisplayName = ruleDisplayName,
        State = ruleState,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.oci.Events.EventsFunctions;
import com.pulumi.oci.Events.inputs.GetRulesArgs;
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 testRules = EventsFunctions.getRules(GetRulesArgs.builder()
            .compartmentId(compartmentId)
            .displayName(ruleDisplayName)
            .state(ruleState)
            .build());

    }
}
Copy
variables:
  testRules:
    fn::invoke:
      function: oci:Events:getRules
      arguments:
        compartmentId: ${compartmentId}
        displayName: ${ruleDisplayName}
        state: ${ruleState}
Copy

Using getRules

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 getRules(args: GetRulesArgs, opts?: InvokeOptions): Promise<GetRulesResult>
function getRulesOutput(args: GetRulesOutputArgs, opts?: InvokeOptions): Output<GetRulesResult>
Copy
def get_rules(compartment_id: Optional[str] = None,
              display_name: Optional[str] = None,
              filters: Optional[Sequence[_events.GetRulesFilter]] = None,
              state: Optional[str] = None,
              opts: Optional[InvokeOptions] = None) -> GetRulesResult
def get_rules_output(compartment_id: Optional[pulumi.Input[str]] = None,
              display_name: Optional[pulumi.Input[str]] = None,
              filters: Optional[pulumi.Input[Sequence[pulumi.Input[_events.GetRulesFilterArgs]]]] = None,
              state: Optional[pulumi.Input[str]] = None,
              opts: Optional[InvokeOptions] = None) -> Output[GetRulesResult]
Copy
func GetRules(ctx *Context, args *GetRulesArgs, opts ...InvokeOption) (*GetRulesResult, error)
func GetRulesOutput(ctx *Context, args *GetRulesOutputArgs, opts ...InvokeOption) GetRulesResultOutput
Copy

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

public static class GetRules 
{
    public static Task<GetRulesResult> InvokeAsync(GetRulesArgs args, InvokeOptions? opts = null)
    public static Output<GetRulesResult> Invoke(GetRulesInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetRulesResult> getRules(GetRulesArgs args, InvokeOptions options)
public static Output<GetRulesResult> getRules(GetRulesArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: oci:Events/getRules:getRules
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

CompartmentId This property is required. string
The OCID of the compartment to which this rule belongs.
DisplayName string
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
Filters Changes to this property will trigger replacement. List<GetRulesFilter>
State string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
CompartmentId This property is required. string
The OCID of the compartment to which this rule belongs.
DisplayName string
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
Filters Changes to this property will trigger replacement. []GetRulesFilter
State string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
compartmentId This property is required. String
The OCID of the compartment to which this rule belongs.
displayName String
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
filters Changes to this property will trigger replacement. List<GetRulesFilter>
state String
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
compartmentId This property is required. string
The OCID of the compartment to which this rule belongs.
displayName string
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
filters Changes to this property will trigger replacement. GetRulesFilter[]
state string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
compartment_id This property is required. str
The OCID of the compartment to which this rule belongs.
display_name str
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
filters Changes to this property will trigger replacement. Sequence[events.GetRulesFilter]
state str
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
compartmentId This property is required. String
The OCID of the compartment to which this rule belongs.
displayName String
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
filters Changes to this property will trigger replacement. List<Property Map>
state String
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating

getRules Result

The following output properties are available:

CompartmentId string
The OCID of the compartment to which this rule belongs.
Id string
The provider-assigned unique ID for this managed resource.
Rules List<GetRulesRule>
The list of rules.
DisplayName string
A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information. Example: "This rule sends a notification upon completion of DbaaS backup."
Filters List<GetRulesFilter>
State string
The current state of the rule.
CompartmentId string
The OCID of the compartment to which this rule belongs.
Id string
The provider-assigned unique ID for this managed resource.
Rules []GetRulesRule
The list of rules.
DisplayName string
A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information. Example: "This rule sends a notification upon completion of DbaaS backup."
Filters []GetRulesFilter
State string
The current state of the rule.
compartmentId String
The OCID of the compartment to which this rule belongs.
id String
The provider-assigned unique ID for this managed resource.
rules List<GetRulesRule>
The list of rules.
displayName String
A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information. Example: "This rule sends a notification upon completion of DbaaS backup."
filters List<GetRulesFilter>
state String
The current state of the rule.
compartmentId string
The OCID of the compartment to which this rule belongs.
id string
The provider-assigned unique ID for this managed resource.
rules GetRulesRule[]
The list of rules.
displayName string
A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information. Example: "This rule sends a notification upon completion of DbaaS backup."
filters GetRulesFilter[]
state string
The current state of the rule.
compartment_id str
The OCID of the compartment to which this rule belongs.
id str
The provider-assigned unique ID for this managed resource.
rules Sequence[events.GetRulesRule]
The list of rules.
display_name str
A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information. Example: "This rule sends a notification upon completion of DbaaS backup."
filters Sequence[events.GetRulesFilter]
state str
The current state of the rule.
compartmentId String
The OCID of the compartment to which this rule belongs.
id String
The provider-assigned unique ID for this managed resource.
rules List<Property Map>
The list of rules.
displayName String
A string that describes the rule. It does not have to be unique, and you can change it. Avoid entering confidential information. Example: "This rule sends a notification upon completion of DbaaS backup."
filters List<Property Map>
state String
The current state of the rule.

Supporting Types

GetRulesFilter

Name This property is required. string
Values This property is required. List<string>
Regex bool
Name This property is required. string
Values This property is required. []string
Regex bool
name This property is required. String
values This property is required. List<String>
regex Boolean
name This property is required. string
values This property is required. string[]
regex boolean
name This property is required. str
values This property is required. Sequence[str]
regex bool
name This property is required. String
values This property is required. List<String>
regex Boolean

GetRulesRule

Actions This property is required. List<GetRulesRuleAction>
A list of one or more Action objects.
CompartmentId This property is required. string
The OCID of the compartment to which this rule belongs.
Condition This property is required. string
A filter that specifies the event that will trigger actions associated with this rule. A few important things to remember about filters:

  • Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: {}
DefinedTags This property is required. Dictionary<string, string>
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
Description This property is required. string
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
DisplayName This property is required. string
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
FreeformTags This property is required. Dictionary<string, string>
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags. Example: {"Department": "Finance"}
Id This property is required. string
The OCID of this rule.
IsEnabled This property is required. bool
Whether or not this rule is currently enabled. Example: true
LifecycleMessage This property is required. string
A message generated by the Events service about the current state of this rule.
State This property is required. string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
TimeCreated This property is required. string
The time this rule was created, expressed in RFC 3339 timestamp format. Example: 2018-09-12T22:47:12.613Z
Actions This property is required. []GetRulesRuleAction
A list of one or more Action objects.
CompartmentId This property is required. string
The OCID of the compartment to which this rule belongs.
Condition This property is required. string
A filter that specifies the event that will trigger actions associated with this rule. A few important things to remember about filters:

  • Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: {}
DefinedTags This property is required. map[string]string
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
Description This property is required. string
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
DisplayName This property is required. string
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
FreeformTags This property is required. map[string]string
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags. Example: {"Department": "Finance"}
Id This property is required. string
The OCID of this rule.
IsEnabled This property is required. bool
Whether or not this rule is currently enabled. Example: true
LifecycleMessage This property is required. string
A message generated by the Events service about the current state of this rule.
State This property is required. string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
TimeCreated This property is required. string
The time this rule was created, expressed in RFC 3339 timestamp format. Example: 2018-09-12T22:47:12.613Z
actions This property is required. List<GetRulesRuleAction>
A list of one or more Action objects.
compartmentId This property is required. String
The OCID of the compartment to which this rule belongs.
condition This property is required. String
A filter that specifies the event that will trigger actions associated with this rule. A few important things to remember about filters:

  • Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: {}
definedTags This property is required. Map<String,String>
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
description This property is required. String
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
displayName This property is required. String
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
freeformTags This property is required. Map<String,String>
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. String
The OCID of this rule.
isEnabled This property is required. Boolean
Whether or not this rule is currently enabled. Example: true
lifecycleMessage This property is required. String
A message generated by the Events service about the current state of this rule.
state This property is required. String
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
timeCreated This property is required. String
The time this rule was created, expressed in RFC 3339 timestamp format. Example: 2018-09-12T22:47:12.613Z
actions This property is required. GetRulesRuleAction[]
A list of one or more Action objects.
compartmentId This property is required. string
The OCID of the compartment to which this rule belongs.
condition This property is required. string
A filter that specifies the event that will trigger actions associated with this rule. A few important things to remember about filters:

  • Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: {}
definedTags This property is required. {[key: string]: string}
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
description This property is required. string
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
displayName This property is required. string
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
freeformTags This property is required. {[key: string]: string}
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. string
The OCID of this rule.
isEnabled This property is required. boolean
Whether or not this rule is currently enabled. Example: true
lifecycleMessage This property is required. string
A message generated by the Events service about the current state of this rule.
state This property is required. string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
timeCreated This property is required. string
The time this rule was created, expressed in RFC 3339 timestamp format. Example: 2018-09-12T22:47:12.613Z
actions This property is required. Sequence[events.GetRulesRuleAction]
A list of one or more Action objects.
compartment_id This property is required. str
The OCID of the compartment to which this rule belongs.
condition This property is required. str
A filter that specifies the event that will trigger actions associated with this rule. A few important things to remember about filters:

  • Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: {}
defined_tags This property is required. Mapping[str, str]
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
description This property is required. str
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
display_name This property is required. str
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
freeform_tags This property is required. Mapping[str, str]
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. str
The OCID of this rule.
is_enabled This property is required. bool
Whether or not this rule is currently enabled. Example: true
lifecycle_message This property is required. str
A message generated by the Events service about the current state of this rule.
state This property is required. str
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
time_created This property is required. str
The time this rule was created, expressed in RFC 3339 timestamp format. Example: 2018-09-12T22:47:12.613Z
actions This property is required. List<Property Map>
A list of one or more Action objects.
compartmentId This property is required. String
The OCID of the compartment to which this rule belongs.
condition This property is required. String
A filter that specifies the event that will trigger actions associated with this rule. A few important things to remember about filters:

  • Fields not mentioned in the condition are ignored. You can create a valid filter that matches all events with two curly brackets: {}
definedTags This property is required. Map<String>
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
description This property is required. String
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
displayName This property is required. String
A filter to return only rules with descriptions that match the displayName string in this parameter. Example: "This rule sends a notification upon completion of DbaaS backup."
freeformTags This property is required. Map<String>
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. String
The OCID of this rule.
isEnabled This property is required. Boolean
Whether or not this rule is currently enabled. Example: true
lifecycleMessage This property is required. String
A message generated by the Events service about the current state of this rule.
state This property is required. String
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
timeCreated This property is required. String
The time this rule was created, expressed in RFC 3339 timestamp format. Example: 2018-09-12T22:47:12.613Z

GetRulesRuleAction

Actions This property is required. List<GetRulesRuleActionAction>
A list of one or more Action objects.
Actions This property is required. []GetRulesRuleActionAction
A list of one or more Action objects.
actions This property is required. List<GetRulesRuleActionAction>
A list of one or more Action objects.
actions This property is required. GetRulesRuleActionAction[]
A list of one or more Action objects.
actions This property is required. Sequence[events.GetRulesRuleActionAction]
A list of one or more Action objects.
actions This property is required. List<Property Map>
A list of one or more Action objects.

GetRulesRuleActionAction

ActionType This property is required. string
The action to perform if the condition in the rule matches an event.

  • ONS: Send to an Oracle Notification Service topic.
  • OSS: Send to a stream from Oracle Streaming Service.
  • FAAS: Send to an Oracle Functions Service endpoint.
Description This property is required. string
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
FunctionId This property is required. string
The OCID of a Function hosted by Oracle Functions Service.
Id This property is required. string
The OCID of this rule.
IsEnabled This property is required. bool
Whether or not this rule is currently enabled. Example: true
LifecycleMessage This property is required. string
A message generated by the Events service about the current state of this rule.
State This property is required. string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
StreamId This property is required. string
The OCID of the stream to which messages are delivered.
TopicId This property is required. string
The OCID of the topic to which messages are delivered.
ActionType This property is required. string
The action to perform if the condition in the rule matches an event.

  • ONS: Send to an Oracle Notification Service topic.
  • OSS: Send to a stream from Oracle Streaming Service.
  • FAAS: Send to an Oracle Functions Service endpoint.
Description This property is required. string
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
FunctionId This property is required. string
The OCID of a Function hosted by Oracle Functions Service.
Id This property is required. string
The OCID of this rule.
IsEnabled This property is required. bool
Whether or not this rule is currently enabled. Example: true
LifecycleMessage This property is required. string
A message generated by the Events service about the current state of this rule.
State This property is required. string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
StreamId This property is required. string
The OCID of the stream to which messages are delivered.
TopicId This property is required. string
The OCID of the topic to which messages are delivered.
actionType This property is required. String
The action to perform if the condition in the rule matches an event.

  • ONS: Send to an Oracle Notification Service topic.
  • OSS: Send to a stream from Oracle Streaming Service.
  • FAAS: Send to an Oracle Functions Service endpoint.
description This property is required. String
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
functionId This property is required. String
The OCID of a Function hosted by Oracle Functions Service.
id This property is required. String
The OCID of this rule.
isEnabled This property is required. Boolean
Whether or not this rule is currently enabled. Example: true
lifecycleMessage This property is required. String
A message generated by the Events service about the current state of this rule.
state This property is required. String
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
streamId This property is required. String
The OCID of the stream to which messages are delivered.
topicId This property is required. String
The OCID of the topic to which messages are delivered.
actionType This property is required. string
The action to perform if the condition in the rule matches an event.

  • ONS: Send to an Oracle Notification Service topic.
  • OSS: Send to a stream from Oracle Streaming Service.
  • FAAS: Send to an Oracle Functions Service endpoint.
description This property is required. string
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
functionId This property is required. string
The OCID of a Function hosted by Oracle Functions Service.
id This property is required. string
The OCID of this rule.
isEnabled This property is required. boolean
Whether or not this rule is currently enabled. Example: true
lifecycleMessage This property is required. string
A message generated by the Events service about the current state of this rule.
state This property is required. string
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
streamId This property is required. string
The OCID of the stream to which messages are delivered.
topicId This property is required. string
The OCID of the topic to which messages are delivered.
action_type This property is required. str
The action to perform if the condition in the rule matches an event.

  • ONS: Send to an Oracle Notification Service topic.
  • OSS: Send to a stream from Oracle Streaming Service.
  • FAAS: Send to an Oracle Functions Service endpoint.
description This property is required. str
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
function_id This property is required. str
The OCID of a Function hosted by Oracle Functions Service.
id This property is required. str
The OCID of this rule.
is_enabled This property is required. bool
Whether or not this rule is currently enabled. Example: true
lifecycle_message This property is required. str
A message generated by the Events service about the current state of this rule.
state This property is required. str
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
stream_id This property is required. str
The OCID of the stream to which messages are delivered.
topic_id This property is required. str
The OCID of the topic to which messages are delivered.
actionType This property is required. String
The action to perform if the condition in the rule matches an event.

  • ONS: Send to an Oracle Notification Service topic.
  • OSS: Send to a stream from Oracle Streaming Service.
  • FAAS: Send to an Oracle Functions Service endpoint.
description This property is required. String
A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.
functionId This property is required. String
The OCID of a Function hosted by Oracle Functions Service.
id This property is required. String
The OCID of this rule.
isEnabled This property is required. Boolean
Whether or not this rule is currently enabled. Example: true
lifecycleMessage This property is required. String
A message generated by the Events service about the current state of this rule.
state This property is required. String
A filter to return only rules that match the lifecycle state in this parameter. Example: Creating
streamId This property is required. String
The OCID of the stream to which messages are delivered.
topicId This property is required. String
The OCID of the topic to which messages are delivered.

Package Details

Repository
oci pulumi/pulumi-oci
License
Apache-2.0
Notes
This Pulumi package is based on the oci Terraform Provider.
Oracle Cloud Infrastructure v2.31.0 published on Thursday, Apr 17, 2025 by Pulumi