EtlArgs

data class EtlArgs(val accessKeyId: Output<String>? = null, val accessKeySecret: Output<String>? = null, val createTime: Output<Int>? = null, val description: Output<String>? = null, val displayName: Output<String>? = null, val etlName: Output<String>? = null, val etlSinks: Output<List<EtlEtlSinkArgs>>? = null, val etlType: Output<String>? = null, val fromTime: Output<Int>? = null, val kmsEncryptedAccessKeyId: Output<String>? = null, val kmsEncryptedAccessKeySecret: Output<String>? = null, val kmsEncryptionAccessKeyIdContext: Output<Map<String, Any>>? = null, val kmsEncryptionAccessKeySecretContext: Output<Map<String, Any>>? = null, val lastModifiedTime: Output<Int>? = null, val logstore: Output<String>? = null, val parameters: Output<Map<String, String>>? = null, val project: Output<String>? = null, val roleArn: Output<String>? = null, val schedule: Output<String>? = null, val script: Output<String>? = null, val status: Output<String>? = null, val toTime: Output<Int>? = null, val version: Output<Int>? = null) : ConvertibleToJava<EtlArgs>

The data transformation of the log service is a hosted, highly available, and scalable data processing service, which is widely applicable to scenarios such as data regularization, enrichment, distribution, aggregation, and index reconstruction. Refer to details.

NOTE: Available in 1.120.0

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.RandomInteger;
import com.pulumi.random.RandomIntegerArgs;
import com.pulumi.alicloud.log.Project;
import com.pulumi.alicloud.log.ProjectArgs;
import com.pulumi.alicloud.log.Store;
import com.pulumi.alicloud.log.StoreArgs;
import com.pulumi.alicloud.log.Etl;
import com.pulumi.alicloud.log.EtlArgs;
import com.pulumi.alicloud.log.inputs.EtlEtlSinkArgs;
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) {
var default_ = new RandomInteger("default", RandomIntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var exampleProject = new Project("exampleProject", ProjectArgs.builder()
.description("terraform-example")
.build());
var exampleStore = new Store("exampleStore", StoreArgs.builder()
.project(exampleProject.name())
.retentionPeriod(3650)
.shardCount(3)
.autoSplit(true)
.maxSplitShardCount(60)
.appendMeta(true)
.build());
var example2 = new Store("example2", StoreArgs.builder()
.project(exampleProject.name())
.retentionPeriod(3650)
.shardCount(3)
.autoSplit(true)
.maxSplitShardCount(60)
.appendMeta(true)
.build());
var example3 = new Store("example3", StoreArgs.builder()
.project(exampleProject.name())
.retentionPeriod(3650)
.shardCount(3)
.autoSplit(true)
.maxSplitShardCount(60)
.appendMeta(true)
.build());
var exampleEtl = new Etl("exampleEtl", EtlArgs.builder()
.etlName("terraform-example")
.project(exampleProject.name())
.displayName("terraform-example")
.description("terraform-example")
.accessKeyId("access_key_id")
.accessKeySecret("access_key_secret")
.script("e_set('new','key')")
.logstore(exampleStore.name())
.etlSinks(
EtlEtlSinkArgs.builder()
.name("target_name")
.accessKeyId("example2_access_key_id")
.accessKeySecret("example2_access_key_secret")
.endpoint("cn-hangzhou.log.aliyuncs.com")
.project(exampleProject.name())
.logstore(example2.name())
.build(),
EtlEtlSinkArgs.builder()
.name("target_name2")
.accessKeyId("example3_access_key_id")
.accessKeySecret("example3_access_key_secret")
.endpoint("cn-hangzhou.log.aliyuncs.com")
.project(exampleProject.name())
.logstore(example3.name())
.build())
.build());
}
}

Import

Log etl can be imported using the id, e.g.

$ pulumi import alicloud:log/etl:Etl example tf-log-project:tf-log-etl-name

Constructors

Link copied to clipboard
fun EtlArgs(accessKeyId: Output<String>? = null, accessKeySecret: Output<String>? = null, createTime: Output<Int>? = null, description: Output<String>? = null, displayName: Output<String>? = null, etlName: Output<String>? = null, etlSinks: Output<List<EtlEtlSinkArgs>>? = null, etlType: Output<String>? = null, fromTime: Output<Int>? = null, kmsEncryptedAccessKeyId: Output<String>? = null, kmsEncryptedAccessKeySecret: Output<String>? = null, kmsEncryptionAccessKeyIdContext: Output<Map<String, Any>>? = null, kmsEncryptionAccessKeySecretContext: Output<Map<String, Any>>? = null, lastModifiedTime: Output<Int>? = null, logstore: Output<String>? = null, parameters: Output<Map<String, String>>? = null, project: Output<String>? = null, roleArn: Output<String>? = null, schedule: Output<String>? = null, script: Output<String>? = null, status: Output<String>? = null, toTime: Output<Int>? = null, version: Output<Int>? = null)

Functions

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

Properties

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

Delivery target logstore access key id.

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

Delivery target logstore access key secret.

Link copied to clipboard
val createTime: Output<Int>? = null

The etl job create time.

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

Description of the log etl job.

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

Log service etl job alias.

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

The name of the log etl job.

Link copied to clipboard
val etlSinks: Output<List<EtlEtlSinkArgs>>? = null

Target logstore configuration for delivery after data processing.

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

Log service etl type, the default value is ETL.

Link copied to clipboard
val fromTime: Output<Int>? = null

The start time of the processing job, if not set the value is 0, indicates to start processing from the oldest data.

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

An KMS encrypts access key id used to a log etl job. If the access_key_id is filled in, this field will be ignored.

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

An KMS encrypts access key secret used to a log etl job. If the access_key_secret is filled in, this field will be ignored.

Link copied to clipboard

An KMS encryption context used to decrypt kms_encrypted_access_key_id before creating or updating an instance with kms_encrypted_access_key_id. See Encryption Context. It is valid when kms_encrypted_password is set. When it is changed, the instance will reboot to make the change take effect.

Link copied to clipboard

An KMS encryption context used to decrypt kms_encrypted_access_key_secret before creating or updating an instance with kms_encrypted_access_key_secret. See Encryption Context. It is valid when kms_encrypted_password is set. When it is changed, the instance will reboot to make the change take effect.

Link copied to clipboard
val lastModifiedTime: Output<Int>? = null

ETL job last modified time.

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

Delivery target logstore.

Link copied to clipboard
val parameters: Output<Map<String, String>>? = null

Advanced parameter configuration of processing operations.

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

The project where the target logstore is delivered.

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

Sts role info under delivery target logstore. role_arn and (access_key_id, access_key_secret) fill in at most one. If you do not fill in both, then you must fill in (kms_encrypted_access_key_id, kms_encrypted_access_key_secret, kms_encryption_access_key_id_context, kms_encryption_access_key_secret_context) to use KMS to get the key pair.

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

Job scheduling type, the default value is Resident.

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

Processing operation grammar.

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

Log project tags. the default value is RUNNING, Only 4 values are supported: STARTINGRUNNINGSTOPPINGSTOPPED.

Link copied to clipboard
val toTime: Output<Int>? = null

Deadline of processing job, if not set the value is 0, indicates that new data will be processed continuously.

Link copied to clipboard
val version: Output<Int>? = null

Log etl job version. the default value is 2.