ServiceHybridDoubleWriteArgs

data class ServiceHybridDoubleWriteArgs(val namespace: Output<String>? = null, val sourceNamespace: Output<String>? = null, val sourceUserId: Output<String>? = null, val userId: Output<String>? = null) : ConvertibleToJava<ServiceHybridDoubleWriteArgs>

Provides a Cloud Monitor Service Hybrid Double Write resource. For information about Cloud Monitor Service Hybrid Double Write and how to use it, see What is Hybrid Double Write.

NOTE: Available since v1.210.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "tf-example";
const _default = alicloud.getAccount({});
const source = new alicloud.cms.Namespace("source", {namespace: name});
const defaultNamespace = new alicloud.cms.Namespace("default", {namespace: `${name}-source`});
const defaultServiceHybridDoubleWrite = new alicloud.cloudmonitor.ServiceHybridDoubleWrite("default", {
sourceNamespace: source.id,
sourceUserId: _default.then(_default => _default.id),
namespace: defaultNamespace.id,
userId: _default.then(_default => _default.id),
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf-example"
default = alicloud.get_account()
source = alicloud.cms.Namespace("source", namespace=name)
default_namespace = alicloud.cms.Namespace("default", namespace=f"{name}-source")
default_service_hybrid_double_write = alicloud.cloudmonitor.ServiceHybridDoubleWrite("default",
source_namespace=source.id,
source_user_id=default.id,
namespace=default_namespace.id,
user_id=default.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tf-example";
var @default = AliCloud.GetAccount.Invoke();
var source = new AliCloud.Cms.Namespace("source", new()
{
NamespaceName = name,
});
var defaultNamespace = new AliCloud.Cms.Namespace("default", new()
{
NamespaceName = $"{name}-source",
});
var defaultServiceHybridDoubleWrite = new AliCloud.CloudMonitor.ServiceHybridDoubleWrite("default", new()
{
SourceNamespace = source.Id,
SourceUserId = @default.Apply(@default => @default.Apply(getAccountResult => getAccountResult.Id)),
Namespace = defaultNamespace.Id,
UserId = @default.Apply(@default => @default.Apply(getAccountResult => getAccountResult.Id)),
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "tf-example"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
source, err := cms.NewNamespace(ctx, "source", &cms.NamespaceArgs{
Namespace: pulumi.String(name),
})
if err != nil {
return err
}
defaultNamespace, err := cms.NewNamespace(ctx, "default", &cms.NamespaceArgs{
Namespace: pulumi.Sprintf("%v-source", name),
})
if err != nil {
return err
}
_, err = cloudmonitor.NewServiceHybridDoubleWrite(ctx, "default", &cloudmonitor.ServiceHybridDoubleWriteArgs{
SourceNamespace: source.ID(),
SourceUserId: pulumi.String(_default.Id),
Namespace: defaultNamespace.ID(),
UserId: pulumi.String(_default.Id),
})
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.AlicloudFunctions;
import com.pulumi.alicloud.cms.Namespace;
import com.pulumi.alicloud.cms.NamespaceArgs;
import com.pulumi.alicloud.cloudmonitor.ServiceHybridDoubleWrite;
import com.pulumi.alicloud.cloudmonitor.ServiceHybridDoubleWriteArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("tf-example");
final var default = AlicloudFunctions.getAccount();
var source = new Namespace("source", NamespaceArgs.builder()
.namespace(name)
.build());
var defaultNamespace = new Namespace("defaultNamespace", NamespaceArgs.builder()
.namespace(String.format("%s-source", name))
.build());
var defaultServiceHybridDoubleWrite = new ServiceHybridDoubleWrite("defaultServiceHybridDoubleWrite", ServiceHybridDoubleWriteArgs.builder()
.sourceNamespace(source.id())
.sourceUserId(default_.id())
.namespace(defaultNamespace.id())
.userId(default_.id())
.build());
}
}
configuration:
name:
type: string
default: tf-example
resources:
source:
type: alicloud:cms:Namespace
properties:
namespace: ${name}
defaultNamespace:
type: alicloud:cms:Namespace
name: default
properties:
namespace: ${name}-source
defaultServiceHybridDoubleWrite:
type: alicloud:cloudmonitor:ServiceHybridDoubleWrite
name: default
properties:
sourceNamespace: ${source.id}
sourceUserId: ${default.id}
namespace: ${defaultNamespace.id}
userId: ${default.id}
variables:
default:
fn::invoke:
function: alicloud:getAccount
arguments: {}

Import

Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g.

$ pulumi import alicloud:cloudmonitor/serviceHybridDoubleWrite:ServiceHybridDoubleWrite example <source_namespace>:<source_user_id>

Constructors

Link copied to clipboard
constructor(namespace: Output<String>? = null, sourceNamespace: Output<String>? = null, sourceUserId: Output<String>? = null, userId: Output<String>? = null)

Properties

Link copied to clipboard
val namespace: Output<String>? = null

Target Namespace.

Link copied to clipboard
val sourceNamespace: Output<String>? = null

Source Namespace.

Link copied to clipboard
val sourceUserId: Output<String>? = null

Source UserId.

Link copied to clipboard
val userId: Output<String>? = null

Target UserId.

Functions

Link copied to clipboard
open override fun toJava(): ServiceHybridDoubleWriteArgs