StateConfiguration

class StateConfiguration : KotlinCustomResource

Provides a OOS State Configuration resource. For information about OOS State Configuration and how to use it, see What is State Configuration.

NOTE: Available in v1.147.0+.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.resourcemanager.getResourceGroups({});
const defaultStateConfiguration = new alicloud.oos.StateConfiguration("default", {
templateName: "ACS-ECS-InventoryDataCollection",
configureMode: "ApplyOnly",
description: "terraform-example",
scheduleType: "rate",
scheduleExpression: "1 hour",
resourceGroupId: _default.then(_default => _default.ids?.[0]),
targets: "{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}",
parameters: "{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}",
tags: {
Created: "TF",
For: "example",
},
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.resourcemanager.get_resource_groups()
default_state_configuration = alicloud.oos.StateConfiguration("default",
template_name="ACS-ECS-InventoryDataCollection",
configure_mode="ApplyOnly",
description="terraform-example",
schedule_type="rate",
schedule_expression="1 hour",
resource_group_id=default.ids[0],
targets="{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}",
parameters="{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}",
tags={
"Created": "TF",
"For": "example",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();
var defaultStateConfiguration = new AliCloud.Oos.StateConfiguration("default", new()
{
TemplateName = "ACS-ECS-InventoryDataCollection",
ConfigureMode = "ApplyOnly",
Description = "terraform-example",
ScheduleType = "rate",
ScheduleExpression = "1 hour",
ResourceGroupId = @default.Apply(@default => @default.Apply(getResourceGroupsResult => getResourceGroupsResult.Ids[0])),
Targets = "{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}",
Parameters = "{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}",
Tags =
{
{ "Created", "TF" },
{ "For", "example" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
if err != nil {
return err
}
_, err = oos.NewStateConfiguration(ctx, "default", &oos.StateConfigurationArgs{
TemplateName: pulumi.String("ACS-ECS-InventoryDataCollection"),
ConfigureMode: pulumi.String("ApplyOnly"),
Description: pulumi.String("terraform-example"),
ScheduleType: pulumi.String("rate"),
ScheduleExpression: pulumi.String("1 hour"),
ResourceGroupId: pulumi.String(_default.Ids[0]),
Targets: pulumi.String("{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}"),
Parameters: pulumi.String("{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}"),
Tags: pulumi.StringMap{
"Created": pulumi.String("TF"),
"For": pulumi.String("example"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.oos.StateConfiguration;
import com.pulumi.alicloud.oos.StateConfigurationArgs;
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 default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
.build());
var defaultStateConfiguration = new StateConfiguration("defaultStateConfiguration", StateConfigurationArgs.builder()
.templateName("ACS-ECS-InventoryDataCollection")
.configureMode("ApplyOnly")
.description("terraform-example")
.scheduleType("rate")
.scheduleExpression("1 hour")
.resourceGroupId(default_.ids()[0])
.targets("{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}")
.parameters("{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}")
.tags(Map.ofEntries(
Map.entry("Created", "TF"),
Map.entry("For", "example")
))
.build());
}
}
resources:
defaultStateConfiguration:
type: alicloud:oos:StateConfiguration
name: default
properties:
templateName: ACS-ECS-InventoryDataCollection
configureMode: ApplyOnly
description: terraform-example
scheduleType: rate
scheduleExpression: 1 hour
resourceGroupId: ${default.ids[0]}
targets: '{"Filters": [{"Type": "All", "Parameters": {"InstanceChargeType": "PrePaid"}}], "ResourceType": "ALIYUN::ECS::Instance"}'
parameters: '{"policy": {"ACS:Application": {"Collection": "Enabled"}}}'
tags:
Created: TF
For: example
variables:
default:
fn::invoke:
function: alicloud:resourcemanager:getResourceGroups
arguments: {}

Import

OOS State Configuration can be imported using the id, e.g.

$ pulumi import alicloud:oos/stateConfiguration:StateConfiguration example <id>

Properties

Link copied to clipboard
val configureMode: Output<String>

Configuration mode. Valid values: ApplyAndAutoCorrect, ApplyAndMonitor, ApplyOnly.

Link copied to clipboard
val description: Output<String>?

The description of the resource.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val parameters: Output<String>?

The parameter of the Template. This field is in the format of JSON strings. For detailed definition instructions, please refer to Metadata types that are supported by a configuration list.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceGroupId: Output<String>

The ID of the resource group.

Link copied to clipboard

Timing expression.

Link copied to clipboard
val scheduleType: Output<String>

Timing type. Valid values: rate.

Link copied to clipboard
val tags: Output<Map<String, String>>?

The tag of the resource.

Link copied to clipboard
val targets: Output<String>

The Target resources. This field is in the format of JSON strings. For detailed definition instructions, please refer to Parameter.

Link copied to clipboard
val templateName: Output<String>

The name of the template.

Link copied to clipboard
val templateVersion: Output<String>

The version number. If you do not specify this parameter, the system uses the latest version.

Link copied to clipboard
val urn: Output<String>