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

com.pulumi.azurenative.datafactory.outputs.JsonFormatResponse Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.datafactory.outputs;

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

@CustomType
public final class JsonFormatResponse {
    /**
     * @return Deserializer. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object deserializer;
    /**
     * @return The code page name of the preferred encoding. If not provided, the default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding. The full list of supported values can be found in the 'Name' column of the table of encodings in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object encodingName;
    /**
     * @return File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive.
     * 
     */
    private @Nullable Object filePattern;
    /**
     * @return The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object jsonNodeReference;
    /**
     * @return The JSONPath definition for each column mapping with a customized column name to extract data from JSON file. For fields under root object, start with "$"; for fields inside the array chosen by jsonNodeReference property, start from the array element. Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or Expression with resultType object).
     * 
     */
    private @Nullable Object jsonPathDefinition;
    /**
     * @return The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object nestingSeparator;
    /**
     * @return Serializer. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object serializer;
    /**
     * @return Type of dataset storage format.
     * Expected value is 'JsonFormat'.
     * 
     */
    private String type;

    private JsonFormatResponse() {}
    /**
     * @return Deserializer. Type: string (or Expression with resultType string).
     * 
     */
    public Optional deserializer() {
        return Optional.ofNullable(this.deserializer);
    }
    /**
     * @return The code page name of the preferred encoding. If not provided, the default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding. The full list of supported values can be found in the 'Name' column of the table of encodings in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or Expression with resultType string).
     * 
     */
    public Optional encodingName() {
        return Optional.ofNullable(this.encodingName);
    }
    /**
     * @return File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive.
     * 
     */
    public Optional filePattern() {
        return Optional.ofNullable(this.filePattern);
    }
    /**
     * @return The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string).
     * 
     */
    public Optional jsonNodeReference() {
        return Optional.ofNullable(this.jsonNodeReference);
    }
    /**
     * @return The JSONPath definition for each column mapping with a customized column name to extract data from JSON file. For fields under root object, start with "$"; for fields inside the array chosen by jsonNodeReference property, start from the array element. Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or Expression with resultType object).
     * 
     */
    public Optional jsonPathDefinition() {
        return Optional.ofNullable(this.jsonPathDefinition);
    }
    /**
     * @return The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string).
     * 
     */
    public Optional nestingSeparator() {
        return Optional.ofNullable(this.nestingSeparator);
    }
    /**
     * @return Serializer. Type: string (or Expression with resultType string).
     * 
     */
    public Optional serializer() {
        return Optional.ofNullable(this.serializer);
    }
    /**
     * @return Type of dataset storage format.
     * Expected value is 'JsonFormat'.
     * 
     */
    public String type() {
        return this.type;
    }

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

    public static Builder builder(JsonFormatResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Object deserializer;
        private @Nullable Object encodingName;
        private @Nullable Object filePattern;
        private @Nullable Object jsonNodeReference;
        private @Nullable Object jsonPathDefinition;
        private @Nullable Object nestingSeparator;
        private @Nullable Object serializer;
        private String type;
        public Builder() {}
        public Builder(JsonFormatResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.deserializer = defaults.deserializer;
    	      this.encodingName = defaults.encodingName;
    	      this.filePattern = defaults.filePattern;
    	      this.jsonNodeReference = defaults.jsonNodeReference;
    	      this.jsonPathDefinition = defaults.jsonPathDefinition;
    	      this.nestingSeparator = defaults.nestingSeparator;
    	      this.serializer = defaults.serializer;
    	      this.type = defaults.type;
        }

        @CustomType.Setter
        public Builder deserializer(@Nullable Object deserializer) {

            this.deserializer = deserializer;
            return this;
        }
        @CustomType.Setter
        public Builder encodingName(@Nullable Object encodingName) {

            this.encodingName = encodingName;
            return this;
        }
        @CustomType.Setter
        public Builder filePattern(@Nullable Object filePattern) {

            this.filePattern = filePattern;
            return this;
        }
        @CustomType.Setter
        public Builder jsonNodeReference(@Nullable Object jsonNodeReference) {

            this.jsonNodeReference = jsonNodeReference;
            return this;
        }
        @CustomType.Setter
        public Builder jsonPathDefinition(@Nullable Object jsonPathDefinition) {

            this.jsonPathDefinition = jsonPathDefinition;
            return this;
        }
        @CustomType.Setter
        public Builder nestingSeparator(@Nullable Object nestingSeparator) {

            this.nestingSeparator = nestingSeparator;
            return this;
        }
        @CustomType.Setter
        public Builder serializer(@Nullable Object serializer) {

            this.serializer = serializer;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("JsonFormatResponse", "type");
            }
            this.type = type;
            return this;
        }
        public JsonFormatResponse build() {
            final var _resultValue = new JsonFormatResponse();
            _resultValue.deserializer = deserializer;
            _resultValue.encodingName = encodingName;
            _resultValue.filePattern = filePattern;
            _resultValue.jsonNodeReference = jsonNodeReference;
            _resultValue.jsonPathDefinition = jsonPathDefinition;
            _resultValue.nestingSeparator = nestingSeparator;
            _resultValue.serializer = serializer;
            _resultValue.type = type;
            return _resultValue;
        }
    }
}