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

com.pulumi.azurenative.security.IotSecuritySolutionArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.DataSource;
import com.pulumi.azurenative.security.enums.ExportData;
import com.pulumi.azurenative.security.enums.SecuritySolutionStatus;
import com.pulumi.azurenative.security.enums.UnmaskedIpLoggingStatus;
import com.pulumi.azurenative.security.inputs.AdditionalWorkspacesPropertiesArgs;
import com.pulumi.azurenative.security.inputs.RecommendationConfigurationPropertiesArgs;
import com.pulumi.azurenative.security.inputs.UserDefinedResourcesPropertiesArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final IotSecuritySolutionArgs Empty = new IotSecuritySolutionArgs();

    /**
     * List of additional workspaces
     * 
     */
    @Import(name="additionalWorkspaces")
    private @Nullable Output> additionalWorkspaces;

    /**
     * @return List of additional workspaces
     * 
     */
    public Optional>> additionalWorkspaces() {
        return Optional.ofNullable(this.additionalWorkspaces);
    }

    /**
     * Disabled data sources. Disabling these data sources compromises the system.
     * 
     */
    @Import(name="disabledDataSources")
    private @Nullable Output>> disabledDataSources;

    /**
     * @return Disabled data sources. Disabling these data sources compromises the system.
     * 
     */
    public Optional>>> disabledDataSources() {
        return Optional.ofNullable(this.disabledDataSources);
    }

    /**
     * Resource display name.
     * 
     */
    @Import(name="displayName", required=true)
    private Output displayName;

    /**
     * @return Resource display name.
     * 
     */
    public Output displayName() {
        return this.displayName;
    }

    /**
     * List of additional options for exporting to workspace data.
     * 
     */
    @Import(name="export")
    private @Nullable Output>> export;

    /**
     * @return List of additional options for exporting to workspace data.
     * 
     */
    public Optional>>> export() {
        return Optional.ofNullable(this.export);
    }

    /**
     * IoT Hub resource IDs
     * 
     */
    @Import(name="iotHubs", required=true)
    private Output> iotHubs;

    /**
     * @return IoT Hub resource IDs
     * 
     */
    public Output> iotHubs() {
        return this.iotHubs;
    }

    /**
     * The resource location.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The resource location.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * List of the configuration status for each recommendation type.
     * 
     */
    @Import(name="recommendationsConfiguration")
    private @Nullable Output> recommendationsConfiguration;

    /**
     * @return List of the configuration status for each recommendation type.
     * 
     */
    public Optional>> recommendationsConfiguration() {
        return Optional.ofNullable(this.recommendationsConfiguration);
    }

    /**
     * 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 name of the IoT Security solution.
     * 
     */
    @Import(name="solutionName")
    private @Nullable Output solutionName;

    /**
     * @return The name of the IoT Security solution.
     * 
     */
    public Optional> solutionName() {
        return Optional.ofNullable(this.solutionName);
    }

    /**
     * Status of the IoT Security solution.
     * 
     */
    @Import(name="status")
    private @Nullable Output> status;

    /**
     * @return Status of the IoT Security solution.
     * 
     */
    public Optional>> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * Resource tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Unmasked IP address logging status
     * 
     */
    @Import(name="unmaskedIpLoggingStatus")
    private @Nullable Output> unmaskedIpLoggingStatus;

    /**
     * @return Unmasked IP address logging status
     * 
     */
    public Optional>> unmaskedIpLoggingStatus() {
        return Optional.ofNullable(this.unmaskedIpLoggingStatus);
    }

    /**
     * Properties of the IoT Security solution's user defined resources.
     * 
     */
    @Import(name="userDefinedResources")
    private @Nullable Output userDefinedResources;

    /**
     * @return Properties of the IoT Security solution's user defined resources.
     * 
     */
    public Optional> userDefinedResources() {
        return Optional.ofNullable(this.userDefinedResources);
    }

    /**
     * Workspace resource ID
     * 
     */
    @Import(name="workspace")
    private @Nullable Output workspace;

    /**
     * @return Workspace resource ID
     * 
     */
    public Optional> workspace() {
        return Optional.ofNullable(this.workspace);
    }

    private IotSecuritySolutionArgs() {}

    private IotSecuritySolutionArgs(IotSecuritySolutionArgs $) {
        this.additionalWorkspaces = $.additionalWorkspaces;
        this.disabledDataSources = $.disabledDataSources;
        this.displayName = $.displayName;
        this.export = $.export;
        this.iotHubs = $.iotHubs;
        this.location = $.location;
        this.recommendationsConfiguration = $.recommendationsConfiguration;
        this.resourceGroupName = $.resourceGroupName;
        this.solutionName = $.solutionName;
        this.status = $.status;
        this.tags = $.tags;
        this.unmaskedIpLoggingStatus = $.unmaskedIpLoggingStatus;
        this.userDefinedResources = $.userDefinedResources;
        this.workspace = $.workspace;
    }

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

    public static final class Builder {
        private IotSecuritySolutionArgs $;

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

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

        /**
         * @param additionalWorkspaces List of additional workspaces
         * 
         * @return builder
         * 
         */
        public Builder additionalWorkspaces(@Nullable Output> additionalWorkspaces) {
            $.additionalWorkspaces = additionalWorkspaces;
            return this;
        }

        /**
         * @param additionalWorkspaces List of additional workspaces
         * 
         * @return builder
         * 
         */
        public Builder additionalWorkspaces(List additionalWorkspaces) {
            return additionalWorkspaces(Output.of(additionalWorkspaces));
        }

        /**
         * @param additionalWorkspaces List of additional workspaces
         * 
         * @return builder
         * 
         */
        public Builder additionalWorkspaces(AdditionalWorkspacesPropertiesArgs... additionalWorkspaces) {
            return additionalWorkspaces(List.of(additionalWorkspaces));
        }

        /**
         * @param disabledDataSources Disabled data sources. Disabling these data sources compromises the system.
         * 
         * @return builder
         * 
         */
        public Builder disabledDataSources(@Nullable Output>> disabledDataSources) {
            $.disabledDataSources = disabledDataSources;
            return this;
        }

        /**
         * @param disabledDataSources Disabled data sources. Disabling these data sources compromises the system.
         * 
         * @return builder
         * 
         */
        public Builder disabledDataSources(List> disabledDataSources) {
            return disabledDataSources(Output.of(disabledDataSources));
        }

        /**
         * @param disabledDataSources Disabled data sources. Disabling these data sources compromises the system.
         * 
         * @return builder
         * 
         */
        public Builder disabledDataSources(Either... disabledDataSources) {
            return disabledDataSources(List.of(disabledDataSources));
        }

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

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

        /**
         * @param export List of additional options for exporting to workspace data.
         * 
         * @return builder
         * 
         */
        public Builder export(@Nullable Output>> export) {
            $.export = export;
            return this;
        }

        /**
         * @param export List of additional options for exporting to workspace data.
         * 
         * @return builder
         * 
         */
        public Builder export(List> export) {
            return export(Output.of(export));
        }

        /**
         * @param export List of additional options for exporting to workspace data.
         * 
         * @return builder
         * 
         */
        public Builder export(Either... export) {
            return export(List.of(export));
        }

        /**
         * @param iotHubs IoT Hub resource IDs
         * 
         * @return builder
         * 
         */
        public Builder iotHubs(Output> iotHubs) {
            $.iotHubs = iotHubs;
            return this;
        }

        /**
         * @param iotHubs IoT Hub resource IDs
         * 
         * @return builder
         * 
         */
        public Builder iotHubs(List iotHubs) {
            return iotHubs(Output.of(iotHubs));
        }

        /**
         * @param iotHubs IoT Hub resource IDs
         * 
         * @return builder
         * 
         */
        public Builder iotHubs(String... iotHubs) {
            return iotHubs(List.of(iotHubs));
        }

        /**
         * @param location The resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param recommendationsConfiguration List of the configuration status for each recommendation type.
         * 
         * @return builder
         * 
         */
        public Builder recommendationsConfiguration(@Nullable Output> recommendationsConfiguration) {
            $.recommendationsConfiguration = recommendationsConfiguration;
            return this;
        }

        /**
         * @param recommendationsConfiguration List of the configuration status for each recommendation type.
         * 
         * @return builder
         * 
         */
        public Builder recommendationsConfiguration(List recommendationsConfiguration) {
            return recommendationsConfiguration(Output.of(recommendationsConfiguration));
        }

        /**
         * @param recommendationsConfiguration List of the configuration status for each recommendation type.
         * 
         * @return builder
         * 
         */
        public Builder recommendationsConfiguration(RecommendationConfigurationPropertiesArgs... recommendationsConfiguration) {
            return recommendationsConfiguration(List.of(recommendationsConfiguration));
        }

        /**
         * @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 solutionName The name of the IoT Security solution.
         * 
         * @return builder
         * 
         */
        public Builder solutionName(@Nullable Output solutionName) {
            $.solutionName = solutionName;
            return this;
        }

        /**
         * @param solutionName The name of the IoT Security solution.
         * 
         * @return builder
         * 
         */
        public Builder solutionName(String solutionName) {
            return solutionName(Output.of(solutionName));
        }

        /**
         * @param status Status of the IoT Security solution.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output> status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Status of the IoT Security solution.
         * 
         * @return builder
         * 
         */
        public Builder status(Either status) {
            return status(Output.of(status));
        }

        /**
         * @param status Status of the IoT Security solution.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Either.ofLeft(status));
        }

        /**
         * @param status Status of the IoT Security solution.
         * 
         * @return builder
         * 
         */
        public Builder status(SecuritySolutionStatus status) {
            return status(Either.ofRight(status));
        }

        /**
         * @param tags Resource tags
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param unmaskedIpLoggingStatus Unmasked IP address logging status
         * 
         * @return builder
         * 
         */
        public Builder unmaskedIpLoggingStatus(@Nullable Output> unmaskedIpLoggingStatus) {
            $.unmaskedIpLoggingStatus = unmaskedIpLoggingStatus;
            return this;
        }

        /**
         * @param unmaskedIpLoggingStatus Unmasked IP address logging status
         * 
         * @return builder
         * 
         */
        public Builder unmaskedIpLoggingStatus(Either unmaskedIpLoggingStatus) {
            return unmaskedIpLoggingStatus(Output.of(unmaskedIpLoggingStatus));
        }

        /**
         * @param unmaskedIpLoggingStatus Unmasked IP address logging status
         * 
         * @return builder
         * 
         */
        public Builder unmaskedIpLoggingStatus(String unmaskedIpLoggingStatus) {
            return unmaskedIpLoggingStatus(Either.ofLeft(unmaskedIpLoggingStatus));
        }

        /**
         * @param unmaskedIpLoggingStatus Unmasked IP address logging status
         * 
         * @return builder
         * 
         */
        public Builder unmaskedIpLoggingStatus(UnmaskedIpLoggingStatus unmaskedIpLoggingStatus) {
            return unmaskedIpLoggingStatus(Either.ofRight(unmaskedIpLoggingStatus));
        }

        /**
         * @param userDefinedResources Properties of the IoT Security solution's user defined resources.
         * 
         * @return builder
         * 
         */
        public Builder userDefinedResources(@Nullable Output userDefinedResources) {
            $.userDefinedResources = userDefinedResources;
            return this;
        }

        /**
         * @param userDefinedResources Properties of the IoT Security solution's user defined resources.
         * 
         * @return builder
         * 
         */
        public Builder userDefinedResources(UserDefinedResourcesPropertiesArgs userDefinedResources) {
            return userDefinedResources(Output.of(userDefinedResources));
        }

        /**
         * @param workspace Workspace resource ID
         * 
         * @return builder
         * 
         */
        public Builder workspace(@Nullable Output workspace) {
            $.workspace = workspace;
            return this;
        }

        /**
         * @param workspace Workspace resource ID
         * 
         * @return builder
         * 
         */
        public Builder workspace(String workspace) {
            return workspace(Output.of(workspace));
        }

        public IotSecuritySolutionArgs build() {
            if ($.displayName == null) {
                throw new MissingRequiredPropertyException("IotSecuritySolutionArgs", "displayName");
            }
            if ($.iotHubs == null) {
                throw new MissingRequiredPropertyException("IotSecuritySolutionArgs", "iotHubs");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("IotSecuritySolutionArgs", "resourceGroupName");
            }
            $.status = Codegen.stringProp("status").left(SecuritySolutionStatus.class).output().arg($.status).def("Enabled").getNullable();
            $.unmaskedIpLoggingStatus = Codegen.stringProp("unmaskedIpLoggingStatus").left(UnmaskedIpLoggingStatus.class).output().arg($.unmaskedIpLoggingStatus).def("Disabled").getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy