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

com.pulumi.azurenative.security.CustomAssessmentAutomationArgs 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.security.enums.SeverityEnum;
import com.pulumi.azurenative.security.enums.SupportedCloudEnum;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CustomAssessmentAutomationArgs Empty = new CustomAssessmentAutomationArgs();

    /**
     * Base 64 encoded KQL query representing the assessment automation results required.
     * 
     */
    @Import(name="compressedQuery")
    private @Nullable Output compressedQuery;

    /**
     * @return Base 64 encoded KQL query representing the assessment automation results required.
     * 
     */
    public Optional> compressedQuery() {
        return Optional.ofNullable(this.compressedQuery);
    }

    /**
     * Name of the Custom Assessment Automation.
     * 
     */
    @Import(name="customAssessmentAutomationName")
    private @Nullable Output customAssessmentAutomationName;

    /**
     * @return Name of the Custom Assessment Automation.
     * 
     */
    public Optional> customAssessmentAutomationName() {
        return Optional.ofNullable(this.customAssessmentAutomationName);
    }

    /**
     * The description to relate to the assessments generated by this assessment automation.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description to relate to the assessments generated by this assessment automation.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The display name of the assessments generated by this assessment automation.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return The display name of the assessments generated by this assessment automation.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The remediation description to relate to the assessments generated by this assessment automation.
     * 
     */
    @Import(name="remediationDescription")
    private @Nullable Output remediationDescription;

    /**
     * @return The remediation description to relate to the assessments generated by this assessment automation.
     * 
     */
    public Optional> remediationDescription() {
        return Optional.ofNullable(this.remediationDescription);
    }

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

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

    /**
     * The severity to relate to the assessments generated by this assessment automation.
     * 
     */
    @Import(name="severity")
    private @Nullable Output> severity;

    /**
     * @return The severity to relate to the assessments generated by this assessment automation.
     * 
     */
    public Optional>> severity() {
        return Optional.ofNullable(this.severity);
    }

    /**
     * Relevant cloud for the custom assessment automation.
     * 
     */
    @Import(name="supportedCloud")
    private @Nullable Output> supportedCloud;

    /**
     * @return Relevant cloud for the custom assessment automation.
     * 
     */
    public Optional>> supportedCloud() {
        return Optional.ofNullable(this.supportedCloud);
    }

    private CustomAssessmentAutomationArgs() {}

    private CustomAssessmentAutomationArgs(CustomAssessmentAutomationArgs $) {
        this.compressedQuery = $.compressedQuery;
        this.customAssessmentAutomationName = $.customAssessmentAutomationName;
        this.description = $.description;
        this.displayName = $.displayName;
        this.remediationDescription = $.remediationDescription;
        this.resourceGroupName = $.resourceGroupName;
        this.severity = $.severity;
        this.supportedCloud = $.supportedCloud;
    }

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

    public static final class Builder {
        private CustomAssessmentAutomationArgs $;

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

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

        /**
         * @param compressedQuery Base 64 encoded KQL query representing the assessment automation results required.
         * 
         * @return builder
         * 
         */
        public Builder compressedQuery(@Nullable Output compressedQuery) {
            $.compressedQuery = compressedQuery;
            return this;
        }

        /**
         * @param compressedQuery Base 64 encoded KQL query representing the assessment automation results required.
         * 
         * @return builder
         * 
         */
        public Builder compressedQuery(String compressedQuery) {
            return compressedQuery(Output.of(compressedQuery));
        }

        /**
         * @param customAssessmentAutomationName Name of the Custom Assessment Automation.
         * 
         * @return builder
         * 
         */
        public Builder customAssessmentAutomationName(@Nullable Output customAssessmentAutomationName) {
            $.customAssessmentAutomationName = customAssessmentAutomationName;
            return this;
        }

        /**
         * @param customAssessmentAutomationName Name of the Custom Assessment Automation.
         * 
         * @return builder
         * 
         */
        public Builder customAssessmentAutomationName(String customAssessmentAutomationName) {
            return customAssessmentAutomationName(Output.of(customAssessmentAutomationName));
        }

        /**
         * @param description The description to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName The display name of the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The display name of the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param remediationDescription The remediation description to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder remediationDescription(@Nullable Output remediationDescription) {
            $.remediationDescription = remediationDescription;
            return this;
        }

        /**
         * @param remediationDescription The remediation description to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder remediationDescription(String remediationDescription) {
            return remediationDescription(Output.of(remediationDescription));
        }

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

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

        /**
         * @param severity The severity to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder severity(@Nullable Output> severity) {
            $.severity = severity;
            return this;
        }

        /**
         * @param severity The severity to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder severity(Either severity) {
            return severity(Output.of(severity));
        }

        /**
         * @param severity The severity to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder severity(String severity) {
            return severity(Either.ofLeft(severity));
        }

        /**
         * @param severity The severity to relate to the assessments generated by this assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder severity(SeverityEnum severity) {
            return severity(Either.ofRight(severity));
        }

        /**
         * @param supportedCloud Relevant cloud for the custom assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder supportedCloud(@Nullable Output> supportedCloud) {
            $.supportedCloud = supportedCloud;
            return this;
        }

        /**
         * @param supportedCloud Relevant cloud for the custom assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder supportedCloud(Either supportedCloud) {
            return supportedCloud(Output.of(supportedCloud));
        }

        /**
         * @param supportedCloud Relevant cloud for the custom assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder supportedCloud(String supportedCloud) {
            return supportedCloud(Either.ofLeft(supportedCloud));
        }

        /**
         * @param supportedCloud Relevant cloud for the custom assessment automation.
         * 
         * @return builder
         * 
         */
        public Builder supportedCloud(SupportedCloudEnum supportedCloud) {
            return supportedCloud(Either.ofRight(supportedCloud));
        }

        public CustomAssessmentAutomationArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("CustomAssessmentAutomationArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy