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

com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs Maven / Gradle / Ivy

// *** 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.aws.kinesis.inputs;

import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationInputFormatConfigurationArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationOutputFormatConfigurationArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationSchemaConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs Empty = new FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs();

    /**
     * Defaults to `true`. Set it to `false` if you want to disable format conversion while preserving the configuration details.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Defaults to `true`. Set it to `false` if you want to disable format conversion while preserving the configuration details.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. See `input_format_configuration` block below for details.
     * 
     */
    @Import(name="inputFormatConfiguration", required=true)
    private Output inputFormatConfiguration;

    /**
     * @return Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. See `input_format_configuration` block below for details.
     * 
     */
    public Output inputFormatConfiguration() {
        return this.inputFormatConfiguration;
    }

    /**
     * Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. See `output_format_configuration` block below for details.
     * 
     */
    @Import(name="outputFormatConfiguration", required=true)
    private Output outputFormatConfiguration;

    /**
     * @return Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. See `output_format_configuration` block below for details.
     * 
     */
    public Output outputFormatConfiguration() {
        return this.outputFormatConfiguration;
    }

    /**
     * Specifies the AWS Glue Data Catalog table that contains the column information. See `schema_configuration` block below for details.
     * 
     */
    @Import(name="schemaConfiguration", required=true)
    private Output schemaConfiguration;

    /**
     * @return Specifies the AWS Glue Data Catalog table that contains the column information. See `schema_configuration` block below for details.
     * 
     */
    public Output schemaConfiguration() {
        return this.schemaConfiguration;
    }

    private FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs() {}

    private FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs(FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs $) {
        this.enabled = $.enabled;
        this.inputFormatConfiguration = $.inputFormatConfiguration;
        this.outputFormatConfiguration = $.outputFormatConfiguration;
        this.schemaConfiguration = $.schemaConfiguration;
    }

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

    public static final class Builder {
        private FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs $;

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

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

        /**
         * @param enabled Defaults to `true`. Set it to `false` if you want to disable format conversion while preserving the configuration details.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Defaults to `true`. Set it to `false` if you want to disable format conversion while preserving the configuration details.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param inputFormatConfiguration Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. See `input_format_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder inputFormatConfiguration(Output inputFormatConfiguration) {
            $.inputFormatConfiguration = inputFormatConfiguration;
            return this;
        }

        /**
         * @param inputFormatConfiguration Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. See `input_format_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder inputFormatConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationInputFormatConfigurationArgs inputFormatConfiguration) {
            return inputFormatConfiguration(Output.of(inputFormatConfiguration));
        }

        /**
         * @param outputFormatConfiguration Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. See `output_format_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder outputFormatConfiguration(Output outputFormatConfiguration) {
            $.outputFormatConfiguration = outputFormatConfiguration;
            return this;
        }

        /**
         * @param outputFormatConfiguration Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. See `output_format_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder outputFormatConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationOutputFormatConfigurationArgs outputFormatConfiguration) {
            return outputFormatConfiguration(Output.of(outputFormatConfiguration));
        }

        /**
         * @param schemaConfiguration Specifies the AWS Glue Data Catalog table that contains the column information. See `schema_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder schemaConfiguration(Output schemaConfiguration) {
            $.schemaConfiguration = schemaConfiguration;
            return this;
        }

        /**
         * @param schemaConfiguration Specifies the AWS Glue Data Catalog table that contains the column information. See `schema_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder schemaConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationSchemaConfigurationArgs schemaConfiguration) {
            return schemaConfiguration(Output.of(schemaConfiguration));
        }

        public FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs build() {
            if ($.inputFormatConfiguration == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs", "inputFormatConfiguration");
            }
            if ($.outputFormatConfiguration == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs", "outputFormatConfiguration");
            }
            if ($.schemaConfiguration == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamExtendedS3ConfigurationDataFormatConversionConfigurationArgs", "schemaConfiguration");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy