ResourceType class
Manages a Cloud Control API Resource. The configuration and lifecycle handling of these resources is proxied through Cloud Control API handlers to the backend service.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.cloudcontrol.Resource("example", {
typeName: "AWS::ECS::Cluster",
desiredState: JSON.stringify({
ClusterName: "example",
Tags: [{
Key: "CostCenter",
Value: "IT",
}],
}),
});
import pulumi
import json
import pulumi_aws as aws
example = aws.cloudcontrol.Resource("example",
type_name="AWS::ECS::Cluster",
desired_state=json.dumps({
"ClusterName": "example",
"Tags": [{
"Key": "CostCenter",
"Value": "IT",
}],
}))
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.CloudControl.Resource("example", new()
{
TypeName = "AWS::ECS::Cluster",
DesiredState = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["ClusterName"] = "example",
["Tags"] = new[]
{
new Dictionary<string, object?>
{
["Key"] = "CostCenter",
["Value"] = "IT",
},
},
}),
});
});
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudcontrol"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tmpJSON0, err := json.Marshal(map[string]interface{}{
"ClusterName": "example",
"Tags": []map[string]string{
{
"Key": "CostCenter",
"Value": "IT",
},
},
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = cloudcontrol.NewResource(ctx, "example", &cloudcontrol.ResourceArgs{
TypeName: pulumi.String("AWS::ECS::Cluster"),
DesiredState: pulumi.String(json0),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_cloudcontrol_resource" "example" {
type_name = "AWS::ECS::Cluster"
desired_state = jsonencode({
"ClusterName" = "example"
"Tags" = [{
"Key" = "CostCenter"
"Value" = "IT"
}]
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudcontrol.Resource;
import com.pulumi.aws.cloudcontrol.ResourceArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Resource("example", ResourceArgs.builder()
.typeName("AWS::ECS::Cluster")
.desiredState(serializeJson(
jsonObject(
jsonProperty("ClusterName", "example"),
jsonProperty("Tags", jsonArray(jsonObject(
jsonProperty("Key", "CostCenter"),
jsonProperty("Value", "IT")
)))
)))
.build());
}
}
resources:
example:
type: aws:cloudcontrol:Resource
properties:
typeName: AWS::ECS::Cluster
desiredState:
fn::toJSON:
ClusterName: example
Tags:
- Key: CostCenter
Value: IT
Constructors
- ResourceType(String name, {ResourceArgs? args, CustomResourceOptions? options})
-
Creates a new ResourceType.
nameThe Pulumi resource name.argsArguments used to configure this ResourceType. The set of arguments for Resource.optionsResource options controlling this resource's behavior. - ResourceType.reference(String urn)
- Creates a typed reference to an existing ResourceType resource.
Properties
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
desiredState
↔ Output<
String> -
JSON string matching the CloudFormation resource type schema with desired configuration.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
properties
↔ Output<
String> -
JSON string matching the CloudFormation resource type schema with current configuration. Underlying attributes can be referenced via the
jsondecode()function, for example,jsondecode(data.aws_cloudcontrolapi_resource.example.properties)["example"].latefinal -
region
↔ Output<
String> -
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
-
roleArn
↔ Output<
String?> -
ARN of the IAM Role to assume for operations.
latefinal
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
schema
↔ Output<
String> -
JSON string of the CloudFormation resource type schema which is used for plan time validation where possible. Automatically fetched if not provided. In large scale environments with multiple resources using the same
typeName, it is recommended to fetch the schema once via theaws.cloudformation.CloudFormationTypedata source and use this argument to reduceDescribeTypeAPI operation throttling. This value is marked sensitive only to prevent large plan differences from showing.latefinal -
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
typeName
↔ Output<
String> -
CloudFormation resource type name. For example,
AWS::EC2::VPC.latefinal -
typeVersionId
↔ Output<
String?> -
Identifier of the CloudFormation resource type version.
latefinal
-
urn
↔ Output<
String> -
latefinalinherited
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {ResourceState? state, CustomResourceOptions? options}) → ResourceType -
Gets an existing ResourceType resource's state with the given
nameandid.