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

com.pulumi.azurenative.securityinsights.kotlin.ContentPackageArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.securityinsights.kotlin

import com.pulumi.azurenative.securityinsights.ContentPackageArgs.builder
import com.pulumi.azurenative.securityinsights.kotlin.enums.Flag
import com.pulumi.azurenative.securityinsights.kotlin.enums.PackageKind
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataAuthorArgs
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataAuthorArgsBuilder
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataCategoriesArgs
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataCategoriesArgsBuilder
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataDependenciesArgs
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataDependenciesArgsBuilder
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataSourceArgs
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataSourceArgsBuilder
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataSupportArgs
import com.pulumi.azurenative.securityinsights.kotlin.inputs.MetadataSupportArgsBuilder
import com.pulumi.core.Either
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Represents a Package in Azure Security Insights.
 * Azure REST API version: 2023-06-01-preview.
 * Other available API versions: 2023-07-01-preview, 2023-08-01-preview, 2023-09-01-preview, 2023-10-01-preview, 2023-11-01, 2023-12-01-preview, 2024-01-01-preview, 2024-03-01.
 * ## Example Usage
 * ### Install a package to the workspace.
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var contentPackage = new AzureNative.SecurityInsights.ContentPackage("contentPackage", new()
 *     {
 *         ContentId = "str.azure-sentinel-solution-str",
 *         ContentKind = AzureNative.SecurityInsights.PackageKind.Solution,
 *         DisplayName = "str",
 *         PackageId = "str.azure-sentinel-solution-str",
 *         ResourceGroupName = "myRg",
 *         Version = "2.0.0",
 *         WorkspaceName = "myWorkspace",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	securityinsights "github.com/pulumi/pulumi-azure-native-sdk/securityinsights/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := securityinsights.NewContentPackage(ctx, "contentPackage", &securityinsights.ContentPackageArgs{
 * 			ContentId:         pulumi.String("str.azure-sentinel-solution-str"),
 * 			ContentKind:       pulumi.String(securityinsights.PackageKindSolution),
 * 			DisplayName:       pulumi.String("str"),
 * 			PackageId:         pulumi.String("str.azure-sentinel-solution-str"),
 * 			ResourceGroupName: pulumi.String("myRg"),
 * 			Version:           pulumi.String("2.0.0"),
 * 			WorkspaceName:     pulumi.String("myWorkspace"),
 * 		})
 * 		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.securityinsights.ContentPackage;
 * import com.pulumi.azurenative.securityinsights.ContentPackageArgs;
 * 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 contentPackage = new ContentPackage("contentPackage", ContentPackageArgs.builder()
 *             .contentId("str.azure-sentinel-solution-str")
 *             .contentKind("Solution")
 *             .displayName("str")
 *             .packageId("str.azure-sentinel-solution-str")
 *             .resourceGroupName("myRg")
 *             .version("2.0.0")
 *             .workspaceName("myWorkspace")
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:securityinsights:ContentPackage str.azure-sentinel-solution-str /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages/{packageId}
 * ```
 * @property author The author of the package
 * @property categories The categories of the package
 * @property contentId The package id
 * @property contentKind The package kind
 * @property contentSchemaVersion The version of the content schema.
 * @property dependencies The support tier of the package
 * @property description The description of the package
 * @property displayName The display name of the package
 * @property firstPublishDate first publish date package item
 * @property icon the icon identifier. this id can later be fetched from the content metadata
 * @property isFeatured Flag indicates if this package is among the featured list.
 * @property isNew Flag indicates if this is a newly published package.
 * @property isPreview Flag indicates if this package is in preview.
 * @property lastPublishDate last publish date for the package item
 * @property packageId package Id
 * @property providers Providers for the package item
 * @property publisherDisplayName The publisher display name of the package
 * @property resourceGroupName The name of the resource group. The name is case insensitive.
 * @property source The source of the package
 * @property support The support tier of the package
 * @property threatAnalysisTactics the tactics the resource covers
 * @property threatAnalysisTechniques the techniques the resource covers, these have to be aligned with the tactics being used
 * @property version the latest version number of the package
 * @property workspaceName The name of the workspace.
 */
public data class ContentPackageArgs(
    public val author: Output? = null,
    public val categories: Output? = null,
    public val contentId: Output? = null,
    public val contentKind: Output>? = null,
    public val contentSchemaVersion: Output? = null,
    public val dependencies: Output? = null,
    public val description: Output? = null,
    public val displayName: Output? = null,
    public val firstPublishDate: Output? = null,
    public val icon: Output? = null,
    public val isFeatured: Output>? = null,
    public val isNew: Output>? = null,
    public val isPreview: Output>? = null,
    public val lastPublishDate: Output? = null,
    public val packageId: Output? = null,
    public val providers: Output>? = null,
    public val publisherDisplayName: Output? = null,
    public val resourceGroupName: Output? = null,
    public val source: Output? = null,
    public val support: Output? = null,
    public val threatAnalysisTactics: Output>? = null,
    public val threatAnalysisTechniques: Output>? = null,
    public val version: Output? = null,
    public val workspaceName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.securityinsights.ContentPackageArgs =
        com.pulumi.azurenative.securityinsights.ContentPackageArgs.builder()
            .author(author?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .categories(categories?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .contentId(contentId?.applyValue({ args0 -> args0 }))
            .contentKind(
                contentKind?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .contentSchemaVersion(contentSchemaVersion?.applyValue({ args0 -> args0 }))
            .dependencies(dependencies?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .displayName(displayName?.applyValue({ args0 -> args0 }))
            .firstPublishDate(firstPublishDate?.applyValue({ args0 -> args0 }))
            .icon(icon?.applyValue({ args0 -> args0 }))
            .isFeatured(
                isFeatured?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .isNew(
                isNew?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .isPreview(
                isPreview?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .lastPublishDate(lastPublishDate?.applyValue({ args0 -> args0 }))
            .packageId(packageId?.applyValue({ args0 -> args0 }))
            .providers(providers?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .publisherDisplayName(publisherDisplayName?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .source(source?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .support(support?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .threatAnalysisTactics(threatAnalysisTactics?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .threatAnalysisTechniques(
                threatAnalysisTechniques?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .version(version?.applyValue({ args0 -> args0 }))
            .workspaceName(workspaceName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ContentPackageArgs].
 */
@PulumiTagMarker
public class ContentPackageArgsBuilder internal constructor() {
    private var author: Output? = null

    private var categories: Output? = null

    private var contentId: Output? = null

    private var contentKind: Output>? = null

    private var contentSchemaVersion: Output? = null

    private var dependencies: Output? = null

    private var description: Output? = null

    private var displayName: Output? = null

    private var firstPublishDate: Output? = null

    private var icon: Output? = null

    private var isFeatured: Output>? = null

    private var isNew: Output>? = null

    private var isPreview: Output>? = null

    private var lastPublishDate: Output? = null

    private var packageId: Output? = null

    private var providers: Output>? = null

    private var publisherDisplayName: Output? = null

    private var resourceGroupName: Output? = null

    private var source: Output? = null

    private var support: Output? = null

    private var threatAnalysisTactics: Output>? = null

    private var threatAnalysisTechniques: Output>? = null

    private var version: Output? = null

    private var workspaceName: Output? = null

    /**
     * @param value The author of the package
     */
    @JvmName("umerbgjjflobsbmy")
    public suspend fun author(`value`: Output) {
        this.author = value
    }

    /**
     * @param value The categories of the package
     */
    @JvmName("ywrfenabapyrcsjk")
    public suspend fun categories(`value`: Output) {
        this.categories = value
    }

    /**
     * @param value The package id
     */
    @JvmName("kcvdfrjebpvxrswf")
    public suspend fun contentId(`value`: Output) {
        this.contentId = value
    }

    /**
     * @param value The package kind
     */
    @JvmName("wnlwlqcpwrtvrqvl")
    public suspend fun contentKind(`value`: Output>) {
        this.contentKind = value
    }

    /**
     * @param value The version of the content schema.
     */
    @JvmName("qtjohrewhfdqiabx")
    public suspend fun contentSchemaVersion(`value`: Output) {
        this.contentSchemaVersion = value
    }

    /**
     * @param value The support tier of the package
     */
    @JvmName("ikfatfuusslbwiba")
    public suspend fun dependencies(`value`: Output) {
        this.dependencies = value
    }

    /**
     * @param value The description of the package
     */
    @JvmName("pwrmqfwhjedlrmar")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The display name of the package
     */
    @JvmName("gasnoqmicjhegqyw")
    public suspend fun displayName(`value`: Output) {
        this.displayName = value
    }

    /**
     * @param value first publish date package item
     */
    @JvmName("bcgoinadaadhsudu")
    public suspend fun firstPublishDate(`value`: Output) {
        this.firstPublishDate = value
    }

    /**
     * @param value the icon identifier. this id can later be fetched from the content metadata
     */
    @JvmName("yetbbgqdhrrjitvh")
    public suspend fun icon(`value`: Output) {
        this.icon = value
    }

    /**
     * @param value Flag indicates if this package is among the featured list.
     */
    @JvmName("teehrblirnkxaegu")
    public suspend fun isFeatured(`value`: Output>) {
        this.isFeatured = value
    }

    /**
     * @param value Flag indicates if this is a newly published package.
     */
    @JvmName("nevxikgpmwlrhyrc")
    public suspend fun isNew(`value`: Output>) {
        this.isNew = value
    }

    /**
     * @param value Flag indicates if this package is in preview.
     */
    @JvmName("tjmoegnygnlhbvtm")
    public suspend fun isPreview(`value`: Output>) {
        this.isPreview = value
    }

    /**
     * @param value last publish date for the package item
     */
    @JvmName("cgdxnkdwipuvkdcf")
    public suspend fun lastPublishDate(`value`: Output) {
        this.lastPublishDate = value
    }

    /**
     * @param value package Id
     */
    @JvmName("nweusspgdgneavlb")
    public suspend fun packageId(`value`: Output) {
        this.packageId = value
    }

    /**
     * @param value Providers for the package item
     */
    @JvmName("unrgpjugyfnwiity")
    public suspend fun providers(`value`: Output>) {
        this.providers = value
    }

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

    /**
     * @param values Providers for the package item
     */
    @JvmName("qmgfatsepivmcjmr")
    public suspend fun providers(values: List>) {
        this.providers = Output.all(values)
    }

    /**
     * @param value The publisher display name of the package
     */
    @JvmName("muxaovuehhnndxgc")
    public suspend fun publisherDisplayName(`value`: Output) {
        this.publisherDisplayName = value
    }

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

    /**
     * @param value The source of the package
     */
    @JvmName("mdbbrnxhpqhonetn")
    public suspend fun source(`value`: Output) {
        this.source = value
    }

    /**
     * @param value The support tier of the package
     */
    @JvmName("eqvfjhtxjbbxsaxq")
    public suspend fun support(`value`: Output) {
        this.support = value
    }

    /**
     * @param value the tactics the resource covers
     */
    @JvmName("vosowpfsehesgjov")
    public suspend fun threatAnalysisTactics(`value`: Output>) {
        this.threatAnalysisTactics = value
    }

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

    /**
     * @param values the tactics the resource covers
     */
    @JvmName("qhnrukcoybpubpcd")
    public suspend fun threatAnalysisTactics(values: List>) {
        this.threatAnalysisTactics = Output.all(values)
    }

    /**
     * @param value the techniques the resource covers, these have to be aligned with the tactics being used
     */
    @JvmName("cuhtnnpmrgcyndlg")
    public suspend fun threatAnalysisTechniques(`value`: Output>) {
        this.threatAnalysisTechniques = value
    }

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

    /**
     * @param values the techniques the resource covers, these have to be aligned with the tactics being used
     */
    @JvmName("pcjylivfggydjvor")
    public suspend fun threatAnalysisTechniques(values: List>) {
        this.threatAnalysisTechniques = Output.all(values)
    }

    /**
     * @param value the latest version number of the package
     */
    @JvmName("tmvilckljpechgic")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

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

    /**
     * @param value The author of the package
     */
    @JvmName("mlkabjhwejqjfdfm")
    public suspend fun author(`value`: MetadataAuthorArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.author = mapped
    }

    /**
     * @param argument The author of the package
     */
    @JvmName("dqgurwdcdsacrenb")
    public suspend fun author(argument: suspend MetadataAuthorArgsBuilder.() -> Unit) {
        val toBeMapped = MetadataAuthorArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.author = mapped
    }

    /**
     * @param value The categories of the package
     */
    @JvmName("bkugquvbcgywxkek")
    public suspend fun categories(`value`: MetadataCategoriesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.categories = mapped
    }

    /**
     * @param argument The categories of the package
     */
    @JvmName("yfvmkyvmcksgwoex")
    public suspend fun categories(argument: suspend MetadataCategoriesArgsBuilder.() -> Unit) {
        val toBeMapped = MetadataCategoriesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.categories = mapped
    }

    /**
     * @param value The package id
     */
    @JvmName("dxldffmryximbpjt")
    public suspend fun contentId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentId = mapped
    }

    /**
     * @param value The package kind
     */
    @JvmName("udhvqjmnhkppujgc")
    public suspend fun contentKind(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentKind = mapped
    }

    /**
     * @param value The package kind
     */
    @JvmName("vrumreqhehdldtma")
    public fun contentKind(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.contentKind = mapped
    }

    /**
     * @param value The package kind
     */
    @JvmName("eamhkrlycvyiveos")
    public fun contentKind(`value`: PackageKind) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.contentKind = mapped
    }

    /**
     * @param value The version of the content schema.
     */
    @JvmName("lrekhrdxhgamxuxf")
    public suspend fun contentSchemaVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentSchemaVersion = mapped
    }

    /**
     * @param value The support tier of the package
     */
    @JvmName("slmiehckudokvfyt")
    public suspend fun dependencies(`value`: MetadataDependenciesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dependencies = mapped
    }

    /**
     * @param argument The support tier of the package
     */
    @JvmName("dkhpiadwjydsmllw")
    public suspend fun dependencies(argument: suspend MetadataDependenciesArgsBuilder.() -> Unit) {
        val toBeMapped = MetadataDependenciesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.dependencies = mapped
    }

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

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

    /**
     * @param value first publish date package item
     */
    @JvmName("hxferitfwnkxpupa")
    public suspend fun firstPublishDate(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.firstPublishDate = mapped
    }

    /**
     * @param value the icon identifier. this id can later be fetched from the content metadata
     */
    @JvmName("qapxatdjrdibbale")
    public suspend fun icon(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.icon = mapped
    }

    /**
     * @param value Flag indicates if this package is among the featured list.
     */
    @JvmName("cqeuofydlpiksaen")
    public suspend fun isFeatured(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isFeatured = mapped
    }

    /**
     * @param value Flag indicates if this package is among the featured list.
     */
    @JvmName("ryrsgscgaiqqytbn")
    public fun isFeatured(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.isFeatured = mapped
    }

    /**
     * @param value Flag indicates if this package is among the featured list.
     */
    @JvmName("xmuoaopogevmctcv")
    public fun isFeatured(`value`: Flag) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.isFeatured = mapped
    }

    /**
     * @param value Flag indicates if this is a newly published package.
     */
    @JvmName("gtcqufvxsojqtxkd")
    public suspend fun isNew(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isNew = mapped
    }

    /**
     * @param value Flag indicates if this is a newly published package.
     */
    @JvmName("cbxgnqmsspnlcpag")
    public fun isNew(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.isNew = mapped
    }

    /**
     * @param value Flag indicates if this is a newly published package.
     */
    @JvmName("dgqrhilmlhbsgujm")
    public fun isNew(`value`: Flag) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.isNew = mapped
    }

    /**
     * @param value Flag indicates if this package is in preview.
     */
    @JvmName("kbbgmkhcbelgdckw")
    public suspend fun isPreview(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isPreview = mapped
    }

    /**
     * @param value Flag indicates if this package is in preview.
     */
    @JvmName("nbevedrdcfxyutro")
    public fun isPreview(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.isPreview = mapped
    }

    /**
     * @param value Flag indicates if this package is in preview.
     */
    @JvmName("hcvwscxgtqcrktsx")
    public fun isPreview(`value`: Flag) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.isPreview = mapped
    }

    /**
     * @param value last publish date for the package item
     */
    @JvmName("qchnqpxwtuhplhlc")
    public suspend fun lastPublishDate(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lastPublishDate = mapped
    }

    /**
     * @param value package Id
     */
    @JvmName("ixpndtmwlrtcdmxr")
    public suspend fun packageId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.packageId = mapped
    }

    /**
     * @param value Providers for the package item
     */
    @JvmName("xuwgablpkaonxbrs")
    public suspend fun providers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.providers = mapped
    }

    /**
     * @param values Providers for the package item
     */
    @JvmName("jsulgtiphimgjdrs")
    public suspend fun providers(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.providers = mapped
    }

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

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

    /**
     * @param value The source of the package
     */
    @JvmName("myyhwvllwdlfckcg")
    public suspend fun source(`value`: MetadataSourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.source = mapped
    }

    /**
     * @param argument The source of the package
     */
    @JvmName("qqjipqhgjlmlhqtx")
    public suspend fun source(argument: suspend MetadataSourceArgsBuilder.() -> Unit) {
        val toBeMapped = MetadataSourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.source = mapped
    }

    /**
     * @param value The support tier of the package
     */
    @JvmName("ptibqptrmgcjbhet")
    public suspend fun support(`value`: MetadataSupportArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.support = mapped
    }

    /**
     * @param argument The support tier of the package
     */
    @JvmName("hhiliwhtjmnriqdd")
    public suspend fun support(argument: suspend MetadataSupportArgsBuilder.() -> Unit) {
        val toBeMapped = MetadataSupportArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.support = mapped
    }

    /**
     * @param value the tactics the resource covers
     */
    @JvmName("njtaontibyfomfgs")
    public suspend fun threatAnalysisTactics(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.threatAnalysisTactics = mapped
    }

    /**
     * @param values the tactics the resource covers
     */
    @JvmName("hednqftkvhvuhhwb")
    public suspend fun threatAnalysisTactics(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.threatAnalysisTactics = mapped
    }

    /**
     * @param value the techniques the resource covers, these have to be aligned with the tactics being used
     */
    @JvmName("fwhnyegcdaumqqql")
    public suspend fun threatAnalysisTechniques(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.threatAnalysisTechniques = mapped
    }

    /**
     * @param values the techniques the resource covers, these have to be aligned with the tactics being used
     */
    @JvmName("ukeviqofqdvklfsv")
    public suspend fun threatAnalysisTechniques(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.threatAnalysisTechniques = mapped
    }

    /**
     * @param value the latest version number of the package
     */
    @JvmName("kjamvetokppghjke")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

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

    internal fun build(): ContentPackageArgs = ContentPackageArgs(
        author = author,
        categories = categories,
        contentId = contentId,
        contentKind = contentKind,
        contentSchemaVersion = contentSchemaVersion,
        dependencies = dependencies,
        description = description,
        displayName = displayName,
        firstPublishDate = firstPublishDate,
        icon = icon,
        isFeatured = isFeatured,
        isNew = isNew,
        isPreview = isPreview,
        lastPublishDate = lastPublishDate,
        packageId = packageId,
        providers = providers,
        publisherDisplayName = publisherDisplayName,
        resourceGroupName = resourceGroupName,
        source = source,
        support = support,
        threatAnalysisTactics = threatAnalysisTactics,
        threatAnalysisTechniques = threatAnalysisTechniques,
        version = version,
        workspaceName = workspaceName,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy