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

com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
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.aws.appflow.inputs;

import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigAggregationConfigArgs;
import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs;
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 FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs Empty = new FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs();

    /**
     * Aggregation settings that you can use to customize the output format of your flow data. See Aggregation Config for more details.
     * 
     */
    @Import(name="aggregationConfig")
    private @Nullable Output aggregationConfig;

    /**
     * @return Aggregation settings that you can use to customize the output format of your flow data. See Aggregation Config for more details.
     * 
     */
    public Optional> aggregationConfig() {
        return Optional.ofNullable(this.aggregationConfig);
    }

    /**
     * File type that Amazon AppFlow places in the Amazon S3 bucket. Valid values are `CSV`, `JSON`, and `PARQUET`.
     * 
     */
    @Import(name="fileType")
    private @Nullable Output fileType;

    /**
     * @return File type that Amazon AppFlow places in the Amazon S3 bucket. Valid values are `CSV`, `JSON`, and `PARQUET`.
     * 
     */
    public Optional> fileType() {
        return Optional.ofNullable(this.fileType);
    }

    /**
     * Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. See Prefix Config for more details.
     * 
     */
    @Import(name="prefixConfig", required=true)
    private Output prefixConfig;

    /**
     * @return Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. See Prefix Config for more details.
     * 
     */
    public Output prefixConfig() {
        return this.prefixConfig;
    }

    private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs() {}

    private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs(FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs $) {
        this.aggregationConfig = $.aggregationConfig;
        this.fileType = $.fileType;
        this.prefixConfig = $.prefixConfig;
    }

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

    public static final class Builder {
        private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs $;

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

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

        /**
         * @param aggregationConfig Aggregation settings that you can use to customize the output format of your flow data. See Aggregation Config for more details.
         * 
         * @return builder
         * 
         */
        public Builder aggregationConfig(@Nullable Output aggregationConfig) {
            $.aggregationConfig = aggregationConfig;
            return this;
        }

        /**
         * @param aggregationConfig Aggregation settings that you can use to customize the output format of your flow data. See Aggregation Config for more details.
         * 
         * @return builder
         * 
         */
        public Builder aggregationConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigAggregationConfigArgs aggregationConfig) {
            return aggregationConfig(Output.of(aggregationConfig));
        }

        /**
         * @param fileType File type that Amazon AppFlow places in the Amazon S3 bucket. Valid values are `CSV`, `JSON`, and `PARQUET`.
         * 
         * @return builder
         * 
         */
        public Builder fileType(@Nullable Output fileType) {
            $.fileType = fileType;
            return this;
        }

        /**
         * @param fileType File type that Amazon AppFlow places in the Amazon S3 bucket. Valid values are `CSV`, `JSON`, and `PARQUET`.
         * 
         * @return builder
         * 
         */
        public Builder fileType(String fileType) {
            return fileType(Output.of(fileType));
        }

        /**
         * @param prefixConfig Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. See Prefix Config for more details.
         * 
         * @return builder
         * 
         */
        public Builder prefixConfig(Output prefixConfig) {
            $.prefixConfig = prefixConfig;
            return this;
        }

        /**
         * @param prefixConfig Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. See Prefix Config for more details.
         * 
         * @return builder
         * 
         */
        public Builder prefixConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs prefixConfig) {
            return prefixConfig(Output.of(prefixConfig));
        }

        public FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs build() {
            if ($.prefixConfig == null) {
                throw new MissingRequiredPropertyException("FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigArgs", "prefixConfig");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy