com.azure.resourcemanager.securityinsights.models.MetadataModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-securityinsights Show documentation
Show all versions of azure-resourcemanager-securityinsights Show documentation
This package contains Microsoft Azure SDK for SecurityInsights Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider. Package tag package-preview-2022-09.
The newest version!
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.securityinsights.models;
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
import com.azure.resourcemanager.securityinsights.fluent.models.MetadataModelInner;
import java.time.LocalDate;
import java.util.List;
/**
* An immutable client-side representation of MetadataModel.
*/
public interface MetadataModel {
/**
* Gets the id property: Fully qualified resource Id for the resource.
*
* @return the id value.
*/
String id();
/**
* Gets the name property: The name of the resource.
*
* @return the name value.
*/
String name();
/**
* Gets the type property: The type of the resource.
*
* @return the type value.
*/
String type();
/**
* Gets the etag property: Etag of the azure resource.
*
* @return the etag value.
*/
String etag();
/**
* Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
SystemData systemData();
/**
* Gets the contentId property: Static ID for the content. Used to identify dependencies and content from solutions
* or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the
* resource name.
*
* @return the contentId value.
*/
String contentId();
/**
* Gets the parentId property: Full parent resource ID of the content item the metadata is for. This is the full
* resource ID including the scope (subscription and resource group).
*
* @return the parentId value.
*/
String parentId();
/**
* Gets the version property: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0,
* 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version
* checks.
*
* @return the version value.
*/
String version();
/**
* Gets the kind property: The kind of content the metadata is for.
*
* @return the kind value.
*/
Kind kind();
/**
* Gets the source property: Source of the content. This is where/how it was created.
*
* @return the source value.
*/
MetadataSource source();
/**
* Gets the author property: The creator of the content item.
*
* @return the author value.
*/
MetadataAuthor author();
/**
* Gets the support property: Support information for the metadata - type, name, contact information.
*
* @return the support value.
*/
MetadataSupport support();
/**
* Gets the dependencies property: Dependencies for the content item, what other content items it requires to work.
* Can describe more complex dependencies using a recursive/nested structure. For a single dependency an
* id/kind/version can be supplied or operator/criteria for complex formats.
*
* @return the dependencies value.
*/
MetadataDependencies dependencies();
/**
* Gets the categories property: Categories for the solution content item.
*
* @return the categories value.
*/
MetadataCategories categories();
/**
* Gets the providers property: Providers for the solution content item.
*
* @return the providers value.
*/
List providers();
/**
* Gets the firstPublishDate property: first publish date solution content item.
*
* @return the firstPublishDate value.
*/
LocalDate firstPublishDate();
/**
* Gets the lastPublishDate property: last publish date for the solution content item.
*
* @return the lastPublishDate value.
*/
LocalDate lastPublishDate();
/**
* Gets the customVersion property: The custom version of the content. A optional free text.
*
* @return the customVersion value.
*/
String customVersion();
/**
* Gets the contentSchemaVersion property: Schema version of the content. Can be used to distinguish between
* different flow based on the schema version.
*
* @return the contentSchemaVersion value.
*/
String contentSchemaVersion();
/**
* Gets the icon property: the icon identifier. this id can later be fetched from the solution template.
*
* @return the icon value.
*/
String icon();
/**
* Gets the threatAnalysisTactics property: the tactics the resource covers.
*
* @return the threatAnalysisTactics value.
*/
List threatAnalysisTactics();
/**
* Gets the threatAnalysisTechniques property: the techniques the resource covers, these have to be aligned with the
* tactics being used.
*
* @return the threatAnalysisTechniques value.
*/
List threatAnalysisTechniques();
/**
* Gets the previewImages property: preview image file names. These will be taken from the solution artifacts.
*
* @return the previewImages value.
*/
List previewImages();
/**
* Gets the previewImagesDark property: preview image file names. These will be taken from the solution artifacts.
* used for dark theme support.
*
* @return the previewImagesDark value.
*/
List previewImagesDark();
/**
* Gets the name of the resource group.
*
* @return the name of the resource group.
*/
String resourceGroupName();
/**
* Gets the inner com.azure.resourcemanager.securityinsights.fluent.models.MetadataModelInner object.
*
* @return the inner object.
*/
MetadataModelInner innerModel();
/**
* The entirety of the MetadataModel definition.
*/
interface Definition
extends DefinitionStages.Blank, DefinitionStages.WithParentResource, DefinitionStages.WithCreate {
}
/**
* The MetadataModel definition stages.
*/
interface DefinitionStages {
/**
* The first stage of the MetadataModel definition.
*/
interface Blank extends WithParentResource {
}
/**
* The stage of the MetadataModel definition allowing to specify parent resource.
*/
interface WithParentResource {
/**
* Specifies resourceGroupName, workspaceName.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param workspaceName The name of the workspace.
* @return the next definition stage.
*/
WithCreate withExistingWorkspace(String resourceGroupName, String workspaceName);
}
/**
* The stage of the MetadataModel definition which contains all the minimum required properties for the resource
* to be created, but also allows for any other optional properties to be specified.
*/
interface WithCreate extends DefinitionStages.WithEtag, DefinitionStages.WithContentId,
DefinitionStages.WithParentId, DefinitionStages.WithVersion, DefinitionStages.WithKind,
DefinitionStages.WithSource, DefinitionStages.WithAuthor, DefinitionStages.WithSupport,
DefinitionStages.WithDependencies, DefinitionStages.WithCategories, DefinitionStages.WithProviders,
DefinitionStages.WithFirstPublishDate, DefinitionStages.WithLastPublishDate,
DefinitionStages.WithCustomVersion, DefinitionStages.WithContentSchemaVersion, DefinitionStages.WithIcon,
DefinitionStages.WithThreatAnalysisTactics, DefinitionStages.WithThreatAnalysisTechniques,
DefinitionStages.WithPreviewImages, DefinitionStages.WithPreviewImagesDark {
/**
* Executes the create request.
*
* @return the created resource.
*/
MetadataModel create();
/**
* Executes the create request.
*
* @param context The context to associate with this operation.
* @return the created resource.
*/
MetadataModel create(Context context);
}
/**
* The stage of the MetadataModel definition allowing to specify etag.
*/
interface WithEtag {
/**
* Specifies the etag property: Etag of the azure resource.
*
* @param etag Etag of the azure resource.
* @return the next definition stage.
*/
WithCreate withEtag(String etag);
}
/**
* The stage of the MetadataModel definition allowing to specify contentId.
*/
interface WithContentId {
/**
* Specifies the contentId property: Static ID for the content. Used to identify dependencies and content
* from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for
* user-created. This is the resource name.
*
* @param contentId Static ID for the content. Used to identify dependencies and content from solutions or
* community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is
* the resource name.
* @return the next definition stage.
*/
WithCreate withContentId(String contentId);
}
/**
* The stage of the MetadataModel definition allowing to specify parentId.
*/
interface WithParentId {
/**
* Specifies the parentId property: Full parent resource ID of the content item the metadata is for. This is
* the full resource ID including the scope (subscription and resource group).
*
* @param parentId Full parent resource ID of the content item the metadata is for. This is the full
* resource ID including the scope (subscription and resource group).
* @return the next definition stage.
*/
WithCreate withParentId(String parentId);
}
/**
* The stage of the MetadataModel definition allowing to specify version.
*/
interface WithVersion {
/**
* Specifies the version property: Version of the content. Default and recommended format is numeric (e.g.
* 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we
* cannot guarantee any version checks.
*
* @param version Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0,
* 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any
* version checks.
* @return the next definition stage.
*/
WithCreate withVersion(String version);
}
/**
* The stage of the MetadataModel definition allowing to specify kind.
*/
interface WithKind {
/**
* Specifies the kind property: The kind of content the metadata is for..
*
* @param kind The kind of content the metadata is for.
* @return the next definition stage.
*/
WithCreate withKind(Kind kind);
}
/**
* The stage of the MetadataModel definition allowing to specify source.
*/
interface WithSource {
/**
* Specifies the source property: Source of the content. This is where/how it was created..
*
* @param source Source of the content. This is where/how it was created.
* @return the next definition stage.
*/
WithCreate withSource(MetadataSource source);
}
/**
* The stage of the MetadataModel definition allowing to specify author.
*/
interface WithAuthor {
/**
* Specifies the author property: The creator of the content item..
*
* @param author The creator of the content item.
* @return the next definition stage.
*/
WithCreate withAuthor(MetadataAuthor author);
}
/**
* The stage of the MetadataModel definition allowing to specify support.
*/
interface WithSupport {
/**
* Specifies the support property: Support information for the metadata - type, name, contact information.
*
* @param support Support information for the metadata - type, name, contact information.
* @return the next definition stage.
*/
WithCreate withSupport(MetadataSupport support);
}
/**
* The stage of the MetadataModel definition allowing to specify dependencies.
*/
interface WithDependencies {
/**
* Specifies the dependencies property: Dependencies for the content item, what other content items it
* requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single
* dependency an id/kind/version can be supplied or operator/criteria for complex formats..
*
* @param dependencies Dependencies for the content item, what other content items it requires to work. Can
* describe more complex dependencies using a recursive/nested structure. For a single dependency an
* id/kind/version can be supplied or operator/criteria for complex formats.
* @return the next definition stage.
*/
WithCreate withDependencies(MetadataDependencies dependencies);
}
/**
* The stage of the MetadataModel definition allowing to specify categories.
*/
interface WithCategories {
/**
* Specifies the categories property: Categories for the solution content item.
*
* @param categories Categories for the solution content item.
* @return the next definition stage.
*/
WithCreate withCategories(MetadataCategories categories);
}
/**
* The stage of the MetadataModel definition allowing to specify providers.
*/
interface WithProviders {
/**
* Specifies the providers property: Providers for the solution content item.
*
* @param providers Providers for the solution content item.
* @return the next definition stage.
*/
WithCreate withProviders(List providers);
}
/**
* The stage of the MetadataModel definition allowing to specify firstPublishDate.
*/
interface WithFirstPublishDate {
/**
* Specifies the firstPublishDate property: first publish date solution content item.
*
* @param firstPublishDate first publish date solution content item.
* @return the next definition stage.
*/
WithCreate withFirstPublishDate(LocalDate firstPublishDate);
}
/**
* The stage of the MetadataModel definition allowing to specify lastPublishDate.
*/
interface WithLastPublishDate {
/**
* Specifies the lastPublishDate property: last publish date for the solution content item.
*
* @param lastPublishDate last publish date for the solution content item.
* @return the next definition stage.
*/
WithCreate withLastPublishDate(LocalDate lastPublishDate);
}
/**
* The stage of the MetadataModel definition allowing to specify customVersion.
*/
interface WithCustomVersion {
/**
* Specifies the customVersion property: The custom version of the content. A optional free text.
*
* @param customVersion The custom version of the content. A optional free text.
* @return the next definition stage.
*/
WithCreate withCustomVersion(String customVersion);
}
/**
* The stage of the MetadataModel definition allowing to specify contentSchemaVersion.
*/
interface WithContentSchemaVersion {
/**
* Specifies the contentSchemaVersion property: Schema version of the content. Can be used to distinguish
* between different flow based on the schema version.
*
* @param contentSchemaVersion Schema version of the content. Can be used to distinguish between different
* flow based on the schema version.
* @return the next definition stage.
*/
WithCreate withContentSchemaVersion(String contentSchemaVersion);
}
/**
* The stage of the MetadataModel definition allowing to specify icon.
*/
interface WithIcon {
/**
* Specifies the icon property: the icon identifier. this id can later be fetched from the solution
* template.
*
* @param icon the icon identifier. this id can later be fetched from the solution template.
* @return the next definition stage.
*/
WithCreate withIcon(String icon);
}
/**
* The stage of the MetadataModel definition allowing to specify threatAnalysisTactics.
*/
interface WithThreatAnalysisTactics {
/**
* Specifies the threatAnalysisTactics property: the tactics the resource covers.
*
* @param threatAnalysisTactics the tactics the resource covers.
* @return the next definition stage.
*/
WithCreate withThreatAnalysisTactics(List threatAnalysisTactics);
}
/**
* The stage of the MetadataModel definition allowing to specify threatAnalysisTechniques.
*/
interface WithThreatAnalysisTechniques {
/**
* Specifies the threatAnalysisTechniques property: the techniques the resource covers, these have to be
* aligned with the tactics being used.
*
* @param threatAnalysisTechniques the techniques the resource covers, these have to be aligned with the
* tactics being used.
* @return the next definition stage.
*/
WithCreate withThreatAnalysisTechniques(List threatAnalysisTechniques);
}
/**
* The stage of the MetadataModel definition allowing to specify previewImages.
*/
interface WithPreviewImages {
/**
* Specifies the previewImages property: preview image file names. These will be taken from the solution
* artifacts.
*
* @param previewImages preview image file names. These will be taken from the solution artifacts.
* @return the next definition stage.
*/
WithCreate withPreviewImages(List previewImages);
}
/**
* The stage of the MetadataModel definition allowing to specify previewImagesDark.
*/
interface WithPreviewImagesDark {
/**
* Specifies the previewImagesDark property: preview image file names. These will be taken from the solution
* artifacts. used for dark theme support.
*
* @param previewImagesDark preview image file names. These will be taken from the solution artifacts. used
* for dark theme support.
* @return the next definition stage.
*/
WithCreate withPreviewImagesDark(List previewImagesDark);
}
}
/**
* Begins update for the MetadataModel resource.
*
* @return the stage of resource update.
*/
MetadataModel.Update update();
/**
* The template for MetadataModel update.
*/
interface Update
extends UpdateStages.WithEtag, UpdateStages.WithContentId, UpdateStages.WithParentId, UpdateStages.WithVersion,
UpdateStages.WithKind, UpdateStages.WithSource, UpdateStages.WithAuthor, UpdateStages.WithSupport,
UpdateStages.WithDependencies, UpdateStages.WithCategories, UpdateStages.WithProviders,
UpdateStages.WithFirstPublishDate, UpdateStages.WithLastPublishDate, UpdateStages.WithCustomVersion,
UpdateStages.WithContentSchemaVersion, UpdateStages.WithIcon, UpdateStages.WithThreatAnalysisTactics,
UpdateStages.WithThreatAnalysisTechniques, UpdateStages.WithPreviewImages, UpdateStages.WithPreviewImagesDark {
/**
* Executes the update request.
*
* @return the updated resource.
*/
MetadataModel apply();
/**
* Executes the update request.
*
* @param context The context to associate with this operation.
* @return the updated resource.
*/
MetadataModel apply(Context context);
}
/**
* The MetadataModel update stages.
*/
interface UpdateStages {
/**
* The stage of the MetadataModel update allowing to specify etag.
*/
interface WithEtag {
/**
* Specifies the etag property: Etag of the azure resource.
*
* @param etag Etag of the azure resource.
* @return the next definition stage.
*/
Update withEtag(String etag);
}
/**
* The stage of the MetadataModel update allowing to specify contentId.
*/
interface WithContentId {
/**
* Specifies the contentId property: Static ID for the content. Used to identify dependencies and content
* from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for
* user-created. This is the resource name.
*
* @param contentId Static ID for the content. Used to identify dependencies and content from solutions or
* community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is
* the resource name.
* @return the next definition stage.
*/
Update withContentId(String contentId);
}
/**
* The stage of the MetadataModel update allowing to specify parentId.
*/
interface WithParentId {
/**
* Specifies the parentId property: Full parent resource ID of the content item the metadata is for. This is
* the full resource ID including the scope (subscription and resource group).
*
* @param parentId Full parent resource ID of the content item the metadata is for. This is the full
* resource ID including the scope (subscription and resource group).
* @return the next definition stage.
*/
Update withParentId(String parentId);
}
/**
* The stage of the MetadataModel update allowing to specify version.
*/
interface WithVersion {
/**
* Specifies the version property: Version of the content. Default and recommended format is numeric (e.g.
* 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we
* cannot guarantee any version checks.
*
* @param version Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0,
* 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any
* version checks.
* @return the next definition stage.
*/
Update withVersion(String version);
}
/**
* The stage of the MetadataModel update allowing to specify kind.
*/
interface WithKind {
/**
* Specifies the kind property: The kind of content the metadata is for..
*
* @param kind The kind of content the metadata is for.
* @return the next definition stage.
*/
Update withKind(Kind kind);
}
/**
* The stage of the MetadataModel update allowing to specify source.
*/
interface WithSource {
/**
* Specifies the source property: Source of the content. This is where/how it was created..
*
* @param source Source of the content. This is where/how it was created.
* @return the next definition stage.
*/
Update withSource(MetadataSource source);
}
/**
* The stage of the MetadataModel update allowing to specify author.
*/
interface WithAuthor {
/**
* Specifies the author property: The creator of the content item..
*
* @param author The creator of the content item.
* @return the next definition stage.
*/
Update withAuthor(MetadataAuthor author);
}
/**
* The stage of the MetadataModel update allowing to specify support.
*/
interface WithSupport {
/**
* Specifies the support property: Support information for the metadata - type, name, contact information.
*
* @param support Support information for the metadata - type, name, contact information.
* @return the next definition stage.
*/
Update withSupport(MetadataSupport support);
}
/**
* The stage of the MetadataModel update allowing to specify dependencies.
*/
interface WithDependencies {
/**
* Specifies the dependencies property: Dependencies for the content item, what other content items it
* requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single
* dependency an id/kind/version can be supplied or operator/criteria for complex formats..
*
* @param dependencies Dependencies for the content item, what other content items it requires to work. Can
* describe more complex dependencies using a recursive/nested structure. For a single dependency an
* id/kind/version can be supplied or operator/criteria for complex formats.
* @return the next definition stage.
*/
Update withDependencies(MetadataDependencies dependencies);
}
/**
* The stage of the MetadataModel update allowing to specify categories.
*/
interface WithCategories {
/**
* Specifies the categories property: Categories for the solution content item.
*
* @param categories Categories for the solution content item.
* @return the next definition stage.
*/
Update withCategories(MetadataCategories categories);
}
/**
* The stage of the MetadataModel update allowing to specify providers.
*/
interface WithProviders {
/**
* Specifies the providers property: Providers for the solution content item.
*
* @param providers Providers for the solution content item.
* @return the next definition stage.
*/
Update withProviders(List providers);
}
/**
* The stage of the MetadataModel update allowing to specify firstPublishDate.
*/
interface WithFirstPublishDate {
/**
* Specifies the firstPublishDate property: first publish date solution content item.
*
* @param firstPublishDate first publish date solution content item.
* @return the next definition stage.
*/
Update withFirstPublishDate(LocalDate firstPublishDate);
}
/**
* The stage of the MetadataModel update allowing to specify lastPublishDate.
*/
interface WithLastPublishDate {
/**
* Specifies the lastPublishDate property: last publish date for the solution content item.
*
* @param lastPublishDate last publish date for the solution content item.
* @return the next definition stage.
*/
Update withLastPublishDate(LocalDate lastPublishDate);
}
/**
* The stage of the MetadataModel update allowing to specify customVersion.
*/
interface WithCustomVersion {
/**
* Specifies the customVersion property: The custom version of the content. A optional free text.
*
* @param customVersion The custom version of the content. A optional free text.
* @return the next definition stage.
*/
Update withCustomVersion(String customVersion);
}
/**
* The stage of the MetadataModel update allowing to specify contentSchemaVersion.
*/
interface WithContentSchemaVersion {
/**
* Specifies the contentSchemaVersion property: Schema version of the content. Can be used to distinguish
* between different flow based on the schema version.
*
* @param contentSchemaVersion Schema version of the content. Can be used to distinguish between different
* flow based on the schema version.
* @return the next definition stage.
*/
Update withContentSchemaVersion(String contentSchemaVersion);
}
/**
* The stage of the MetadataModel update allowing to specify icon.
*/
interface WithIcon {
/**
* Specifies the icon property: the icon identifier. this id can later be fetched from the solution
* template.
*
* @param icon the icon identifier. this id can later be fetched from the solution template.
* @return the next definition stage.
*/
Update withIcon(String icon);
}
/**
* The stage of the MetadataModel update allowing to specify threatAnalysisTactics.
*/
interface WithThreatAnalysisTactics {
/**
* Specifies the threatAnalysisTactics property: the tactics the resource covers.
*
* @param threatAnalysisTactics the tactics the resource covers.
* @return the next definition stage.
*/
Update withThreatAnalysisTactics(List threatAnalysisTactics);
}
/**
* The stage of the MetadataModel update allowing to specify threatAnalysisTechniques.
*/
interface WithThreatAnalysisTechniques {
/**
* Specifies the threatAnalysisTechniques property: the techniques the resource covers, these have to be
* aligned with the tactics being used.
*
* @param threatAnalysisTechniques the techniques the resource covers, these have to be aligned with the
* tactics being used.
* @return the next definition stage.
*/
Update withThreatAnalysisTechniques(List threatAnalysisTechniques);
}
/**
* The stage of the MetadataModel update allowing to specify previewImages.
*/
interface WithPreviewImages {
/**
* Specifies the previewImages property: preview image file names. These will be taken from the solution
* artifacts.
*
* @param previewImages preview image file names. These will be taken from the solution artifacts.
* @return the next definition stage.
*/
Update withPreviewImages(List previewImages);
}
/**
* The stage of the MetadataModel update allowing to specify previewImagesDark.
*/
interface WithPreviewImagesDark {
/**
* Specifies the previewImagesDark property: preview image file names. These will be taken from the solution
* artifacts. used for dark theme support.
*
* @param previewImagesDark preview image file names. These will be taken from the solution artifacts. used
* for dark theme support.
* @return the next definition stage.
*/
Update withPreviewImagesDark(List previewImagesDark);
}
}
/**
* Refreshes the resource to sync with Azure.
*
* @return the refreshed resource.
*/
MetadataModel refresh();
/**
* Refreshes the resource to sync with Azure.
*
* @param context The context to associate with this operation.
* @return the refreshed resource.
*/
MetadataModel refresh(Context context);
}