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

com.pulumi.azurenative.customerinsights.outputs.PropertyDefinitionResponse 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.azurenative.customerinsights.outputs;

import com.pulumi.azurenative.customerinsights.outputs.DataSourcePrecedenceResponse;
import com.pulumi.azurenative.customerinsights.outputs.ProfileEnumValidValuesFormatResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
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 PropertyDefinitionResponse {
    /**
     * @return Array value separator for properties with isArray set.
     * 
     */
    private @Nullable String arrayValueSeparator;
    /**
     * @return This is specific to interactions modeled as activities. Data sources are used to determine where data is stored and also in precedence rules.
     * 
     */
    private List dataSourcePrecedenceRules;
    /**
     * @return Describes valid values for an enum property.
     * 
     */
    private @Nullable List enumValidValues;
    /**
     * @return Name of the property.
     * 
     */
    private String fieldName;
    /**
     * @return Type of the property.
     * 
     */
    private String fieldType;
    /**
     * @return Indicates if the property is actually an array of the fieldType above on the data api.
     * 
     */
    private @Nullable Boolean isArray;
    /**
     * @return Whether property is available in graph or not.
     * 
     */
    private @Nullable Boolean isAvailableInGraph;
    /**
     * @return Indicates if the property is an enum.
     * 
     */
    private @Nullable Boolean isEnum;
    /**
     * @return Indicates if the property is an flag enum.
     * 
     */
    private @Nullable Boolean isFlagEnum;
    /**
     * @return Whether the property is an Image.
     * 
     */
    private @Nullable Boolean isImage;
    /**
     * @return Whether the property is a localized string.
     * 
     */
    private @Nullable Boolean isLocalizedString;
    /**
     * @return Whether the property is a name or a part of name.
     * 
     */
    private @Nullable Boolean isName;
    /**
     * @return Whether property value is required on instances, IsRequired field only for Interaction. Profile Instance will not check for required field.
     * 
     */
    private @Nullable Boolean isRequired;
    /**
     * @return Max length of string. Used only if type is string.
     * 
     */
    private @Nullable Integer maxLength;
    /**
     * @return The ID associated with the property.
     * 
     */
    private @Nullable String propertyId;
    /**
     * @return URL encoded schema.org item prop link for the property.
     * 
     */
    private @Nullable String schemaItemPropLink;

    private PropertyDefinitionResponse() {}
    /**
     * @return Array value separator for properties with isArray set.
     * 
     */
    public Optional arrayValueSeparator() {
        return Optional.ofNullable(this.arrayValueSeparator);
    }
    /**
     * @return This is specific to interactions modeled as activities. Data sources are used to determine where data is stored and also in precedence rules.
     * 
     */
    public List dataSourcePrecedenceRules() {
        return this.dataSourcePrecedenceRules;
    }
    /**
     * @return Describes valid values for an enum property.
     * 
     */
    public List enumValidValues() {
        return this.enumValidValues == null ? List.of() : this.enumValidValues;
    }
    /**
     * @return Name of the property.
     * 
     */
    public String fieldName() {
        return this.fieldName;
    }
    /**
     * @return Type of the property.
     * 
     */
    public String fieldType() {
        return this.fieldType;
    }
    /**
     * @return Indicates if the property is actually an array of the fieldType above on the data api.
     * 
     */
    public Optional isArray() {
        return Optional.ofNullable(this.isArray);
    }
    /**
     * @return Whether property is available in graph or not.
     * 
     */
    public Optional isAvailableInGraph() {
        return Optional.ofNullable(this.isAvailableInGraph);
    }
    /**
     * @return Indicates if the property is an enum.
     * 
     */
    public Optional isEnum() {
        return Optional.ofNullable(this.isEnum);
    }
    /**
     * @return Indicates if the property is an flag enum.
     * 
     */
    public Optional isFlagEnum() {
        return Optional.ofNullable(this.isFlagEnum);
    }
    /**
     * @return Whether the property is an Image.
     * 
     */
    public Optional isImage() {
        return Optional.ofNullable(this.isImage);
    }
    /**
     * @return Whether the property is a localized string.
     * 
     */
    public Optional isLocalizedString() {
        return Optional.ofNullable(this.isLocalizedString);
    }
    /**
     * @return Whether the property is a name or a part of name.
     * 
     */
    public Optional isName() {
        return Optional.ofNullable(this.isName);
    }
    /**
     * @return Whether property value is required on instances, IsRequired field only for Interaction. Profile Instance will not check for required field.
     * 
     */
    public Optional isRequired() {
        return Optional.ofNullable(this.isRequired);
    }
    /**
     * @return Max length of string. Used only if type is string.
     * 
     */
    public Optional maxLength() {
        return Optional.ofNullable(this.maxLength);
    }
    /**
     * @return The ID associated with the property.
     * 
     */
    public Optional propertyId() {
        return Optional.ofNullable(this.propertyId);
    }
    /**
     * @return URL encoded schema.org item prop link for the property.
     * 
     */
    public Optional schemaItemPropLink() {
        return Optional.ofNullable(this.schemaItemPropLink);
    }

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

    public static Builder builder(PropertyDefinitionResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String arrayValueSeparator;
        private List dataSourcePrecedenceRules;
        private @Nullable List enumValidValues;
        private String fieldName;
        private String fieldType;
        private @Nullable Boolean isArray;
        private @Nullable Boolean isAvailableInGraph;
        private @Nullable Boolean isEnum;
        private @Nullable Boolean isFlagEnum;
        private @Nullable Boolean isImage;
        private @Nullable Boolean isLocalizedString;
        private @Nullable Boolean isName;
        private @Nullable Boolean isRequired;
        private @Nullable Integer maxLength;
        private @Nullable String propertyId;
        private @Nullable String schemaItemPropLink;
        public Builder() {}
        public Builder(PropertyDefinitionResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.arrayValueSeparator = defaults.arrayValueSeparator;
    	      this.dataSourcePrecedenceRules = defaults.dataSourcePrecedenceRules;
    	      this.enumValidValues = defaults.enumValidValues;
    	      this.fieldName = defaults.fieldName;
    	      this.fieldType = defaults.fieldType;
    	      this.isArray = defaults.isArray;
    	      this.isAvailableInGraph = defaults.isAvailableInGraph;
    	      this.isEnum = defaults.isEnum;
    	      this.isFlagEnum = defaults.isFlagEnum;
    	      this.isImage = defaults.isImage;
    	      this.isLocalizedString = defaults.isLocalizedString;
    	      this.isName = defaults.isName;
    	      this.isRequired = defaults.isRequired;
    	      this.maxLength = defaults.maxLength;
    	      this.propertyId = defaults.propertyId;
    	      this.schemaItemPropLink = defaults.schemaItemPropLink;
        }

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

            this.arrayValueSeparator = arrayValueSeparator;
            return this;
        }
        @CustomType.Setter
        public Builder dataSourcePrecedenceRules(List dataSourcePrecedenceRules) {
            if (dataSourcePrecedenceRules == null) {
              throw new MissingRequiredPropertyException("PropertyDefinitionResponse", "dataSourcePrecedenceRules");
            }
            this.dataSourcePrecedenceRules = dataSourcePrecedenceRules;
            return this;
        }
        public Builder dataSourcePrecedenceRules(DataSourcePrecedenceResponse... dataSourcePrecedenceRules) {
            return dataSourcePrecedenceRules(List.of(dataSourcePrecedenceRules));
        }
        @CustomType.Setter
        public Builder enumValidValues(@Nullable List enumValidValues) {

            this.enumValidValues = enumValidValues;
            return this;
        }
        public Builder enumValidValues(ProfileEnumValidValuesFormatResponse... enumValidValues) {
            return enumValidValues(List.of(enumValidValues));
        }
        @CustomType.Setter
        public Builder fieldName(String fieldName) {
            if (fieldName == null) {
              throw new MissingRequiredPropertyException("PropertyDefinitionResponse", "fieldName");
            }
            this.fieldName = fieldName;
            return this;
        }
        @CustomType.Setter
        public Builder fieldType(String fieldType) {
            if (fieldType == null) {
              throw new MissingRequiredPropertyException("PropertyDefinitionResponse", "fieldType");
            }
            this.fieldType = fieldType;
            return this;
        }
        @CustomType.Setter
        public Builder isArray(@Nullable Boolean isArray) {

            this.isArray = isArray;
            return this;
        }
        @CustomType.Setter
        public Builder isAvailableInGraph(@Nullable Boolean isAvailableInGraph) {

            this.isAvailableInGraph = isAvailableInGraph;
            return this;
        }
        @CustomType.Setter
        public Builder isEnum(@Nullable Boolean isEnum) {

            this.isEnum = isEnum;
            return this;
        }
        @CustomType.Setter
        public Builder isFlagEnum(@Nullable Boolean isFlagEnum) {

            this.isFlagEnum = isFlagEnum;
            return this;
        }
        @CustomType.Setter
        public Builder isImage(@Nullable Boolean isImage) {

            this.isImage = isImage;
            return this;
        }
        @CustomType.Setter
        public Builder isLocalizedString(@Nullable Boolean isLocalizedString) {

            this.isLocalizedString = isLocalizedString;
            return this;
        }
        @CustomType.Setter
        public Builder isName(@Nullable Boolean isName) {

            this.isName = isName;
            return this;
        }
        @CustomType.Setter
        public Builder isRequired(@Nullable Boolean isRequired) {

            this.isRequired = isRequired;
            return this;
        }
        @CustomType.Setter
        public Builder maxLength(@Nullable Integer maxLength) {

            this.maxLength = maxLength;
            return this;
        }
        @CustomType.Setter
        public Builder propertyId(@Nullable String propertyId) {

            this.propertyId = propertyId;
            return this;
        }
        @CustomType.Setter
        public Builder schemaItemPropLink(@Nullable String schemaItemPropLink) {

            this.schemaItemPropLink = schemaItemPropLink;
            return this;
        }
        public PropertyDefinitionResponse build() {
            final var _resultValue = new PropertyDefinitionResponse();
            _resultValue.arrayValueSeparator = arrayValueSeparator;
            _resultValue.dataSourcePrecedenceRules = dataSourcePrecedenceRules;
            _resultValue.enumValidValues = enumValidValues;
            _resultValue.fieldName = fieldName;
            _resultValue.fieldType = fieldType;
            _resultValue.isArray = isArray;
            _resultValue.isAvailableInGraph = isAvailableInGraph;
            _resultValue.isEnum = isEnum;
            _resultValue.isFlagEnum = isFlagEnum;
            _resultValue.isImage = isImage;
            _resultValue.isLocalizedString = isLocalizedString;
            _resultValue.isName = isName;
            _resultValue.isRequired = isRequired;
            _resultValue.maxLength = maxLength;
            _resultValue.propertyId = propertyId;
            _resultValue.schemaItemPropLink = schemaItemPropLink;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy