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

com.ovhcloud.pulumi.ovh.Ip.inputs.MoveState Maven / Gradle / Ivy

There is a newer version: 1.1.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.ovhcloud.pulumi.ovh.Ip.inputs;

import com.ovhcloud.pulumi.ovh.Ip.inputs.MoveRoutedToArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final MoveState Empty = new MoveState();

    /**
     * Whether IP service can be terminated
     * 
     */
    @Import(name="canBeTerminated")
    private @Nullable Output canBeTerminated;

    /**
     * @return Whether IP service can be terminated
     * 
     */
    public Optional> canBeTerminated() {
        return Optional.ofNullable(this.canBeTerminated);
    }

    /**
     * Country
     * 
     */
    @Import(name="country")
    private @Nullable Output country;

    /**
     * @return Country
     * 
     */
    public Optional> country() {
        return Optional.ofNullable(this.country);
    }

    /**
     * Description attached to the IP
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description attached to the IP
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * IP block that we want to attach to a different service
     * 
     */
    @Import(name="ip")
    private @Nullable Output ip;

    /**
     * @return IP block that we want to attach to a different service
     * 
     */
    public Optional> ip() {
        return Optional.ofNullable(this.ip);
    }

    /**
     * IP block organisation Id
     * 
     */
    @Import(name="organisationId")
    private @Nullable Output organisationId;

    /**
     * @return IP block organisation Id
     * 
     */
    public Optional> organisationId() {
        return Optional.ofNullable(this.organisationId);
    }

    /**
     * Service to route the IP to. If null, the IP will be [parked](https://api.ovh.com/console/#/ip/%7Bip%7D/park~POST)
     * instead of [moved](https://api.ovh.com/console/#/ip/%7Bip%7D/move~POST)
     * 
     */
    @Import(name="routedTo")
    private @Nullable Output routedTo;

    /**
     * @return Service to route the IP to. If null, the IP will be [parked](https://api.ovh.com/console/#/ip/%7Bip%7D/park~POST)
     * instead of [moved](https://api.ovh.com/console/#/ip/%7Bip%7D/move~POST)
     * 
     */
    public Optional> routedTo() {
        return Optional.ofNullable(this.routedTo);
    }

    /**
     * Service name in the form of `ip-<part-1>.<part-2>.<part-3>.<part-4>`
     * 
     */
    @Import(name="serviceName")
    private @Nullable Output serviceName;

    /**
     * @return Service name in the form of `ip-<part-1>.<part-2>.<part-3>.<part-4>`
     * 
     */
    public Optional> serviceName() {
        return Optional.ofNullable(this.serviceName);
    }

    /**
     * Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to
     * 
     */
    @Import(name="taskStartDate")
    private @Nullable Output taskStartDate;

    /**
     * @return Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to
     * 
     */
    public Optional> taskStartDate() {
        return Optional.ofNullable(this.taskStartDate);
    }

    /**
     * Status field of the current IP task that is in charge of changing the service the IP is attached to
     * 
     */
    @Import(name="taskStatus")
    private @Nullable Output taskStatus;

    /**
     * @return Status field of the current IP task that is in charge of changing the service the IP is attached to
     * 
     */
    public Optional> taskStatus() {
        return Optional.ofNullable(this.taskStatus);
    }

    /**
     * Possible values for ip type
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return Possible values for ip type
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private MoveState() {}

    private MoveState(MoveState $) {
        this.canBeTerminated = $.canBeTerminated;
        this.country = $.country;
        this.description = $.description;
        this.ip = $.ip;
        this.organisationId = $.organisationId;
        this.routedTo = $.routedTo;
        this.serviceName = $.serviceName;
        this.taskStartDate = $.taskStartDate;
        this.taskStatus = $.taskStatus;
        this.type = $.type;
    }

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

    public static final class Builder {
        private MoveState $;

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

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

        /**
         * @param canBeTerminated Whether IP service can be terminated
         * 
         * @return builder
         * 
         */
        public Builder canBeTerminated(@Nullable Output canBeTerminated) {
            $.canBeTerminated = canBeTerminated;
            return this;
        }

        /**
         * @param canBeTerminated Whether IP service can be terminated
         * 
         * @return builder
         * 
         */
        public Builder canBeTerminated(Boolean canBeTerminated) {
            return canBeTerminated(Output.of(canBeTerminated));
        }

        /**
         * @param country Country
         * 
         * @return builder
         * 
         */
        public Builder country(@Nullable Output country) {
            $.country = country;
            return this;
        }

        /**
         * @param country Country
         * 
         * @return builder
         * 
         */
        public Builder country(String country) {
            return country(Output.of(country));
        }

        /**
         * @param description Description attached to the IP
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description attached to the IP
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param ip IP block that we want to attach to a different service
         * 
         * @return builder
         * 
         */
        public Builder ip(@Nullable Output ip) {
            $.ip = ip;
            return this;
        }

        /**
         * @param ip IP block that we want to attach to a different service
         * 
         * @return builder
         * 
         */
        public Builder ip(String ip) {
            return ip(Output.of(ip));
        }

        /**
         * @param organisationId IP block organisation Id
         * 
         * @return builder
         * 
         */
        public Builder organisationId(@Nullable Output organisationId) {
            $.organisationId = organisationId;
            return this;
        }

        /**
         * @param organisationId IP block organisation Id
         * 
         * @return builder
         * 
         */
        public Builder organisationId(String organisationId) {
            return organisationId(Output.of(organisationId));
        }

        /**
         * @param routedTo Service to route the IP to. If null, the IP will be [parked](https://api.ovh.com/console/#/ip/%7Bip%7D/park~POST)
         * instead of [moved](https://api.ovh.com/console/#/ip/%7Bip%7D/move~POST)
         * 
         * @return builder
         * 
         */
        public Builder routedTo(@Nullable Output routedTo) {
            $.routedTo = routedTo;
            return this;
        }

        /**
         * @param routedTo Service to route the IP to. If null, the IP will be [parked](https://api.ovh.com/console/#/ip/%7Bip%7D/park~POST)
         * instead of [moved](https://api.ovh.com/console/#/ip/%7Bip%7D/move~POST)
         * 
         * @return builder
         * 
         */
        public Builder routedTo(MoveRoutedToArgs routedTo) {
            return routedTo(Output.of(routedTo));
        }

        /**
         * @param serviceName Service name in the form of `ip-<part-1>.<part-2>.<part-3>.<part-4>`
         * 
         * @return builder
         * 
         */
        public Builder serviceName(@Nullable Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName Service name in the form of `ip-<part-1>.<part-2>.<part-3>.<part-4>`
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param taskStartDate Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to
         * 
         * @return builder
         * 
         */
        public Builder taskStartDate(@Nullable Output taskStartDate) {
            $.taskStartDate = taskStartDate;
            return this;
        }

        /**
         * @param taskStartDate Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to
         * 
         * @return builder
         * 
         */
        public Builder taskStartDate(String taskStartDate) {
            return taskStartDate(Output.of(taskStartDate));
        }

        /**
         * @param taskStatus Status field of the current IP task that is in charge of changing the service the IP is attached to
         * 
         * @return builder
         * 
         */
        public Builder taskStatus(@Nullable Output taskStatus) {
            $.taskStatus = taskStatus;
            return this;
        }

        /**
         * @param taskStatus Status field of the current IP task that is in charge of changing the service the IP is attached to
         * 
         * @return builder
         * 
         */
        public Builder taskStatus(String taskStatus) {
            return taskStatus(Output.of(taskStatus));
        }

        /**
         * @param type Possible values for ip type
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Possible values for ip type
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public MoveState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy