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

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

import com.pulumi.azurenative.customerinsights.enums.EntityTypes;
import com.pulumi.azurenative.customerinsights.inputs.PropertyDefinitionArgs;
import com.pulumi.azurenative.customerinsights.inputs.StrongIdArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ProfileArgs Empty = new ProfileArgs();

    /**
     * The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
     * 
     */
    @Import(name="apiEntitySetName")
    private @Nullable Output apiEntitySetName;

    /**
     * @return The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
     * 
     */
    public Optional> apiEntitySetName() {
        return Optional.ofNullable(this.apiEntitySetName);
    }

    /**
     * The attributes for the Type.
     * 
     */
    @Import(name="attributes")
    private @Nullable Output>> attributes;

    /**
     * @return The attributes for the Type.
     * 
     */
    public Optional>>> attributes() {
        return Optional.ofNullable(this.attributes);
    }

    /**
     * Localized descriptions for the property.
     * 
     */
    @Import(name="description")
    private @Nullable Output> description;

    /**
     * @return Localized descriptions for the property.
     * 
     */
    public Optional>> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Localized display names for the property.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output> displayName;

    /**
     * @return Localized display names for the property.
     * 
     */
    public Optional>> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * Type of entity.
     * 
     */
    @Import(name="entityType")
    private @Nullable Output entityType;

    /**
     * @return Type of entity.
     * 
     */
    public Optional> entityType() {
        return Optional.ofNullable(this.entityType);
    }

    /**
     * The properties of the Profile.
     * 
     */
    @Import(name="fields")
    private @Nullable Output> fields;

    /**
     * @return The properties of the Profile.
     * 
     */
    public Optional>> fields() {
        return Optional.ofNullable(this.fields);
    }

    /**
     * The name of the hub.
     * 
     */
    @Import(name="hubName", required=true)
    private Output hubName;

    /**
     * @return The name of the hub.
     * 
     */
    public Output hubName() {
        return this.hubName;
    }

    /**
     * The instance count.
     * 
     */
    @Import(name="instancesCount")
    private @Nullable Output instancesCount;

    /**
     * @return The instance count.
     * 
     */
    public Optional> instancesCount() {
        return Optional.ofNullable(this.instancesCount);
    }

    /**
     * Large Image associated with the Property or EntityType.
     * 
     */
    @Import(name="largeImage")
    private @Nullable Output largeImage;

    /**
     * @return Large Image associated with the Property or EntityType.
     * 
     */
    public Optional> largeImage() {
        return Optional.ofNullable(this.largeImage);
    }

    /**
     * Any custom localized attributes for the Type.
     * 
     */
    @Import(name="localizedAttributes")
    private @Nullable Output>> localizedAttributes;

    /**
     * @return Any custom localized attributes for the Type.
     * 
     */
    public Optional>>> localizedAttributes() {
        return Optional.ofNullable(this.localizedAttributes);
    }

    /**
     * Medium Image associated with the Property or EntityType.
     * 
     */
    @Import(name="mediumImage")
    private @Nullable Output mediumImage;

    /**
     * @return Medium Image associated with the Property or EntityType.
     * 
     */
    public Optional> mediumImage() {
        return Optional.ofNullable(this.mediumImage);
    }

    /**
     * The name of the profile.
     * 
     */
    @Import(name="profileName")
    private @Nullable Output profileName;

    /**
     * @return The name of the profile.
     * 
     */
    public Optional> profileName() {
        return Optional.ofNullable(this.profileName);
    }

    /**
     * The name of the resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The schema org link. This helps ACI identify and suggest semantic models.
     * 
     */
    @Import(name="schemaItemTypeLink")
    private @Nullable Output schemaItemTypeLink;

    /**
     * @return The schema org link. This helps ACI identify and suggest semantic models.
     * 
     */
    public Optional> schemaItemTypeLink() {
        return Optional.ofNullable(this.schemaItemTypeLink);
    }

    /**
     * Small Image associated with the Property or EntityType.
     * 
     */
    @Import(name="smallImage")
    private @Nullable Output smallImage;

    /**
     * @return Small Image associated with the Property or EntityType.
     * 
     */
    public Optional> smallImage() {
        return Optional.ofNullable(this.smallImage);
    }

    /**
     * The strong IDs.
     * 
     */
    @Import(name="strongIds")
    private @Nullable Output> strongIds;

    /**
     * @return The strong IDs.
     * 
     */
    public Optional>> strongIds() {
        return Optional.ofNullable(this.strongIds);
    }

    /**
     * The timestamp property name. Represents the time when the interaction or profile update happened.
     * 
     */
    @Import(name="timestampFieldName")
    private @Nullable Output timestampFieldName;

    /**
     * @return The timestamp property name. Represents the time when the interaction or profile update happened.
     * 
     */
    public Optional> timestampFieldName() {
        return Optional.ofNullable(this.timestampFieldName);
    }

    /**
     * The name of the entity.
     * 
     */
    @Import(name="typeName")
    private @Nullable Output typeName;

    /**
     * @return The name of the entity.
     * 
     */
    public Optional> typeName() {
        return Optional.ofNullable(this.typeName);
    }

    private ProfileArgs() {}

    private ProfileArgs(ProfileArgs $) {
        this.apiEntitySetName = $.apiEntitySetName;
        this.attributes = $.attributes;
        this.description = $.description;
        this.displayName = $.displayName;
        this.entityType = $.entityType;
        this.fields = $.fields;
        this.hubName = $.hubName;
        this.instancesCount = $.instancesCount;
        this.largeImage = $.largeImage;
        this.localizedAttributes = $.localizedAttributes;
        this.mediumImage = $.mediumImage;
        this.profileName = $.profileName;
        this.resourceGroupName = $.resourceGroupName;
        this.schemaItemTypeLink = $.schemaItemTypeLink;
        this.smallImage = $.smallImage;
        this.strongIds = $.strongIds;
        this.timestampFieldName = $.timestampFieldName;
        this.typeName = $.typeName;
    }

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

    public static final class Builder {
        private ProfileArgs $;

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

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

        /**
         * @param apiEntitySetName The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
         * 
         * @return builder
         * 
         */
        public Builder apiEntitySetName(@Nullable Output apiEntitySetName) {
            $.apiEntitySetName = apiEntitySetName;
            return this;
        }

        /**
         * @param apiEntitySetName The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
         * 
         * @return builder
         * 
         */
        public Builder apiEntitySetName(String apiEntitySetName) {
            return apiEntitySetName(Output.of(apiEntitySetName));
        }

        /**
         * @param attributes The attributes for the Type.
         * 
         * @return builder
         * 
         */
        public Builder attributes(@Nullable Output>> attributes) {
            $.attributes = attributes;
            return this;
        }

        /**
         * @param attributes The attributes for the Type.
         * 
         * @return builder
         * 
         */
        public Builder attributes(Map> attributes) {
            return attributes(Output.of(attributes));
        }

        /**
         * @param description Localized descriptions for the property.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output> description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Localized descriptions for the property.
         * 
         * @return builder
         * 
         */
        public Builder description(Map description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName Localized display names for the property.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output> displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName Localized display names for the property.
         * 
         * @return builder
         * 
         */
        public Builder displayName(Map displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param entityType Type of entity.
         * 
         * @return builder
         * 
         */
        public Builder entityType(@Nullable Output entityType) {
            $.entityType = entityType;
            return this;
        }

        /**
         * @param entityType Type of entity.
         * 
         * @return builder
         * 
         */
        public Builder entityType(EntityTypes entityType) {
            return entityType(Output.of(entityType));
        }

        /**
         * @param fields The properties of the Profile.
         * 
         * @return builder
         * 
         */
        public Builder fields(@Nullable Output> fields) {
            $.fields = fields;
            return this;
        }

        /**
         * @param fields The properties of the Profile.
         * 
         * @return builder
         * 
         */
        public Builder fields(List fields) {
            return fields(Output.of(fields));
        }

        /**
         * @param fields The properties of the Profile.
         * 
         * @return builder
         * 
         */
        public Builder fields(PropertyDefinitionArgs... fields) {
            return fields(List.of(fields));
        }

        /**
         * @param hubName The name of the hub.
         * 
         * @return builder
         * 
         */
        public Builder hubName(Output hubName) {
            $.hubName = hubName;
            return this;
        }

        /**
         * @param hubName The name of the hub.
         * 
         * @return builder
         * 
         */
        public Builder hubName(String hubName) {
            return hubName(Output.of(hubName));
        }

        /**
         * @param instancesCount The instance count.
         * 
         * @return builder
         * 
         */
        public Builder instancesCount(@Nullable Output instancesCount) {
            $.instancesCount = instancesCount;
            return this;
        }

        /**
         * @param instancesCount The instance count.
         * 
         * @return builder
         * 
         */
        public Builder instancesCount(Integer instancesCount) {
            return instancesCount(Output.of(instancesCount));
        }

        /**
         * @param largeImage Large Image associated with the Property or EntityType.
         * 
         * @return builder
         * 
         */
        public Builder largeImage(@Nullable Output largeImage) {
            $.largeImage = largeImage;
            return this;
        }

        /**
         * @param largeImage Large Image associated with the Property or EntityType.
         * 
         * @return builder
         * 
         */
        public Builder largeImage(String largeImage) {
            return largeImage(Output.of(largeImage));
        }

        /**
         * @param localizedAttributes Any custom localized attributes for the Type.
         * 
         * @return builder
         * 
         */
        public Builder localizedAttributes(@Nullable Output>> localizedAttributes) {
            $.localizedAttributes = localizedAttributes;
            return this;
        }

        /**
         * @param localizedAttributes Any custom localized attributes for the Type.
         * 
         * @return builder
         * 
         */
        public Builder localizedAttributes(Map> localizedAttributes) {
            return localizedAttributes(Output.of(localizedAttributes));
        }

        /**
         * @param mediumImage Medium Image associated with the Property or EntityType.
         * 
         * @return builder
         * 
         */
        public Builder mediumImage(@Nullable Output mediumImage) {
            $.mediumImage = mediumImage;
            return this;
        }

        /**
         * @param mediumImage Medium Image associated with the Property or EntityType.
         * 
         * @return builder
         * 
         */
        public Builder mediumImage(String mediumImage) {
            return mediumImage(Output.of(mediumImage));
        }

        /**
         * @param profileName The name of the profile.
         * 
         * @return builder
         * 
         */
        public Builder profileName(@Nullable Output profileName) {
            $.profileName = profileName;
            return this;
        }

        /**
         * @param profileName The name of the profile.
         * 
         * @return builder
         * 
         */
        public Builder profileName(String profileName) {
            return profileName(Output.of(profileName));
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param schemaItemTypeLink The schema org link. This helps ACI identify and suggest semantic models.
         * 
         * @return builder
         * 
         */
        public Builder schemaItemTypeLink(@Nullable Output schemaItemTypeLink) {
            $.schemaItemTypeLink = schemaItemTypeLink;
            return this;
        }

        /**
         * @param schemaItemTypeLink The schema org link. This helps ACI identify and suggest semantic models.
         * 
         * @return builder
         * 
         */
        public Builder schemaItemTypeLink(String schemaItemTypeLink) {
            return schemaItemTypeLink(Output.of(schemaItemTypeLink));
        }

        /**
         * @param smallImage Small Image associated with the Property or EntityType.
         * 
         * @return builder
         * 
         */
        public Builder smallImage(@Nullable Output smallImage) {
            $.smallImage = smallImage;
            return this;
        }

        /**
         * @param smallImage Small Image associated with the Property or EntityType.
         * 
         * @return builder
         * 
         */
        public Builder smallImage(String smallImage) {
            return smallImage(Output.of(smallImage));
        }

        /**
         * @param strongIds The strong IDs.
         * 
         * @return builder
         * 
         */
        public Builder strongIds(@Nullable Output> strongIds) {
            $.strongIds = strongIds;
            return this;
        }

        /**
         * @param strongIds The strong IDs.
         * 
         * @return builder
         * 
         */
        public Builder strongIds(List strongIds) {
            return strongIds(Output.of(strongIds));
        }

        /**
         * @param strongIds The strong IDs.
         * 
         * @return builder
         * 
         */
        public Builder strongIds(StrongIdArgs... strongIds) {
            return strongIds(List.of(strongIds));
        }

        /**
         * @param timestampFieldName The timestamp property name. Represents the time when the interaction or profile update happened.
         * 
         * @return builder
         * 
         */
        public Builder timestampFieldName(@Nullable Output timestampFieldName) {
            $.timestampFieldName = timestampFieldName;
            return this;
        }

        /**
         * @param timestampFieldName The timestamp property name. Represents the time when the interaction or profile update happened.
         * 
         * @return builder
         * 
         */
        public Builder timestampFieldName(String timestampFieldName) {
            return timestampFieldName(Output.of(timestampFieldName));
        }

        /**
         * @param typeName The name of the entity.
         * 
         * @return builder
         * 
         */
        public Builder typeName(@Nullable Output typeName) {
            $.typeName = typeName;
            return this;
        }

        /**
         * @param typeName The name of the entity.
         * 
         * @return builder
         * 
         */
        public Builder typeName(String typeName) {
            return typeName(Output.of(typeName));
        }

        public ProfileArgs build() {
            if ($.hubName == null) {
                throw new MissingRequiredPropertyException("ProfileArgs", "hubName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ProfileArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy