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

com.pulumi.azurenative.security.AssessmentMetadataInSubscription 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.security;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.security.AssessmentMetadataInSubscriptionArgs;
import com.pulumi.azurenative.security.outputs.SecurityAssessmentMetadataPartnerDataResponse;
import com.pulumi.azurenative.security.outputs.SecurityAssessmentMetadataPropertiesResponseResponsePublishDates;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * Security assessment metadata response
 * Azure REST API version: 2021-06-01. Prior API version in Azure Native 1.x: 2020-01-01.
 * 
 * ## Example Usage
 * ### Create security assessment metadata for subscription
 * 
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.security.AssessmentMetadataInSubscription;
 * import com.pulumi.azurenative.security.AssessmentMetadataInSubscriptionArgs;
 * 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 assessmentMetadataInSubscription = new AssessmentMetadataInSubscription("assessmentMetadataInSubscription", AssessmentMetadataInSubscriptionArgs.builder()
 *             .assessmentMetadataName("ca039e75-a276-4175-aebc-bcd41e4b14b7")
 *             .assessmentType("CustomerManaged")
 *             .categories("Compute")
 *             .description("Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.")
 *             .displayName("Install endpoint protection solution on virtual machine scale sets")
 *             .implementationEffort("Low")
 *             .remediationDescription("To install an endpoint protection solution: 1.  Follow the instructions in How do I turn on antimalware in my virtual machine scale set")
 *             .severity("Medium")
 *             .threats(            
 *                 "dataExfiltration",
 *                 "dataSpillage",
 *                 "maliciousInsider")
 *             .userImpact("Low")
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* * ## Import * * An existing resource can be imported using its type token, name, and identifier, e.g. * * ```sh * $ pulumi import azure-native:security:AssessmentMetadataInSubscription ca039e75-a276-4175-aebc-bcd41e4b14b7 /subscriptions/{subscriptionId}/providers/Microsoft.Security/assessmentMetadata/{assessmentMetadataName} * ``` * */ @ResourceType(type="azure-native:security:AssessmentMetadataInSubscription") public class AssessmentMetadataInSubscription extends com.pulumi.resources.CustomResource { /** * BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition * */ @Export(name="assessmentType", refs={String.class}, tree="[0]") private Output assessmentType; /** * @return BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition * */ public Output assessmentType() { return this.assessmentType; } @Export(name="categories", refs={List.class,String.class}, tree="[0,1]") private Output> categories; public Output>> categories() { return Codegen.optional(this.categories); } /** * Human readable description of the assessment * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** * @return Human readable description of the assessment * */ public Output> description() { return Codegen.optional(this.description); } /** * User friendly display name of the assessment * */ @Export(name="displayName", refs={String.class}, tree="[0]") private Output displayName; /** * @return User friendly display name of the assessment * */ public Output displayName() { return this.displayName; } /** * The implementation effort required to remediate this assessment * */ @Export(name="implementationEffort", refs={String.class}, tree="[0]") private Output implementationEffort; /** * @return The implementation effort required to remediate this assessment * */ public Output> implementationEffort() { return Codegen.optional(this.implementationEffort); } /** * Resource name * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return Resource name * */ public Output name() { return this.name; } /** * Describes the partner that created the assessment * */ @Export(name="partnerData", refs={SecurityAssessmentMetadataPartnerDataResponse.class}, tree="[0]") private Output partnerData; /** * @return Describes the partner that created the assessment * */ public Output> partnerData() { return Codegen.optional(this.partnerData); } @Export(name="plannedDeprecationDate", refs={String.class}, tree="[0]") private Output plannedDeprecationDate; public Output> plannedDeprecationDate() { return Codegen.optional(this.plannedDeprecationDate); } /** * Azure resource ID of the policy definition that turns this assessment calculation on * */ @Export(name="policyDefinitionId", refs={String.class}, tree="[0]") private Output policyDefinitionId; /** * @return Azure resource ID of the policy definition that turns this assessment calculation on * */ public Output policyDefinitionId() { return this.policyDefinitionId; } /** * True if this assessment is in preview release status * */ @Export(name="preview", refs={Boolean.class}, tree="[0]") private Output preview; /** * @return True if this assessment is in preview release status * */ public Output> preview() { return Codegen.optional(this.preview); } @Export(name="publishDates", refs={SecurityAssessmentMetadataPropertiesResponseResponsePublishDates.class}, tree="[0]") private Output publishDates; public Output> publishDates() { return Codegen.optional(this.publishDates); } /** * Human readable description of what you should do to mitigate this security issue * */ @Export(name="remediationDescription", refs={String.class}, tree="[0]") private Output remediationDescription; /** * @return Human readable description of what you should do to mitigate this security issue * */ public Output> remediationDescription() { return Codegen.optional(this.remediationDescription); } /** * The severity level of the assessment * */ @Export(name="severity", refs={String.class}, tree="[0]") private Output severity; /** * @return The severity level of the assessment * */ public Output severity() { return this.severity; } @Export(name="tactics", refs={List.class,String.class}, tree="[0,1]") private Output> tactics; public Output>> tactics() { return Codegen.optional(this.tactics); } @Export(name="techniques", refs={List.class,String.class}, tree="[0,1]") private Output> techniques; public Output>> techniques() { return Codegen.optional(this.techniques); } @Export(name="threats", refs={List.class,String.class}, tree="[0,1]") private Output> threats; public Output>> threats() { return Codegen.optional(this.threats); } /** * Resource type * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** * @return Resource type * */ public Output type() { return this.type; } /** * The user impact of the assessment * */ @Export(name="userImpact", refs={String.class}, tree="[0]") private Output userImpact; /** * @return The user impact of the assessment * */ public Output> userImpact() { return Codegen.optional(this.userImpact); } /** * * @param name The _unique_ name of the resulting resource. */ public AssessmentMetadataInSubscription(java.lang.String name) { this(name, AssessmentMetadataInSubscriptionArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public AssessmentMetadataInSubscription(java.lang.String name, AssessmentMetadataInSubscriptionArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public AssessmentMetadataInSubscription(java.lang.String name, AssessmentMetadataInSubscriptionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:security:AssessmentMetadataInSubscription", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private AssessmentMetadataInSubscription(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:security:AssessmentMetadataInSubscription", name, null, makeResourceOptions(options, id), false); } private static AssessmentMetadataInSubscriptionArgs makeArgs(AssessmentMetadataInSubscriptionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? AssessmentMetadataInSubscriptionArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .aliases(List.of( Output.of(Alias.builder().type("azure-native:security/v20190101preview:AssessmentMetadataInSubscription").build()), Output.of(Alias.builder().type("azure-native:security/v20200101:AssessmentMetadataInSubscription").build()), Output.of(Alias.builder().type("azure-native:security/v20210601:AssessmentMetadataInSubscription").build()) )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param options Optional settings to control the behavior of the CustomResource. */ public static AssessmentMetadataInSubscription get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AssessmentMetadataInSubscription(name, id, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy