All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.alicloud.log.inputs.EtlEtlSinkArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.alicloud.log.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class EtlEtlSinkArgs extends com.pulumi.resources.ResourceArgs {

    public static final EtlEtlSinkArgs Empty = new EtlEtlSinkArgs();

    /**
     * Delivery target logstore access key id.
     * 
     */
    @Import(name="accessKeyId")
    private @Nullable Output accessKeyId;

    /**
     * @return Delivery target logstore access key id.
     * 
     */
    public Optional> accessKeyId() {
        return Optional.ofNullable(this.accessKeyId);
    }

    /**
     * Delivery target logstore access key secret.
     * 
     */
    @Import(name="accessKeySecret")
    private @Nullable Output accessKeySecret;

    /**
     * @return Delivery target logstore access key secret.
     * 
     */
    public Optional> accessKeySecret() {
        return Optional.ofNullable(this.accessKeySecret);
    }

    /**
     * Delivery target logstore region.
     * 
     */
    @Import(name="endpoint", required=true)
    private Output endpoint;

    /**
     * @return Delivery target logstore region.
     * 
     */
    public Output endpoint() {
        return this.endpoint;
    }

    /**
     * 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.
     * 
     */
    @Import(name="kmsEncryptedAccessKeyId")
    private @Nullable Output kmsEncryptedAccessKeyId;

    /**
     * @return 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.
     * 
     */
    public Optional> kmsEncryptedAccessKeyId() {
        return Optional.ofNullable(this.kmsEncryptedAccessKeyId);
    }

    /**
     * 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.
     * 
     */
    @Import(name="kmsEncryptedAccessKeySecret")
    private @Nullable Output kmsEncryptedAccessKeySecret;

    /**
     * @return 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.
     * 
     */
    public Optional> kmsEncryptedAccessKeySecret() {
        return Optional.ofNullable(this.kmsEncryptedAccessKeySecret);
    }

    /**
     * Delivery target logstore.
     * 
     */
    @Import(name="logstore", required=true)
    private Output logstore;

    /**
     * @return Delivery target logstore.
     * 
     */
    public Output logstore() {
        return this.logstore;
    }

    /**
     * Delivery target name.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Delivery target name.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * The project where the target logstore is delivered.
     * 
     */
    @Import(name="project", required=true)
    private Output project;

    /**
     * @return The project where the target logstore is delivered.
     * 
     */
    public Output project() {
        return this.project;
    }

    /**
     * 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.
     * 
     */
    @Import(name="roleArn")
    private @Nullable Output roleArn;

    /**
     * @return 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.
     * 
     */
    public Optional> roleArn() {
        return Optional.ofNullable(this.roleArn);
    }

    /**
     * ETL sinks type, the default value is AliyunLOG.
     * 
     * > **Note:** `from_time` and `to_time` no modification allowed after successful creation.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return ETL sinks type, the default value is AliyunLOG.
     * 
     * > **Note:** `from_time` and `to_time` no modification allowed after successful creation.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private EtlEtlSinkArgs() {}

    private EtlEtlSinkArgs(EtlEtlSinkArgs $) {
        this.accessKeyId = $.accessKeyId;
        this.accessKeySecret = $.accessKeySecret;
        this.endpoint = $.endpoint;
        this.kmsEncryptedAccessKeyId = $.kmsEncryptedAccessKeyId;
        this.kmsEncryptedAccessKeySecret = $.kmsEncryptedAccessKeySecret;
        this.logstore = $.logstore;
        this.name = $.name;
        this.project = $.project;
        this.roleArn = $.roleArn;
        this.type = $.type;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(EtlEtlSinkArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private EtlEtlSinkArgs $;

        public Builder() {
            $ = new EtlEtlSinkArgs();
        }

        public Builder(EtlEtlSinkArgs defaults) {
            $ = new EtlEtlSinkArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param accessKeyId Delivery target logstore access key id.
         * 
         * @return builder
         * 
         */
        public Builder accessKeyId(@Nullable Output accessKeyId) {
            $.accessKeyId = accessKeyId;
            return this;
        }

        /**
         * @param accessKeyId Delivery target logstore access key id.
         * 
         * @return builder
         * 
         */
        public Builder accessKeyId(String accessKeyId) {
            return accessKeyId(Output.of(accessKeyId));
        }

        /**
         * @param accessKeySecret Delivery target logstore access key secret.
         * 
         * @return builder
         * 
         */
        public Builder accessKeySecret(@Nullable Output accessKeySecret) {
            $.accessKeySecret = accessKeySecret;
            return this;
        }

        /**
         * @param accessKeySecret Delivery target logstore access key secret.
         * 
         * @return builder
         * 
         */
        public Builder accessKeySecret(String accessKeySecret) {
            return accessKeySecret(Output.of(accessKeySecret));
        }

        /**
         * @param endpoint Delivery target logstore region.
         * 
         * @return builder
         * 
         */
        public Builder endpoint(Output endpoint) {
            $.endpoint = endpoint;
            return this;
        }

        /**
         * @param endpoint Delivery target logstore region.
         * 
         * @return builder
         * 
         */
        public Builder endpoint(String endpoint) {
            return endpoint(Output.of(endpoint));
        }

        /**
         * @param kmsEncryptedAccessKeyId 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.
         * 
         * @return builder
         * 
         */
        public Builder kmsEncryptedAccessKeyId(@Nullable Output kmsEncryptedAccessKeyId) {
            $.kmsEncryptedAccessKeyId = kmsEncryptedAccessKeyId;
            return this;
        }

        /**
         * @param kmsEncryptedAccessKeyId 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.
         * 
         * @return builder
         * 
         */
        public Builder kmsEncryptedAccessKeyId(String kmsEncryptedAccessKeyId) {
            return kmsEncryptedAccessKeyId(Output.of(kmsEncryptedAccessKeyId));
        }

        /**
         * @param kmsEncryptedAccessKeySecret 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.
         * 
         * @return builder
         * 
         */
        public Builder kmsEncryptedAccessKeySecret(@Nullable Output kmsEncryptedAccessKeySecret) {
            $.kmsEncryptedAccessKeySecret = kmsEncryptedAccessKeySecret;
            return this;
        }

        /**
         * @param kmsEncryptedAccessKeySecret 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.
         * 
         * @return builder
         * 
         */
        public Builder kmsEncryptedAccessKeySecret(String kmsEncryptedAccessKeySecret) {
            return kmsEncryptedAccessKeySecret(Output.of(kmsEncryptedAccessKeySecret));
        }

        /**
         * @param logstore Delivery target logstore.
         * 
         * @return builder
         * 
         */
        public Builder logstore(Output logstore) {
            $.logstore = logstore;
            return this;
        }

        /**
         * @param logstore Delivery target logstore.
         * 
         * @return builder
         * 
         */
        public Builder logstore(String logstore) {
            return logstore(Output.of(logstore));
        }

        /**
         * @param name Delivery target name.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Delivery target name.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param project The project where the target logstore is delivered.
         * 
         * @return builder
         * 
         */
        public Builder project(Output project) {
            $.project = project;
            return this;
        }

        /**
         * @param project The project where the target logstore is delivered.
         * 
         * @return builder
         * 
         */
        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param roleArn 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.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(@Nullable Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        /**
         * @param roleArn 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.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        /**
         * @param type ETL sinks type, the default value is AliyunLOG.
         * 
         * > **Note:** `from_time` and `to_time` no modification allowed after successful creation.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type ETL sinks type, the default value is AliyunLOG.
         * 
         * > **Note:** `from_time` and `to_time` no modification allowed after successful creation.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public EtlEtlSinkArgs build() {
            if ($.endpoint == null) {
                throw new MissingRequiredPropertyException("EtlEtlSinkArgs", "endpoint");
            }
            if ($.logstore == null) {
                throw new MissingRequiredPropertyException("EtlEtlSinkArgs", "logstore");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("EtlEtlSinkArgs", "name");
            }
            if ($.project == null) {
                throw new MissingRequiredPropertyException("EtlEtlSinkArgs", "project");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy