// *** 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.azure.appservice.inputs;

import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingActionArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LinuxWebAppSlotSiteConfigAutoHealSettingArgs Empty = new LinuxWebAppSlotSiteConfigAutoHealSettingArgs();

    /**
     * A `action` block as defined above.
     * 
     */
    @Import(name="action")
    private @Nullable Output<LinuxWebAppSlotSiteConfigAutoHealSettingActionArgs> action;

    /**
     * @return A `action` block as defined above.
     * 
     */
    public Optional<Output<LinuxWebAppSlotSiteConfigAutoHealSettingActionArgs>> action() {
        return Optional.ofNullable(this.action);
    }

    /**
     * A `trigger` block as defined below.
     * 
     */
    @Import(name="trigger")
    private @Nullable Output<LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs> trigger;

    /**
     * @return A `trigger` block as defined below.
     * 
     */
    public Optional<Output<LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs>> trigger() {
        return Optional.ofNullable(this.trigger);
    }

    private LinuxWebAppSlotSiteConfigAutoHealSettingArgs() {}

    private LinuxWebAppSlotSiteConfigAutoHealSettingArgs(LinuxWebAppSlotSiteConfigAutoHealSettingArgs $) {
        this.action = $.action;
        this.trigger = $.trigger;
    }

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

    public static final class Builder {
        private LinuxWebAppSlotSiteConfigAutoHealSettingArgs $;

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

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

        /**
         * @param action A `action` block as defined above.
         * 
         * @return builder
         * 
         */
        public Builder action(@Nullable Output<LinuxWebAppSlotSiteConfigAutoHealSettingActionArgs> action) {
            $.action = action;
            return this;
        }

        /**
         * @param action A `action` block as defined above.
         * 
         * @return builder
         * 
         */
        public Builder action(LinuxWebAppSlotSiteConfigAutoHealSettingActionArgs action) {
            return action(Output.of(action));
        }

        /**
         * @param trigger A `trigger` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder trigger(@Nullable Output<LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs> trigger) {
            $.trigger = trigger;
            return this;
        }

        /**
         * @param trigger A `trigger` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder trigger(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs trigger) {
            return trigger(Output.of(trigger));
        }

        public LinuxWebAppSlotSiteConfigAutoHealSettingArgs build() {
            return $;
        }
    }

}
