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

com.pulumi.azurenative.customerinsights.kotlin.ProfileArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.customerinsights.kotlin

import com.pulumi.azurenative.customerinsights.ProfileArgs.builder
import com.pulumi.azurenative.customerinsights.kotlin.enums.EntityTypes
import com.pulumi.azurenative.customerinsights.kotlin.inputs.PropertyDefinitionArgs
import com.pulumi.azurenative.customerinsights.kotlin.inputs.PropertyDefinitionArgsBuilder
import com.pulumi.azurenative.customerinsights.kotlin.inputs.StrongIdArgs
import com.pulumi.azurenative.customerinsights.kotlin.inputs.StrongIdArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * The profile resource format.
 * Azure REST API version: 2017-04-26. Prior API version in Azure Native 1.x: 2017-04-26.
 * ## Example Usage
 * ### Profiles_CreateOrUpdate
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var profile = new AzureNative.CustomerInsights.Profile("profile", new()
 *     {
 *         ApiEntitySetName = "TestProfileType396",
 *         Fields = new[]
 *         {
 *             new AzureNative.CustomerInsights.Inputs.PropertyDefinitionArgs
 *             {
 *                 FieldName = "Id",
 *                 FieldType = "Edm.String",
 *                 IsArray = false,
 *                 IsRequired = true,
 *             },
 *             new AzureNative.CustomerInsights.Inputs.PropertyDefinitionArgs
 *             {
 *                 FieldName = "ProfileId",
 *                 FieldType = "Edm.String",
 *                 IsArray = false,
 *                 IsRequired = true,
 *             },
 *             new AzureNative.CustomerInsights.Inputs.PropertyDefinitionArgs
 *             {
 *                 FieldName = "LastName",
 *                 FieldType = "Edm.String",
 *                 IsArray = false,
 *                 IsRequired = true,
 *             },
 *             new AzureNative.CustomerInsights.Inputs.PropertyDefinitionArgs
 *             {
 *                 FieldName = "TestProfileType396",
 *                 FieldType = "Edm.String",
 *                 IsArray = false,
 *                 IsRequired = true,
 *             },
 *             new AzureNative.CustomerInsights.Inputs.PropertyDefinitionArgs
 *             {
 *                 FieldName = "SavingAccountBalance",
 *                 FieldType = "Edm.Int32",
 *                 IsArray = false,
 *                 IsRequired = true,
 *             },
 *         },
 *         HubName = "sdkTestHub",
 *         LargeImage = "\\\\Images\\\\LargeImage",
 *         MediumImage = "\\\\Images\\\\MediumImage",
 *         ProfileName = "TestProfileType396",
 *         ResourceGroupName = "TestHubRG",
 *         SchemaItemTypeLink = "SchemaItemTypeLink",
 *         SmallImage = "\\\\Images\\\\smallImage",
 *         StrongIds = new[]
 *         {
 *             new AzureNative.CustomerInsights.Inputs.StrongIdArgs
 *             {
 *                 KeyPropertyNames = new[]
 *                 {
 *                     "Id",
 *                     "SavingAccountBalance",
 *                 },
 *                 StrongIdName = "Id",
 *             },
 *             new AzureNative.CustomerInsights.Inputs.StrongIdArgs
 *             {
 *                 KeyPropertyNames = new[]
 *                 {
 *                     "ProfileId",
 *                     "LastName",
 *                 },
 *                 StrongIdName = "ProfileId",
 *             },
 *         },
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	customerinsights "github.com/pulumi/pulumi-azure-native-sdk/customerinsights/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := customerinsights.NewProfile(ctx, "profile", &customerinsights.ProfileArgs{
 * 			ApiEntitySetName: pulumi.String("TestProfileType396"),
 * 			Fields: customerinsights.PropertyDefinitionArray{
 * 				&customerinsights.PropertyDefinitionArgs{
 * 					FieldName:  pulumi.String("Id"),
 * 					FieldType:  pulumi.String("Edm.String"),
 * 					IsArray:    pulumi.Bool(false),
 * 					IsRequired: pulumi.Bool(true),
 * 				},
 * 				&customerinsights.PropertyDefinitionArgs{
 * 					FieldName:  pulumi.String("ProfileId"),
 * 					FieldType:  pulumi.String("Edm.String"),
 * 					IsArray:    pulumi.Bool(false),
 * 					IsRequired: pulumi.Bool(true),
 * 				},
 * 				&customerinsights.PropertyDefinitionArgs{
 * 					FieldName:  pulumi.String("LastName"),
 * 					FieldType:  pulumi.String("Edm.String"),
 * 					IsArray:    pulumi.Bool(false),
 * 					IsRequired: pulumi.Bool(true),
 * 				},
 * 				&customerinsights.PropertyDefinitionArgs{
 * 					FieldName:  pulumi.String("TestProfileType396"),
 * 					FieldType:  pulumi.String("Edm.String"),
 * 					IsArray:    pulumi.Bool(false),
 * 					IsRequired: pulumi.Bool(true),
 * 				},
 * 				&customerinsights.PropertyDefinitionArgs{
 * 					FieldName:  pulumi.String("SavingAccountBalance"),
 * 					FieldType:  pulumi.String("Edm.Int32"),
 * 					IsArray:    pulumi.Bool(false),
 * 					IsRequired: pulumi.Bool(true),
 * 				},
 * 			},
 * 			HubName:            pulumi.String("sdkTestHub"),
 * 			LargeImage:         pulumi.String("\\\\Images\\\\LargeImage"),
 * 			MediumImage:        pulumi.String("\\\\Images\\\\MediumImage"),
 * 			ProfileName:        pulumi.String("TestProfileType396"),
 * 			ResourceGroupName:  pulumi.String("TestHubRG"),
 * 			SchemaItemTypeLink: pulumi.String("SchemaItemTypeLink"),
 * 			SmallImage:         pulumi.String("\\\\Images\\\\smallImage"),
 * 			StrongIds: customerinsights.StrongIdArray{
 * 				&customerinsights.StrongIdArgs{
 * 					KeyPropertyNames: pulumi.StringArray{
 * 						pulumi.String("Id"),
 * 						pulumi.String("SavingAccountBalance"),
 * 					},
 * 					StrongIdName: pulumi.String("Id"),
 * 				},
 * 				&customerinsights.StrongIdArgs{
 * 					KeyPropertyNames: pulumi.StringArray{
 * 						pulumi.String("ProfileId"),
 * 						pulumi.String("LastName"),
 * 					},
 * 					StrongIdName: pulumi.String("ProfileId"),
 * 				},
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.customerinsights.Profile;
 * import com.pulumi.azurenative.customerinsights.ProfileArgs;
 * import com.pulumi.azurenative.customerinsights.inputs.PropertyDefinitionArgs;
 * import com.pulumi.azurenative.customerinsights.inputs.StrongIdArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var profile = new Profile("profile", ProfileArgs.builder()
 *             .apiEntitySetName("TestProfileType396")
 *             .fields(
 *                 PropertyDefinitionArgs.builder()
 *                     .fieldName("Id")
 *                     .fieldType("Edm.String")
 *                     .isArray(false)
 *                     .isRequired(true)
 *                     .build(),
 *                 PropertyDefinitionArgs.builder()
 *                     .fieldName("ProfileId")
 *                     .fieldType("Edm.String")
 *                     .isArray(false)
 *                     .isRequired(true)
 *                     .build(),
 *                 PropertyDefinitionArgs.builder()
 *                     .fieldName("LastName")
 *                     .fieldType("Edm.String")
 *                     .isArray(false)
 *                     .isRequired(true)
 *                     .build(),
 *                 PropertyDefinitionArgs.builder()
 *                     .fieldName("TestProfileType396")
 *                     .fieldType("Edm.String")
 *                     .isArray(false)
 *                     .isRequired(true)
 *                     .build(),
 *                 PropertyDefinitionArgs.builder()
 *                     .fieldName("SavingAccountBalance")
 *                     .fieldType("Edm.Int32")
 *                     .isArray(false)
 *                     .isRequired(true)
 *                     .build())
 *             .hubName("sdkTestHub")
 *             .largeImage("\\\\Images\\\\LargeImage")
 *             .mediumImage("\\\\Images\\\\MediumImage")
 *             .profileName("TestProfileType396")
 *             .resourceGroupName("TestHubRG")
 *             .schemaItemTypeLink("SchemaItemTypeLink")
 *             .smallImage("\\\\Images\\\\smallImage")
 *             .strongIds(
 *                 StrongIdArgs.builder()
 *                     .keyPropertyNames(
 *                         "Id",
 *                         "SavingAccountBalance")
 *                     .strongIdName("Id")
 *                     .build(),
 *                 StrongIdArgs.builder()
 *                     .keyPropertyNames(
 *                         "ProfileId",
 *                         "LastName")
 *                     .strongIdName("ProfileId")
 *                     .build())
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:customerinsights:Profile azSdkTestHub/TestProfileType396 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}
 * ```
 * @property apiEntitySetName The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
 * @property attributes The attributes for the Type.
 * @property description Localized descriptions for the property.
 * @property displayName Localized display names for the property.
 * @property entityType Type of entity.
 * @property fields The properties of the Profile.
 * @property hubName The name of the hub.
 * @property instancesCount The instance count.
 * @property largeImage Large Image associated with the Property or EntityType.
 * @property localizedAttributes Any custom localized attributes for the Type.
 * @property mediumImage Medium Image associated with the Property or EntityType.
 * @property profileName The name of the profile.
 * @property resourceGroupName The name of the resource group.
 * @property schemaItemTypeLink The schema org link. This helps ACI identify and suggest semantic models.
 * @property smallImage Small Image associated with the Property or EntityType.
 * @property strongIds The strong IDs.
 * @property timestampFieldName The timestamp property name. Represents the time when the interaction or profile update happened.
 * @property typeName The name of the entity.
 */
public data class ProfileArgs(
    public val apiEntitySetName: Output? = null,
    public val attributes: Output>>? = null,
    public val description: Output>? = null,
    public val displayName: Output>? = null,
    public val entityType: Output? = null,
    public val fields: Output>? = null,
    public val hubName: Output? = null,
    public val instancesCount: Output? = null,
    public val largeImage: Output? = null,
    public val localizedAttributes: Output>>? = null,
    public val mediumImage: Output? = null,
    public val profileName: Output? = null,
    public val resourceGroupName: Output? = null,
    public val schemaItemTypeLink: Output? = null,
    public val smallImage: Output? = null,
    public val strongIds: Output>? = null,
    public val timestampFieldName: Output? = null,
    public val typeName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.customerinsights.ProfileArgs =
        com.pulumi.azurenative.customerinsights.ProfileArgs.builder()
            .apiEntitySetName(apiEntitySetName?.applyValue({ args0 -> args0 }))
            .attributes(
                attributes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.map({ args0 -> args0 }))
                    }).toMap()
                }),
            )
            .description(
                description?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .displayName(
                displayName?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .entityType(entityType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .fields(fields?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .hubName(hubName?.applyValue({ args0 -> args0 }))
            .instancesCount(instancesCount?.applyValue({ args0 -> args0 }))
            .largeImage(largeImage?.applyValue({ args0 -> args0 }))
            .localizedAttributes(
                localizedAttributes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.map({ args0 -> args0.key.to(args0.value) }).toMap())
                    }).toMap()
                }),
            )
            .mediumImage(mediumImage?.applyValue({ args0 -> args0 }))
            .profileName(profileName?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .schemaItemTypeLink(schemaItemTypeLink?.applyValue({ args0 -> args0 }))
            .smallImage(smallImage?.applyValue({ args0 -> args0 }))
            .strongIds(
                strongIds?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .timestampFieldName(timestampFieldName?.applyValue({ args0 -> args0 }))
            .typeName(typeName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ProfileArgs].
 */
@PulumiTagMarker
public class ProfileArgsBuilder internal constructor() {
    private var apiEntitySetName: Output? = null

    private var attributes: Output>>? = null

    private var description: Output>? = null

    private var displayName: Output>? = null

    private var entityType: Output? = null

    private var fields: Output>? = null

    private var hubName: Output? = null

    private var instancesCount: Output? = null

    private var largeImage: Output? = null

    private var localizedAttributes: Output>>? = null

    private var mediumImage: Output? = null

    private var profileName: Output? = null

    private var resourceGroupName: Output? = null

    private var schemaItemTypeLink: Output? = null

    private var smallImage: Output? = null

    private var strongIds: Output>? = null

    private var timestampFieldName: Output? = null

    private var typeName: Output? = null

    /**
     * @param value The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
     */
    @JvmName("oterqflykdkrxfrn")
    public suspend fun apiEntitySetName(`value`: Output) {
        this.apiEntitySetName = value
    }

    /**
     * @param value The attributes for the Type.
     */
    @JvmName("csxcbbeyelemelat")
    public suspend fun attributes(`value`: Output>>) {
        this.attributes = value
    }

    /**
     * @param value Localized descriptions for the property.
     */
    @JvmName("yofctjopxafslway")
    public suspend fun description(`value`: Output>) {
        this.description = value
    }

    /**
     * @param value Localized display names for the property.
     */
    @JvmName("hqjfrocpisyaamfa")
    public suspend fun displayName(`value`: Output>) {
        this.displayName = value
    }

    /**
     * @param value Type of entity.
     */
    @JvmName("kujruwfmghacswpv")
    public suspend fun entityType(`value`: Output) {
        this.entityType = value
    }

    /**
     * @param value The properties of the Profile.
     */
    @JvmName("phqblvgjqntxhrbj")
    public suspend fun fields(`value`: Output>) {
        this.fields = value
    }

    @JvmName("beemnqeihajnyxgd")
    public suspend fun fields(vararg values: Output) {
        this.fields = Output.all(values.asList())
    }

    /**
     * @param values The properties of the Profile.
     */
    @JvmName("jlddgiwejaenjusr")
    public suspend fun fields(values: List>) {
        this.fields = Output.all(values)
    }

    /**
     * @param value The name of the hub.
     */
    @JvmName("oqteefgxtesrhexx")
    public suspend fun hubName(`value`: Output) {
        this.hubName = value
    }

    /**
     * @param value The instance count.
     */
    @JvmName("pqtejbhplxrhjpyp")
    public suspend fun instancesCount(`value`: Output) {
        this.instancesCount = value
    }

    /**
     * @param value Large Image associated with the Property or EntityType.
     */
    @JvmName("lqrswmlbvgjhjyys")
    public suspend fun largeImage(`value`: Output) {
        this.largeImage = value
    }

    /**
     * @param value Any custom localized attributes for the Type.
     */
    @JvmName("onujwtvvixmljmwl")
    public suspend fun localizedAttributes(`value`: Output>>) {
        this.localizedAttributes = value
    }

    /**
     * @param value Medium Image associated with the Property or EntityType.
     */
    @JvmName("mtuttgllubrcieht")
    public suspend fun mediumImage(`value`: Output) {
        this.mediumImage = value
    }

    /**
     * @param value The name of the profile.
     */
    @JvmName("urqsclaiayngceef")
    public suspend fun profileName(`value`: Output) {
        this.profileName = value
    }

    /**
     * @param value The name of the resource group.
     */
    @JvmName("wwthmfrekakyjpri")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value The schema org link. This helps ACI identify and suggest semantic models.
     */
    @JvmName("ypigumxiiejeolmx")
    public suspend fun schemaItemTypeLink(`value`: Output) {
        this.schemaItemTypeLink = value
    }

    /**
     * @param value Small Image associated with the Property or EntityType.
     */
    @JvmName("kxbctbwaooawvfve")
    public suspend fun smallImage(`value`: Output) {
        this.smallImage = value
    }

    /**
     * @param value The strong IDs.
     */
    @JvmName("hkiqrckylvhlipyc")
    public suspend fun strongIds(`value`: Output>) {
        this.strongIds = value
    }

    @JvmName("idgjndvyyirjmahx")
    public suspend fun strongIds(vararg values: Output) {
        this.strongIds = Output.all(values.asList())
    }

    /**
     * @param values The strong IDs.
     */
    @JvmName("vsyubmihpsvtmpvb")
    public suspend fun strongIds(values: List>) {
        this.strongIds = Output.all(values)
    }

    /**
     * @param value The timestamp property name. Represents the time when the interaction or profile update happened.
     */
    @JvmName("mooqubilttrmtuyo")
    public suspend fun timestampFieldName(`value`: Output) {
        this.timestampFieldName = value
    }

    /**
     * @param value The name of the entity.
     */
    @JvmName("ocjumjvqbykotssu")
    public suspend fun typeName(`value`: Output) {
        this.typeName = value
    }

    /**
     * @param value The api entity set name. This becomes the odata entity set name for the entity Type being referred in this object.
     */
    @JvmName("tikpfbnpmvsdhhoh")
    public suspend fun apiEntitySetName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.apiEntitySetName = mapped
    }

    /**
     * @param value The attributes for the Type.
     */
    @JvmName("hdepmjgvrbrfnhhf")
    public suspend fun attributes(`value`: Map>?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.attributes = mapped
    }

    /**
     * @param values The attributes for the Type.
     */
    @JvmName("vmxawjtfptoarslx")
    public fun attributes(vararg values: Pair>) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.attributes = mapped
    }

    /**
     * @param value Localized descriptions for the property.
     */
    @JvmName("ycvtgsxblrkrfyih")
    public suspend fun description(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param values Localized descriptions for the property.
     */
    @JvmName("jddmrdpvkcnxiiap")
    public fun description(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Localized display names for the property.
     */
    @JvmName("bhdihcskwihfqquw")
    public suspend fun displayName(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.displayName = mapped
    }

    /**
     * @param values Localized display names for the property.
     */
    @JvmName("hhcravlkoednwssp")
    public fun displayName(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.displayName = mapped
    }

    /**
     * @param value Type of entity.
     */
    @JvmName("vsuidxfjrfmstutm")
    public suspend fun entityType(`value`: EntityTypes?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.entityType = mapped
    }

    /**
     * @param value The properties of the Profile.
     */
    @JvmName("qthjwkvanurgbtqh")
    public suspend fun fields(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.fields = mapped
    }

    /**
     * @param argument The properties of the Profile.
     */
    @JvmName("tuccploisfmaqkyy")
    public suspend fun fields(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PropertyDefinitionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.fields = mapped
    }

    /**
     * @param argument The properties of the Profile.
     */
    @JvmName("gckphiitfnkfffwi")
    public suspend fun fields(vararg argument: suspend PropertyDefinitionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PropertyDefinitionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.fields = mapped
    }

    /**
     * @param argument The properties of the Profile.
     */
    @JvmName("orcfhumorvmbolbq")
    public suspend fun fields(argument: suspend PropertyDefinitionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(PropertyDefinitionArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.fields = mapped
    }

    /**
     * @param values The properties of the Profile.
     */
    @JvmName("nbughbosngwoeepb")
    public suspend fun fields(vararg values: PropertyDefinitionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.fields = mapped
    }

    /**
     * @param value The name of the hub.
     */
    @JvmName("ppbmmcnhbifqwxpd")
    public suspend fun hubName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hubName = mapped
    }

    /**
     * @param value The instance count.
     */
    @JvmName("ailifjtffpmkstyy")
    public suspend fun instancesCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instancesCount = mapped
    }

    /**
     * @param value Large Image associated with the Property or EntityType.
     */
    @JvmName("chvkqvcxkqrfhrsh")
    public suspend fun largeImage(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.largeImage = mapped
    }

    /**
     * @param value Any custom localized attributes for the Type.
     */
    @JvmName("vxacxljsuwfcpuce")
    public suspend fun localizedAttributes(`value`: Map>?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.localizedAttributes = mapped
    }

    /**
     * @param values Any custom localized attributes for the Type.
     */
    @JvmName("ynqfrpifgdvonkto")
    public fun localizedAttributes(vararg values: Pair>) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.localizedAttributes = mapped
    }

    /**
     * @param value Medium Image associated with the Property or EntityType.
     */
    @JvmName("jiwveudfgxtjfpsb")
    public suspend fun mediumImage(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mediumImage = mapped
    }

    /**
     * @param value The name of the profile.
     */
    @JvmName("javbodnirxmkqxkp")
    public suspend fun profileName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.profileName = mapped
    }

    /**
     * @param value The name of the resource group.
     */
    @JvmName("kgefdxnxmgugpnbe")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value The schema org link. This helps ACI identify and suggest semantic models.
     */
    @JvmName("kabsqfxnaumwtwuh")
    public suspend fun schemaItemTypeLink(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.schemaItemTypeLink = mapped
    }

    /**
     * @param value Small Image associated with the Property or EntityType.
     */
    @JvmName("eotqoaqvwigiskmm")
    public suspend fun smallImage(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.smallImage = mapped
    }

    /**
     * @param value The strong IDs.
     */
    @JvmName("osadgtnkpdpdyqoe")
    public suspend fun strongIds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.strongIds = mapped
    }

    /**
     * @param argument The strong IDs.
     */
    @JvmName("hublsgwbpukegjjs")
    public suspend fun strongIds(argument: List Unit>) {
        val toBeMapped = argument.toList().map { StrongIdArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.strongIds = mapped
    }

    /**
     * @param argument The strong IDs.
     */
    @JvmName("vhudutcytkybuedd")
    public suspend fun strongIds(vararg argument: suspend StrongIdArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { StrongIdArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.strongIds = mapped
    }

    /**
     * @param argument The strong IDs.
     */
    @JvmName("mumuadioiticwcuc")
    public suspend fun strongIds(argument: suspend StrongIdArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(StrongIdArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.strongIds = mapped
    }

    /**
     * @param values The strong IDs.
     */
    @JvmName("uarwoihmlmahydab")
    public suspend fun strongIds(vararg values: StrongIdArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.strongIds = mapped
    }

    /**
     * @param value The timestamp property name. Represents the time when the interaction or profile update happened.
     */
    @JvmName("skqdmrhiklgwregv")
    public suspend fun timestampFieldName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timestampFieldName = mapped
    }

    /**
     * @param value The name of the entity.
     */
    @JvmName("dhfweixwojcjtafw")
    public suspend fun typeName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.typeName = mapped
    }

    internal fun build(): ProfileArgs = ProfileArgs(
        apiEntitySetName = apiEntitySetName,
        attributes = attributes,
        description = description,
        displayName = displayName,
        entityType = entityType,
        fields = fields,
        hubName = hubName,
        instancesCount = instancesCount,
        largeImage = largeImage,
        localizedAttributes = localizedAttributes,
        mediumImage = mediumImage,
        profileName = profileName,
        resourceGroupName = resourceGroupName,
        schemaItemTypeLink = schemaItemTypeLink,
        smallImage = smallImage,
        strongIds = strongIds,
        timestampFieldName = timestampFieldName,
        typeName = typeName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy