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

com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs Maven / Gradle / Ivy

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

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 DatabaseFirewallRuleArgs extends com.pulumi.resources.ResourceArgs {

    public static final DatabaseFirewallRuleArgs Empty = new DatabaseFirewallRuleArgs();

    /**
     * The date and time when the firewall rule was created.
     * 
     */
    @Import(name="createdAt")
    private @Nullable Output createdAt;

    /**
     * @return The date and time when the firewall rule was created.
     * 
     */
    public Optional> createdAt() {
        return Optional.ofNullable(this.createdAt);
    }

    /**
     * The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ip_addr`, `tag`, or `app`.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ip_addr`, `tag`, or `app`.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * A unique identifier for the firewall rule.
     * 
     */
    @Import(name="uuid")
    private @Nullable Output uuid;

    /**
     * @return A unique identifier for the firewall rule.
     * 
     */
    public Optional> uuid() {
        return Optional.ofNullable(this.uuid);
    }

    /**
     * The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.
     * 
     */
    @Import(name="value", required=true)
    private Output value;

    /**
     * @return The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.
     * 
     */
    public Output value() {
        return this.value;
    }

    private DatabaseFirewallRuleArgs() {}

    private DatabaseFirewallRuleArgs(DatabaseFirewallRuleArgs $) {
        this.createdAt = $.createdAt;
        this.type = $.type;
        this.uuid = $.uuid;
        this.value = $.value;
    }

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

    public static final class Builder {
        private DatabaseFirewallRuleArgs $;

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

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

        /**
         * @param createdAt The date and time when the firewall rule was created.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(@Nullable Output createdAt) {
            $.createdAt = createdAt;
            return this;
        }

        /**
         * @param createdAt The date and time when the firewall rule was created.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(String createdAt) {
            return createdAt(Output.of(createdAt));
        }

        /**
         * @param type The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ip_addr`, `tag`, or `app`.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ip_addr`, `tag`, or `app`.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param uuid A unique identifier for the firewall rule.
         * 
         * @return builder
         * 
         */
        public Builder uuid(@Nullable Output uuid) {
            $.uuid = uuid;
            return this;
        }

        /**
         * @param uuid A unique identifier for the firewall rule.
         * 
         * @return builder
         * 
         */
        public Builder uuid(String uuid) {
            return uuid(Output.of(uuid));
        }

        /**
         * @param value The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.
         * 
         * @return builder
         * 
         */
        public Builder value(Output value) {
            $.value = value;
            return this;
        }

        /**
         * @param value The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.
         * 
         * @return builder
         * 
         */
        public Builder value(String value) {
            return value(Output.of(value));
        }

        public DatabaseFirewallRuleArgs build() {
            if ($.type == null) {
                throw new MissingRequiredPropertyException("DatabaseFirewallRuleArgs", "type");
            }
            if ($.value == null) {
                throw new MissingRequiredPropertyException("DatabaseFirewallRuleArgs", "value");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy