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

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

There is a newer version: 2.72.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.securityinsights;

import com.pulumi.azurenative.securityinsights.enums.Flag;
import com.pulumi.azurenative.securityinsights.enums.PackageKind;
import com.pulumi.azurenative.securityinsights.inputs.MetadataAuthorArgs;
import com.pulumi.azurenative.securityinsights.inputs.MetadataCategoriesArgs;
import com.pulumi.azurenative.securityinsights.inputs.MetadataDependenciesArgs;
import com.pulumi.azurenative.securityinsights.inputs.MetadataSourceArgs;
import com.pulumi.azurenative.securityinsights.inputs.MetadataSupportArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ContentPackageArgs Empty = new ContentPackageArgs();

    /**
     * The author of the package
     * 
     */
    @Import(name="author")
    private @Nullable Output author;

    /**
     * @return The author of the package
     * 
     */
    public Optional> author() {
        return Optional.ofNullable(this.author);
    }

    /**
     * The categories of the package
     * 
     */
    @Import(name="categories")
    private @Nullable Output categories;

    /**
     * @return The categories of the package
     * 
     */
    public Optional> categories() {
        return Optional.ofNullable(this.categories);
    }

    /**
     * The package id
     * 
     */
    @Import(name="contentId", required=true)
    private Output contentId;

    /**
     * @return The package id
     * 
     */
    public Output contentId() {
        return this.contentId;
    }

    /**
     * The package kind
     * 
     */
    @Import(name="contentKind", required=true)
    private Output> contentKind;

    /**
     * @return The package kind
     * 
     */
    public Output> contentKind() {
        return this.contentKind;
    }

    /**
     * The version of the content schema.
     * 
     */
    @Import(name="contentSchemaVersion")
    private @Nullable Output contentSchemaVersion;

    /**
     * @return The version of the content schema.
     * 
     */
    public Optional> contentSchemaVersion() {
        return Optional.ofNullable(this.contentSchemaVersion);
    }

    /**
     * The support tier of the package
     * 
     */
    @Import(name="dependencies")
    private @Nullable Output dependencies;

    /**
     * @return The support tier of the package
     * 
     */
    public Optional> dependencies() {
        return Optional.ofNullable(this.dependencies);
    }

    /**
     * The description of the package
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the package
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The display name of the package
     * 
     */
    @Import(name="displayName", required=true)
    private Output displayName;

    /**
     * @return The display name of the package
     * 
     */
    public Output displayName() {
        return this.displayName;
    }

    /**
     * first publish date package item
     * 
     */
    @Import(name="firstPublishDate")
    private @Nullable Output firstPublishDate;

    /**
     * @return first publish date package item
     * 
     */
    public Optional> firstPublishDate() {
        return Optional.ofNullable(this.firstPublishDate);
    }

    /**
     * the icon identifier. this id can later be fetched from the content metadata
     * 
     */
    @Import(name="icon")
    private @Nullable Output icon;

    /**
     * @return the icon identifier. this id can later be fetched from the content metadata
     * 
     */
    public Optional> icon() {
        return Optional.ofNullable(this.icon);
    }

    /**
     * Flag indicates if this package is among the featured list.
     * 
     */
    @Import(name="isFeatured")
    private @Nullable Output> isFeatured;

    /**
     * @return Flag indicates if this package is among the featured list.
     * 
     */
    public Optional>> isFeatured() {
        return Optional.ofNullable(this.isFeatured);
    }

    /**
     * Flag indicates if this is a newly published package.
     * 
     */
    @Import(name="isNew")
    private @Nullable Output> isNew;

    /**
     * @return Flag indicates if this is a newly published package.
     * 
     */
    public Optional>> isNew() {
        return Optional.ofNullable(this.isNew);
    }

    /**
     * Flag indicates if this package is in preview.
     * 
     */
    @Import(name="isPreview")
    private @Nullable Output> isPreview;

    /**
     * @return Flag indicates if this package is in preview.
     * 
     */
    public Optional>> isPreview() {
        return Optional.ofNullable(this.isPreview);
    }

    /**
     * last publish date for the package item
     * 
     */
    @Import(name="lastPublishDate")
    private @Nullable Output lastPublishDate;

    /**
     * @return last publish date for the package item
     * 
     */
    public Optional> lastPublishDate() {
        return Optional.ofNullable(this.lastPublishDate);
    }

    /**
     * package Id
     * 
     */
    @Import(name="packageId")
    private @Nullable Output packageId;

    /**
     * @return package Id
     * 
     */
    public Optional> packageId() {
        return Optional.ofNullable(this.packageId);
    }

    /**
     * Providers for the package item
     * 
     */
    @Import(name="providers")
    private @Nullable Output> providers;

    /**
     * @return Providers for the package item
     * 
     */
    public Optional>> providers() {
        return Optional.ofNullable(this.providers);
    }

    /**
     * The publisher display name of the package
     * 
     */
    @Import(name="publisherDisplayName")
    private @Nullable Output publisherDisplayName;

    /**
     * @return The publisher display name of the package
     * 
     */
    public Optional> publisherDisplayName() {
        return Optional.ofNullable(this.publisherDisplayName);
    }

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

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

    /**
     * The source of the package
     * 
     */
    @Import(name="source")
    private @Nullable Output source;

    /**
     * @return The source of the package
     * 
     */
    public Optional> source() {
        return Optional.ofNullable(this.source);
    }

    /**
     * The support tier of the package
     * 
     */
    @Import(name="support")
    private @Nullable Output support;

    /**
     * @return The support tier of the package
     * 
     */
    public Optional> support() {
        return Optional.ofNullable(this.support);
    }

    /**
     * the tactics the resource covers
     * 
     */
    @Import(name="threatAnalysisTactics")
    private @Nullable Output> threatAnalysisTactics;

    /**
     * @return the tactics the resource covers
     * 
     */
    public Optional>> threatAnalysisTactics() {
        return Optional.ofNullable(this.threatAnalysisTactics);
    }

    /**
     * the techniques the resource covers, these have to be aligned with the tactics being used
     * 
     */
    @Import(name="threatAnalysisTechniques")
    private @Nullable Output> threatAnalysisTechniques;

    /**
     * @return the techniques the resource covers, these have to be aligned with the tactics being used
     * 
     */
    public Optional>> threatAnalysisTechniques() {
        return Optional.ofNullable(this.threatAnalysisTechniques);
    }

    /**
     * the latest version number of the package
     * 
     */
    @Import(name="version", required=true)
    private Output version;

    /**
     * @return the latest version number of the package
     * 
     */
    public Output version() {
        return this.version;
    }

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

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

    private ContentPackageArgs() {}

    private ContentPackageArgs(ContentPackageArgs $) {
        this.author = $.author;
        this.categories = $.categories;
        this.contentId = $.contentId;
        this.contentKind = $.contentKind;
        this.contentSchemaVersion = $.contentSchemaVersion;
        this.dependencies = $.dependencies;
        this.description = $.description;
        this.displayName = $.displayName;
        this.firstPublishDate = $.firstPublishDate;
        this.icon = $.icon;
        this.isFeatured = $.isFeatured;
        this.isNew = $.isNew;
        this.isPreview = $.isPreview;
        this.lastPublishDate = $.lastPublishDate;
        this.packageId = $.packageId;
        this.providers = $.providers;
        this.publisherDisplayName = $.publisherDisplayName;
        this.resourceGroupName = $.resourceGroupName;
        this.source = $.source;
        this.support = $.support;
        this.threatAnalysisTactics = $.threatAnalysisTactics;
        this.threatAnalysisTechniques = $.threatAnalysisTechniques;
        this.version = $.version;
        this.workspaceName = $.workspaceName;
    }

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

    public static final class Builder {
        private ContentPackageArgs $;

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

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

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

        /**
         * @param author The author of the package
         * 
         * @return builder
         * 
         */
        public Builder author(MetadataAuthorArgs author) {
            return author(Output.of(author));
        }

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

        /**
         * @param categories The categories of the package
         * 
         * @return builder
         * 
         */
        public Builder categories(MetadataCategoriesArgs categories) {
            return categories(Output.of(categories));
        }

        /**
         * @param contentId The package id
         * 
         * @return builder
         * 
         */
        public Builder contentId(Output contentId) {
            $.contentId = contentId;
            return this;
        }

        /**
         * @param contentId The package id
         * 
         * @return builder
         * 
         */
        public Builder contentId(String contentId) {
            return contentId(Output.of(contentId));
        }

        /**
         * @param contentKind The package kind
         * 
         * @return builder
         * 
         */
        public Builder contentKind(Output> contentKind) {
            $.contentKind = contentKind;
            return this;
        }

        /**
         * @param contentKind The package kind
         * 
         * @return builder
         * 
         */
        public Builder contentKind(Either contentKind) {
            return contentKind(Output.of(contentKind));
        }

        /**
         * @param contentKind The package kind
         * 
         * @return builder
         * 
         */
        public Builder contentKind(String contentKind) {
            return contentKind(Either.ofLeft(contentKind));
        }

        /**
         * @param contentKind The package kind
         * 
         * @return builder
         * 
         */
        public Builder contentKind(PackageKind contentKind) {
            return contentKind(Either.ofRight(contentKind));
        }

        /**
         * @param contentSchemaVersion The version of the content schema.
         * 
         * @return builder
         * 
         */
        public Builder contentSchemaVersion(@Nullable Output contentSchemaVersion) {
            $.contentSchemaVersion = contentSchemaVersion;
            return this;
        }

        /**
         * @param contentSchemaVersion The version of the content schema.
         * 
         * @return builder
         * 
         */
        public Builder contentSchemaVersion(String contentSchemaVersion) {
            return contentSchemaVersion(Output.of(contentSchemaVersion));
        }

        /**
         * @param dependencies The support tier of the package
         * 
         * @return builder
         * 
         */
        public Builder dependencies(@Nullable Output dependencies) {
            $.dependencies = dependencies;
            return this;
        }

        /**
         * @param dependencies The support tier of the package
         * 
         * @return builder
         * 
         */
        public Builder dependencies(MetadataDependenciesArgs dependencies) {
            return dependencies(Output.of(dependencies));
        }

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

        /**
         * @param description The description of the package
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

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

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

        /**
         * @param firstPublishDate first publish date package item
         * 
         * @return builder
         * 
         */
        public Builder firstPublishDate(@Nullable Output firstPublishDate) {
            $.firstPublishDate = firstPublishDate;
            return this;
        }

        /**
         * @param firstPublishDate first publish date package item
         * 
         * @return builder
         * 
         */
        public Builder firstPublishDate(String firstPublishDate) {
            return firstPublishDate(Output.of(firstPublishDate));
        }

        /**
         * @param icon the icon identifier. this id can later be fetched from the content metadata
         * 
         * @return builder
         * 
         */
        public Builder icon(@Nullable Output icon) {
            $.icon = icon;
            return this;
        }

        /**
         * @param icon the icon identifier. this id can later be fetched from the content metadata
         * 
         * @return builder
         * 
         */
        public Builder icon(String icon) {
            return icon(Output.of(icon));
        }

        /**
         * @param isFeatured Flag indicates if this package is among the featured list.
         * 
         * @return builder
         * 
         */
        public Builder isFeatured(@Nullable Output> isFeatured) {
            $.isFeatured = isFeatured;
            return this;
        }

        /**
         * @param isFeatured Flag indicates if this package is among the featured list.
         * 
         * @return builder
         * 
         */
        public Builder isFeatured(Either isFeatured) {
            return isFeatured(Output.of(isFeatured));
        }

        /**
         * @param isFeatured Flag indicates if this package is among the featured list.
         * 
         * @return builder
         * 
         */
        public Builder isFeatured(String isFeatured) {
            return isFeatured(Either.ofLeft(isFeatured));
        }

        /**
         * @param isFeatured Flag indicates if this package is among the featured list.
         * 
         * @return builder
         * 
         */
        public Builder isFeatured(Flag isFeatured) {
            return isFeatured(Either.ofRight(isFeatured));
        }

        /**
         * @param isNew Flag indicates if this is a newly published package.
         * 
         * @return builder
         * 
         */
        public Builder isNew(@Nullable Output> isNew) {
            $.isNew = isNew;
            return this;
        }

        /**
         * @param isNew Flag indicates if this is a newly published package.
         * 
         * @return builder
         * 
         */
        public Builder isNew(Either isNew) {
            return isNew(Output.of(isNew));
        }

        /**
         * @param isNew Flag indicates if this is a newly published package.
         * 
         * @return builder
         * 
         */
        public Builder isNew(String isNew) {
            return isNew(Either.ofLeft(isNew));
        }

        /**
         * @param isNew Flag indicates if this is a newly published package.
         * 
         * @return builder
         * 
         */
        public Builder isNew(Flag isNew) {
            return isNew(Either.ofRight(isNew));
        }

        /**
         * @param isPreview Flag indicates if this package is in preview.
         * 
         * @return builder
         * 
         */
        public Builder isPreview(@Nullable Output> isPreview) {
            $.isPreview = isPreview;
            return this;
        }

        /**
         * @param isPreview Flag indicates if this package is in preview.
         * 
         * @return builder
         * 
         */
        public Builder isPreview(Either isPreview) {
            return isPreview(Output.of(isPreview));
        }

        /**
         * @param isPreview Flag indicates if this package is in preview.
         * 
         * @return builder
         * 
         */
        public Builder isPreview(String isPreview) {
            return isPreview(Either.ofLeft(isPreview));
        }

        /**
         * @param isPreview Flag indicates if this package is in preview.
         * 
         * @return builder
         * 
         */
        public Builder isPreview(Flag isPreview) {
            return isPreview(Either.ofRight(isPreview));
        }

        /**
         * @param lastPublishDate last publish date for the package item
         * 
         * @return builder
         * 
         */
        public Builder lastPublishDate(@Nullable Output lastPublishDate) {
            $.lastPublishDate = lastPublishDate;
            return this;
        }

        /**
         * @param lastPublishDate last publish date for the package item
         * 
         * @return builder
         * 
         */
        public Builder lastPublishDate(String lastPublishDate) {
            return lastPublishDate(Output.of(lastPublishDate));
        }

        /**
         * @param packageId package Id
         * 
         * @return builder
         * 
         */
        public Builder packageId(@Nullable Output packageId) {
            $.packageId = packageId;
            return this;
        }

        /**
         * @param packageId package Id
         * 
         * @return builder
         * 
         */
        public Builder packageId(String packageId) {
            return packageId(Output.of(packageId));
        }

        /**
         * @param providers Providers for the package item
         * 
         * @return builder
         * 
         */
        public Builder providers(@Nullable Output> providers) {
            $.providers = providers;
            return this;
        }

        /**
         * @param providers Providers for the package item
         * 
         * @return builder
         * 
         */
        public Builder providers(List providers) {
            return providers(Output.of(providers));
        }

        /**
         * @param providers Providers for the package item
         * 
         * @return builder
         * 
         */
        public Builder providers(String... providers) {
            return providers(List.of(providers));
        }

        /**
         * @param publisherDisplayName The publisher display name of the package
         * 
         * @return builder
         * 
         */
        public Builder publisherDisplayName(@Nullable Output publisherDisplayName) {
            $.publisherDisplayName = publisherDisplayName;
            return this;
        }

        /**
         * @param publisherDisplayName The publisher display name of the package
         * 
         * @return builder
         * 
         */
        public Builder publisherDisplayName(String publisherDisplayName) {
            return publisherDisplayName(Output.of(publisherDisplayName));
        }

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

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

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

        /**
         * @param source The source of the package
         * 
         * @return builder
         * 
         */
        public Builder source(MetadataSourceArgs source) {
            return source(Output.of(source));
        }

        /**
         * @param support The support tier of the package
         * 
         * @return builder
         * 
         */
        public Builder support(@Nullable Output support) {
            $.support = support;
            return this;
        }

        /**
         * @param support The support tier of the package
         * 
         * @return builder
         * 
         */
        public Builder support(MetadataSupportArgs support) {
            return support(Output.of(support));
        }

        /**
         * @param threatAnalysisTactics the tactics the resource covers
         * 
         * @return builder
         * 
         */
        public Builder threatAnalysisTactics(@Nullable Output> threatAnalysisTactics) {
            $.threatAnalysisTactics = threatAnalysisTactics;
            return this;
        }

        /**
         * @param threatAnalysisTactics the tactics the resource covers
         * 
         * @return builder
         * 
         */
        public Builder threatAnalysisTactics(List threatAnalysisTactics) {
            return threatAnalysisTactics(Output.of(threatAnalysisTactics));
        }

        /**
         * @param threatAnalysisTactics the tactics the resource covers
         * 
         * @return builder
         * 
         */
        public Builder threatAnalysisTactics(String... threatAnalysisTactics) {
            return threatAnalysisTactics(List.of(threatAnalysisTactics));
        }

        /**
         * @param threatAnalysisTechniques the techniques the resource covers, these have to be aligned with the tactics being used
         * 
         * @return builder
         * 
         */
        public Builder threatAnalysisTechniques(@Nullable Output> threatAnalysisTechniques) {
            $.threatAnalysisTechniques = threatAnalysisTechniques;
            return this;
        }

        /**
         * @param threatAnalysisTechniques the techniques the resource covers, these have to be aligned with the tactics being used
         * 
         * @return builder
         * 
         */
        public Builder threatAnalysisTechniques(List threatAnalysisTechniques) {
            return threatAnalysisTechniques(Output.of(threatAnalysisTechniques));
        }

        /**
         * @param threatAnalysisTechniques the techniques the resource covers, these have to be aligned with the tactics being used
         * 
         * @return builder
         * 
         */
        public Builder threatAnalysisTechniques(String... threatAnalysisTechniques) {
            return threatAnalysisTechniques(List.of(threatAnalysisTechniques));
        }

        /**
         * @param version the latest version number of the package
         * 
         * @return builder
         * 
         */
        public Builder version(Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version the latest version number of the package
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

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

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

        public ContentPackageArgs build() {
            if ($.contentId == null) {
                throw new MissingRequiredPropertyException("ContentPackageArgs", "contentId");
            }
            if ($.contentKind == null) {
                throw new MissingRequiredPropertyException("ContentPackageArgs", "contentKind");
            }
            if ($.displayName == null) {
                throw new MissingRequiredPropertyException("ContentPackageArgs", "displayName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ContentPackageArgs", "resourceGroupName");
            }
            if ($.version == null) {
                throw new MissingRequiredPropertyException("ContentPackageArgs", "version");
            }
            if ($.workspaceName == null) {
                throw new MissingRequiredPropertyException("ContentPackageArgs", "workspaceName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy