1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. oos
  5. getTemplates
Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

alicloud.oos.getTemplates

Explore with Pulumi AI

Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

This data source provides a list of OOS Templates in an Alibaba Cloud account according to the specified filters.

NOTE: Available in v1.92.0+.

Example Usage

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

// Declare the data source
const example = alicloud.oos.getTemplates({
    nameRegex: "test",
    tags: {
        Created: "TF",
        For: "template Test",
    },
    shareType: "Private",
    hasTrigger: false,
});
export const firstTemplateName = example.then(example => example.templates?.[0]?.templateName);
Copy
import pulumi
import pulumi_alicloud as alicloud

# Declare the data source
example = alicloud.oos.get_templates(name_regex="test",
    tags={
        "Created": "TF",
        "For": "template Test",
    },
    share_type="Private",
    has_trigger=False)
pulumi.export("firstTemplateName", example.templates[0].template_name)
Copy
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Declare the data source
		example, err := oos.GetTemplates(ctx, &oos.GetTemplatesArgs{
			NameRegex: pulumi.StringRef("test"),
			Tags: map[string]interface{}{
				"Created": "TF",
				"For":     "template Test",
			},
			ShareType:  pulumi.StringRef("Private"),
			HasTrigger: pulumi.BoolRef(false),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstTemplateName", example.Templates[0].TemplateName)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;

return await Deployment.RunAsync(() => 
{
    // Declare the data source
    var example = AliCloud.Oos.GetTemplates.Invoke(new()
    {
        NameRegex = "test",
        Tags = 
        {
            { "Created", "TF" },
            { "For", "template Test" },
        },
        ShareType = "Private",
        HasTrigger = false,
    });

    return new Dictionary<string, object?>
    {
        ["firstTemplateName"] = example.Apply(getTemplatesResult => getTemplatesResult.Templates[0]?.TemplateName),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.oos.OosFunctions;
import com.pulumi.alicloud.oos.inputs.GetTemplatesArgs;
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) {
        // Declare the data source
        final var example = OosFunctions.getTemplates(GetTemplatesArgs.builder()
            .nameRegex("test")
            .tags(Map.ofEntries(
                Map.entry("Created", "TF"),
                Map.entry("For", "template Test")
            ))
            .shareType("Private")
            .hasTrigger(false)
            .build());

        ctx.export("firstTemplateName", example.applyValue(getTemplatesResult -> getTemplatesResult.templates()[0].templateName()));
    }
}
Copy
variables:
  # Declare the data source
  example:
    fn::invoke:
      function: alicloud:oos:getTemplates
      arguments:
        nameRegex: test
        tags:
          Created: TF
          For: template Test
        shareType: Private
        hasTrigger: false
outputs:
  firstTemplateName: ${example.templates[0].templateName}
Copy

Using getTemplates

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 getTemplates(args: GetTemplatesArgs, opts?: InvokeOptions): Promise<GetTemplatesResult>
function getTemplatesOutput(args: GetTemplatesOutputArgs, opts?: InvokeOptions): Output<GetTemplatesResult>
Copy
def get_templates(category: Optional[str] = None,
                  created_by: Optional[str] = None,
                  created_date: Optional[str] = None,
                  created_date_after: Optional[str] = None,
                  has_trigger: Optional[bool] = None,
                  ids: Optional[Sequence[str]] = None,
                  name_regex: Optional[str] = None,
                  output_file: Optional[str] = None,
                  share_type: Optional[str] = None,
                  sort_field: Optional[str] = None,
                  sort_order: Optional[str] = None,
                  tags: Optional[Mapping[str, str]] = None,
                  template_format: Optional[str] = None,
                  template_type: Optional[str] = None,
                  opts: Optional[InvokeOptions] = None) -> GetTemplatesResult
def get_templates_output(category: Optional[pulumi.Input[str]] = None,
                  created_by: Optional[pulumi.Input[str]] = None,
                  created_date: Optional[pulumi.Input[str]] = None,
                  created_date_after: Optional[pulumi.Input[str]] = None,
                  has_trigger: Optional[pulumi.Input[bool]] = None,
                  ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                  name_regex: Optional[pulumi.Input[str]] = None,
                  output_file: Optional[pulumi.Input[str]] = None,
                  share_type: Optional[pulumi.Input[str]] = None,
                  sort_field: Optional[pulumi.Input[str]] = None,
                  sort_order: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                  template_format: Optional[pulumi.Input[str]] = None,
                  template_type: Optional[pulumi.Input[str]] = None,
                  opts: Optional[InvokeOptions] = None) -> Output[GetTemplatesResult]
Copy
func GetTemplates(ctx *Context, args *GetTemplatesArgs, opts ...InvokeOption) (*GetTemplatesResult, error)
func GetTemplatesOutput(ctx *Context, args *GetTemplatesOutputArgs, opts ...InvokeOption) GetTemplatesResultOutput
Copy

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

public static class GetTemplates 
{
    public static Task<GetTemplatesResult> InvokeAsync(GetTemplatesArgs args, InvokeOptions? opts = null)
    public static Output<GetTemplatesResult> Invoke(GetTemplatesInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetTemplatesResult> getTemplates(GetTemplatesArgs args, InvokeOptions options)
public static Output<GetTemplatesResult> getTemplates(GetTemplatesArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: alicloud:oos/getTemplates:getTemplates
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Category Changes to this property will trigger replacement. string
The category of template.
CreatedBy Changes to this property will trigger replacement. string
The creator of the template.
CreatedDate Changes to this property will trigger replacement. string
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
CreatedDateAfter Changes to this property will trigger replacement. string
Create a template whose time is greater than or equal to the specified time. The format is: YYYY-MM-DDThh:mm:ssZ.
HasTrigger Changes to this property will trigger replacement. bool
Is it triggered successfully.
Ids Changes to this property will trigger replacement. List<string>
A list of OOS Template ids. Each element in the list is same as template_name.
NameRegex Changes to this property will trigger replacement. string
A regex string to filter the results by the template_name.
OutputFile string
File name where to save data source results (after running pulumi preview).
ShareType Changes to this property will trigger replacement. string
The sharing type of the template. Valid values: Private, Public.
SortField Changes to this property will trigger replacement. string
Sort field. Valid values: TotalExecutionCount, Popularity, TemplateName and CreatedDate. Default to TotalExecutionCount.
SortOrder Changes to this property will trigger replacement. string
Sort order. Valid values: Ascending, Descending. Default to Descending
Tags Dictionary<string, string>
A mapping of tags to assign to the resource.
TemplateFormat Changes to this property will trigger replacement. string
The format of the template. Valid values: JSON, YAML.
TemplateType Changes to this property will trigger replacement. string
The type of OOS Template.
Category Changes to this property will trigger replacement. string
The category of template.
CreatedBy Changes to this property will trigger replacement. string
The creator of the template.
CreatedDate Changes to this property will trigger replacement. string
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
CreatedDateAfter Changes to this property will trigger replacement. string
Create a template whose time is greater than or equal to the specified time. The format is: YYYY-MM-DDThh:mm:ssZ.
HasTrigger Changes to this property will trigger replacement. bool
Is it triggered successfully.
Ids Changes to this property will trigger replacement. []string
A list of OOS Template ids. Each element in the list is same as template_name.
NameRegex Changes to this property will trigger replacement. string
A regex string to filter the results by the template_name.
OutputFile string
File name where to save data source results (after running pulumi preview).
ShareType Changes to this property will trigger replacement. string
The sharing type of the template. Valid values: Private, Public.
SortField Changes to this property will trigger replacement. string
Sort field. Valid values: TotalExecutionCount, Popularity, TemplateName and CreatedDate. Default to TotalExecutionCount.
SortOrder Changes to this property will trigger replacement. string
Sort order. Valid values: Ascending, Descending. Default to Descending
Tags map[string]string
A mapping of tags to assign to the resource.
TemplateFormat Changes to this property will trigger replacement. string
The format of the template. Valid values: JSON, YAML.
TemplateType Changes to this property will trigger replacement. string
The type of OOS Template.
category Changes to this property will trigger replacement. String
The category of template.
createdBy Changes to this property will trigger replacement. String
The creator of the template.
createdDate Changes to this property will trigger replacement. String
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
createdDateAfter Changes to this property will trigger replacement. String
Create a template whose time is greater than or equal to the specified time. The format is: YYYY-MM-DDThh:mm:ssZ.
hasTrigger Changes to this property will trigger replacement. Boolean
Is it triggered successfully.
ids Changes to this property will trigger replacement. List<String>
A list of OOS Template ids. Each element in the list is same as template_name.
nameRegex Changes to this property will trigger replacement. String
A regex string to filter the results by the template_name.
outputFile String
File name where to save data source results (after running pulumi preview).
shareType Changes to this property will trigger replacement. String
The sharing type of the template. Valid values: Private, Public.
sortField Changes to this property will trigger replacement. String
Sort field. Valid values: TotalExecutionCount, Popularity, TemplateName and CreatedDate. Default to TotalExecutionCount.
sortOrder Changes to this property will trigger replacement. String
Sort order. Valid values: Ascending, Descending. Default to Descending
tags Map<String,String>
A mapping of tags to assign to the resource.
templateFormat Changes to this property will trigger replacement. String
The format of the template. Valid values: JSON, YAML.
templateType Changes to this property will trigger replacement. String
The type of OOS Template.
category Changes to this property will trigger replacement. string
The category of template.
createdBy Changes to this property will trigger replacement. string
The creator of the template.
createdDate Changes to this property will trigger replacement. string
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
createdDateAfter Changes to this property will trigger replacement. string
Create a template whose time is greater than or equal to the specified time. The format is: YYYY-MM-DDThh:mm:ssZ.
hasTrigger Changes to this property will trigger replacement. boolean
Is it triggered successfully.
ids Changes to this property will trigger replacement. string[]
A list of OOS Template ids. Each element in the list is same as template_name.
nameRegex Changes to this property will trigger replacement. string
A regex string to filter the results by the template_name.
outputFile string
File name where to save data source results (after running pulumi preview).
shareType Changes to this property will trigger replacement. string
The sharing type of the template. Valid values: Private, Public.
sortField Changes to this property will trigger replacement. string
Sort field. Valid values: TotalExecutionCount, Popularity, TemplateName and CreatedDate. Default to TotalExecutionCount.
sortOrder Changes to this property will trigger replacement. string
Sort order. Valid values: Ascending, Descending. Default to Descending
tags {[key: string]: string}
A mapping of tags to assign to the resource.
templateFormat Changes to this property will trigger replacement. string
The format of the template. Valid values: JSON, YAML.
templateType Changes to this property will trigger replacement. string
The type of OOS Template.
category Changes to this property will trigger replacement. str
The category of template.
created_by Changes to this property will trigger replacement. str
The creator of the template.
created_date Changes to this property will trigger replacement. str
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
created_date_after Changes to this property will trigger replacement. str
Create a template whose time is greater than or equal to the specified time. The format is: YYYY-MM-DDThh:mm:ssZ.
has_trigger Changes to this property will trigger replacement. bool
Is it triggered successfully.
ids Changes to this property will trigger replacement. Sequence[str]
A list of OOS Template ids. Each element in the list is same as template_name.
name_regex Changes to this property will trigger replacement. str
A regex string to filter the results by the template_name.
output_file str
File name where to save data source results (after running pulumi preview).
share_type Changes to this property will trigger replacement. str
The sharing type of the template. Valid values: Private, Public.
sort_field Changes to this property will trigger replacement. str
Sort field. Valid values: TotalExecutionCount, Popularity, TemplateName and CreatedDate. Default to TotalExecutionCount.
sort_order Changes to this property will trigger replacement. str
Sort order. Valid values: Ascending, Descending. Default to Descending
tags Mapping[str, str]
A mapping of tags to assign to the resource.
template_format Changes to this property will trigger replacement. str
The format of the template. Valid values: JSON, YAML.
template_type Changes to this property will trigger replacement. str
The type of OOS Template.
category Changes to this property will trigger replacement. String
The category of template.
createdBy Changes to this property will trigger replacement. String
The creator of the template.
createdDate Changes to this property will trigger replacement. String
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
createdDateAfter Changes to this property will trigger replacement. String
Create a template whose time is greater than or equal to the specified time. The format is: YYYY-MM-DDThh:mm:ssZ.
hasTrigger Changes to this property will trigger replacement. Boolean
Is it triggered successfully.
ids Changes to this property will trigger replacement. List<String>
A list of OOS Template ids. Each element in the list is same as template_name.
nameRegex Changes to this property will trigger replacement. String
A regex string to filter the results by the template_name.
outputFile String
File name where to save data source results (after running pulumi preview).
shareType Changes to this property will trigger replacement. String
The sharing type of the template. Valid values: Private, Public.
sortField Changes to this property will trigger replacement. String
Sort field. Valid values: TotalExecutionCount, Popularity, TemplateName and CreatedDate. Default to TotalExecutionCount.
sortOrder Changes to this property will trigger replacement. String
Sort order. Valid values: Ascending, Descending. Default to Descending
tags Map<String>
A mapping of tags to assign to the resource.
templateFormat Changes to this property will trigger replacement. String
The format of the template. Valid values: JSON, YAML.
templateType Changes to this property will trigger replacement. String
The type of OOS Template.

getTemplates Result

The following output properties are available:

Id string
The provider-assigned unique ID for this managed resource.
Ids List<string>
A list of OOS Template ids. Each element in the list is same as template_name.
Names List<string>
(Available in v1.114.0+) A list of OOS Template names.
Templates List<Pulumi.AliCloud.Oos.Outputs.GetTemplatesTemplate>
A list of OOS Templates. Each element contains the following attributes:
Category string
CreatedBy string
CreatedDate string
CreatedDateAfter string
HasTrigger bool
NameRegex string
OutputFile string
ShareType string
SortField string
SortOrder string
Tags Dictionary<string, string>
TemplateFormat string
TemplateType string
Id string
The provider-assigned unique ID for this managed resource.
Ids []string
A list of OOS Template ids. Each element in the list is same as template_name.
Names []string
(Available in v1.114.0+) A list of OOS Template names.
Templates []GetTemplatesTemplate
A list of OOS Templates. Each element contains the following attributes:
Category string
CreatedBy string
CreatedDate string
CreatedDateAfter string
HasTrigger bool
NameRegex string
OutputFile string
ShareType string
SortField string
SortOrder string
Tags map[string]string
TemplateFormat string
TemplateType string
id String
The provider-assigned unique ID for this managed resource.
ids List<String>
A list of OOS Template ids. Each element in the list is same as template_name.
names List<String>
(Available in v1.114.0+) A list of OOS Template names.
templates List<GetTemplatesTemplate>
A list of OOS Templates. Each element contains the following attributes:
category String
createdBy String
createdDate String
createdDateAfter String
hasTrigger Boolean
nameRegex String
outputFile String
shareType String
sortField String
sortOrder String
tags Map<String,String>
templateFormat String
templateType String
id string
The provider-assigned unique ID for this managed resource.
ids string[]
A list of OOS Template ids. Each element in the list is same as template_name.
names string[]
(Available in v1.114.0+) A list of OOS Template names.
templates GetTemplatesTemplate[]
A list of OOS Templates. Each element contains the following attributes:
category string
createdBy string
createdDate string
createdDateAfter string
hasTrigger boolean
nameRegex string
outputFile string
shareType string
sortField string
sortOrder string
tags {[key: string]: string}
templateFormat string
templateType string
id str
The provider-assigned unique ID for this managed resource.
ids Sequence[str]
A list of OOS Template ids. Each element in the list is same as template_name.
names Sequence[str]
(Available in v1.114.0+) A list of OOS Template names.
templates Sequence[GetTemplatesTemplate]
A list of OOS Templates. Each element contains the following attributes:
category str
created_by str
created_date str
created_date_after str
has_trigger bool
name_regex str
output_file str
share_type str
sort_field str
sort_order str
tags Mapping[str, str]
template_format str
template_type str
id String
The provider-assigned unique ID for this managed resource.
ids List<String>
A list of OOS Template ids. Each element in the list is same as template_name.
names List<String>
(Available in v1.114.0+) A list of OOS Template names.
templates List<Property Map>
A list of OOS Templates. Each element contains the following attributes:
category String
createdBy String
createdDate String
createdDateAfter String
hasTrigger Boolean
nameRegex String
outputFile String
shareType String
sortField String
sortOrder String
tags Map<String>
templateFormat String
templateType String

Supporting Types

GetTemplatesTemplate

Category This property is required. string
The category of template.
CreatedBy This property is required. string
The creator of the template.
CreatedDate This property is required. string
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
Description This property is required. string
Description of the OOS Template.
HasTrigger This property is required. bool
Is it triggered successfully.
Id This property is required. string
ID of the OOS Template. The value is same as template_name.
ShareType This property is required. string
The sharing type of the template. Valid values: Private, Public.
Tags This property is required. Dictionary<string, string>
A mapping of tags to assign to the resource.
TemplateFormat This property is required. string
The format of the template. Valid values: JSON, YAML.
TemplateId This property is required. string
ID of the OOS Template resource.
TemplateName This property is required. string
Name of the OOS Template.
TemplateType This property is required. string
The type of OOS Template.
TemplateVersion This property is required. string
Version of the OOS Template.
UpdatedBy This property is required. string
The user who updated the template.
UpdatedDate This property is required. string
The time when the template was updated.
Category This property is required. string
The category of template.
CreatedBy This property is required. string
The creator of the template.
CreatedDate This property is required. string
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
Description This property is required. string
Description of the OOS Template.
HasTrigger This property is required. bool
Is it triggered successfully.
Id This property is required. string
ID of the OOS Template. The value is same as template_name.
ShareType This property is required. string
The sharing type of the template. Valid values: Private, Public.
Tags This property is required. map[string]string
A mapping of tags to assign to the resource.
TemplateFormat This property is required. string
The format of the template. Valid values: JSON, YAML.
TemplateId This property is required. string
ID of the OOS Template resource.
TemplateName This property is required. string
Name of the OOS Template.
TemplateType This property is required. string
The type of OOS Template.
TemplateVersion This property is required. string
Version of the OOS Template.
UpdatedBy This property is required. string
The user who updated the template.
UpdatedDate This property is required. string
The time when the template was updated.
category This property is required. String
The category of template.
createdBy This property is required. String
The creator of the template.
createdDate This property is required. String
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
description This property is required. String
Description of the OOS Template.
hasTrigger This property is required. Boolean
Is it triggered successfully.
id This property is required. String
ID of the OOS Template. The value is same as template_name.
shareType This property is required. String
The sharing type of the template. Valid values: Private, Public.
tags This property is required. Map<String,String>
A mapping of tags to assign to the resource.
templateFormat This property is required. String
The format of the template. Valid values: JSON, YAML.
templateId This property is required. String
ID of the OOS Template resource.
templateName This property is required. String
Name of the OOS Template.
templateType This property is required. String
The type of OOS Template.
templateVersion This property is required. String
Version of the OOS Template.
updatedBy This property is required. String
The user who updated the template.
updatedDate This property is required. String
The time when the template was updated.
category This property is required. string
The category of template.
createdBy This property is required. string
The creator of the template.
createdDate This property is required. string
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
description This property is required. string
Description of the OOS Template.
hasTrigger This property is required. boolean
Is it triggered successfully.
id This property is required. string
ID of the OOS Template. The value is same as template_name.
shareType This property is required. string
The sharing type of the template. Valid values: Private, Public.
tags This property is required. {[key: string]: string}
A mapping of tags to assign to the resource.
templateFormat This property is required. string
The format of the template. Valid values: JSON, YAML.
templateId This property is required. string
ID of the OOS Template resource.
templateName This property is required. string
Name of the OOS Template.
templateType This property is required. string
The type of OOS Template.
templateVersion This property is required. string
Version of the OOS Template.
updatedBy This property is required. string
The user who updated the template.
updatedDate This property is required. string
The time when the template was updated.
category This property is required. str
The category of template.
created_by This property is required. str
The creator of the template.
created_date This property is required. str
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
description This property is required. str
Description of the OOS Template.
has_trigger This property is required. bool
Is it triggered successfully.
id This property is required. str
ID of the OOS Template. The value is same as template_name.
share_type This property is required. str
The sharing type of the template. Valid values: Private, Public.
tags This property is required. Mapping[str, str]
A mapping of tags to assign to the resource.
template_format This property is required. str
The format of the template. Valid values: JSON, YAML.
template_id This property is required. str
ID of the OOS Template resource.
template_name This property is required. str
Name of the OOS Template.
template_type This property is required. str
The type of OOS Template.
template_version This property is required. str
Version of the OOS Template.
updated_by This property is required. str
The user who updated the template.
updated_date This property is required. str
The time when the template was updated.
category This property is required. String
The category of template.
createdBy This property is required. String
The creator of the template.
createdDate This property is required. String
The template whose creation time is less than or equal to the specified time. The format is: YYYY-MM-DDThh:mm::ssZ.
description This property is required. String
Description of the OOS Template.
hasTrigger This property is required. Boolean
Is it triggered successfully.
id This property is required. String
ID of the OOS Template. The value is same as template_name.
shareType This property is required. String
The sharing type of the template. Valid values: Private, Public.
tags This property is required. Map<String>
A mapping of tags to assign to the resource.
templateFormat This property is required. String
The format of the template. Valid values: JSON, YAML.
templateId This property is required. String
ID of the OOS Template resource.
templateName This property is required. String
Name of the OOS Template.
templateType This property is required. String
The type of OOS Template.
templateVersion This property is required. String
Version of the OOS Template.
updatedBy This property is required. String
The user who updated the template.
updatedDate This property is required. String
The time when the template was updated.

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes
This Pulumi package is based on the alicloud Terraform Provider.
Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi