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

com.pulumi.azurenative.security.AzureServersSettingArgs 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.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final AzureServersSettingArgs Empty = new AzureServersSettingArgs();

    /**
     * The kind of the server vulnerability assessments setting
     * Expected value is 'AzureServersSetting'.
     * 
     */
    @Import(name="kind", required=true)
    private Output kind;

    /**
     * @return The kind of the server vulnerability assessments setting
     * Expected value is 'AzureServersSetting'.
     * 
     */
    public Output kind() {
        return this.kind;
    }

    /**
     * The selected vulnerability assessments provider on Azure servers in the defined scope.
     * 
     */
    @Import(name="selectedProvider", required=true)
    private Output> selectedProvider;

    /**
     * @return The selected vulnerability assessments provider on Azure servers in the defined scope.
     * 
     */
    public Output> selectedProvider() {
        return this.selectedProvider;
    }

    /**
     * The kind of the server vulnerability assessments setting
     * 
     */
    @Import(name="settingKind")
    private @Nullable Output settingKind;

    /**
     * @return The kind of the server vulnerability assessments setting
     * 
     */
    public Optional> settingKind() {
        return Optional.ofNullable(this.settingKind);
    }

    private AzureServersSettingArgs() {}

    private AzureServersSettingArgs(AzureServersSettingArgs $) {
        this.kind = $.kind;
        this.selectedProvider = $.selectedProvider;
        this.settingKind = $.settingKind;
    }

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

    public static final class Builder {
        private AzureServersSettingArgs $;

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

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

        /**
         * @param kind The kind of the server vulnerability assessments setting
         * Expected value is 'AzureServersSetting'.
         * 
         * @return builder
         * 
         */
        public Builder kind(Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind The kind of the server vulnerability assessments setting
         * Expected value is 'AzureServersSetting'.
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param selectedProvider The selected vulnerability assessments provider on Azure servers in the defined scope.
         * 
         * @return builder
         * 
         */
        public Builder selectedProvider(Output> selectedProvider) {
            $.selectedProvider = selectedProvider;
            return this;
        }

        /**
         * @param selectedProvider The selected vulnerability assessments provider on Azure servers in the defined scope.
         * 
         * @return builder
         * 
         */
        public Builder selectedProvider(Either selectedProvider) {
            return selectedProvider(Output.of(selectedProvider));
        }

        /**
         * @param selectedProvider The selected vulnerability assessments provider on Azure servers in the defined scope.
         * 
         * @return builder
         * 
         */
        public Builder selectedProvider(String selectedProvider) {
            return selectedProvider(Either.ofLeft(selectedProvider));
        }

        /**
         * @param selectedProvider The selected vulnerability assessments provider on Azure servers in the defined scope.
         * 
         * @return builder
         * 
         */
        public Builder selectedProvider(ServerVulnerabilityAssessmentsAzureSettingSelectedProvider selectedProvider) {
            return selectedProvider(Either.ofRight(selectedProvider));
        }

        /**
         * @param settingKind The kind of the server vulnerability assessments setting
         * 
         * @return builder
         * 
         */
        public Builder settingKind(@Nullable Output settingKind) {
            $.settingKind = settingKind;
            return this;
        }

        /**
         * @param settingKind The kind of the server vulnerability assessments setting
         * 
         * @return builder
         * 
         */
        public Builder settingKind(String settingKind) {
            return settingKind(Output.of(settingKind));
        }

        public AzureServersSettingArgs build() {
            $.kind = Codegen.stringProp("kind").output().arg($.kind).require();
            if ($.selectedProvider == null) {
                throw new MissingRequiredPropertyException("AzureServersSettingArgs", "selectedProvider");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy