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

com.pulumi.aws.glue.outputs.CrawlerIcebergTarget 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.glue.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class CrawlerIcebergTarget {
    /**
     * @return The name of the connection to use to connect to the Iceberg target.
     * 
     */
    private @Nullable String connectionName;
    /**
     * @return A list of glob patterns used to exclude from the crawl.
     * 
     */
    private @Nullable List exclusions;
    /**
     * @return The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time. Valid values are between `1` and `20`.
     * 
     */
    private Integer maximumTraversalDepth;
    /**
     * @return One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix.
     * 
     */
    private List paths;

    private CrawlerIcebergTarget() {}
    /**
     * @return The name of the connection to use to connect to the Iceberg target.
     * 
     */
    public Optional connectionName() {
        return Optional.ofNullable(this.connectionName);
    }
    /**
     * @return A list of glob patterns used to exclude from the crawl.
     * 
     */
    public List exclusions() {
        return this.exclusions == null ? List.of() : this.exclusions;
    }
    /**
     * @return The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time. Valid values are between `1` and `20`.
     * 
     */
    public Integer maximumTraversalDepth() {
        return this.maximumTraversalDepth;
    }
    /**
     * @return One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix.
     * 
     */
    public List paths() {
        return this.paths;
    }

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

    public static Builder builder(CrawlerIcebergTarget defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String connectionName;
        private @Nullable List exclusions;
        private Integer maximumTraversalDepth;
        private List paths;
        public Builder() {}
        public Builder(CrawlerIcebergTarget defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.connectionName = defaults.connectionName;
    	      this.exclusions = defaults.exclusions;
    	      this.maximumTraversalDepth = defaults.maximumTraversalDepth;
    	      this.paths = defaults.paths;
        }

        @CustomType.Setter
        public Builder connectionName(@Nullable String connectionName) {

            this.connectionName = connectionName;
            return this;
        }
        @CustomType.Setter
        public Builder exclusions(@Nullable List exclusions) {

            this.exclusions = exclusions;
            return this;
        }
        public Builder exclusions(String... exclusions) {
            return exclusions(List.of(exclusions));
        }
        @CustomType.Setter
        public Builder maximumTraversalDepth(Integer maximumTraversalDepth) {
            if (maximumTraversalDepth == null) {
              throw new MissingRequiredPropertyException("CrawlerIcebergTarget", "maximumTraversalDepth");
            }
            this.maximumTraversalDepth = maximumTraversalDepth;
            return this;
        }
        @CustomType.Setter
        public Builder paths(List paths) {
            if (paths == null) {
              throw new MissingRequiredPropertyException("CrawlerIcebergTarget", "paths");
            }
            this.paths = paths;
            return this;
        }
        public Builder paths(String... paths) {
            return paths(List.of(paths));
        }
        public CrawlerIcebergTarget build() {
            final var _resultValue = new CrawlerIcebergTarget();
            _resultValue.connectionName = connectionName;
            _resultValue.exclusions = exclusions;
            _resultValue.maximumTraversalDepth = maximumTraversalDepth;
            _resultValue.paths = paths;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy