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

com.pulumi.googlenative.datamigration.v1.outputs.SqlIpConfigResponse 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.googlenative.datamigration.v1.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.googlenative.datamigration.v1.outputs.SqlAclEntryResponse;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class SqlIpConfigResponse {
    /**
     * @return Optional. The name of the allocated IP address range for the private IP Cloud SQL instance. This name refers to an already allocated IP range address. If set, the instance IP address will be created in the allocated range. Note that this IP address range can't be modified after the instance is created. If you change the VPC when configuring connectivity settings for the migration job, this field is not relevant.
     * 
     */
    private String allocatedIpRange;
    /**
     * @return The list of external networks that are allowed to connect to the instance using the IP. See https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as 'slash' notation (e.g. `192.168.100.0/24`).
     * 
     */
    private List authorizedNetworks;
    /**
     * @return Whether the instance should be assigned an IPv4 address or not.
     * 
     */
    private Boolean enableIpv4;
    /**
     * @return The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
     * 
     */
    private String privateNetwork;
    /**
     * @return Whether SSL connections over IP should be enforced or not.
     * 
     */
    private Boolean requireSsl;

    private SqlIpConfigResponse() {}
    /**
     * @return Optional. The name of the allocated IP address range for the private IP Cloud SQL instance. This name refers to an already allocated IP range address. If set, the instance IP address will be created in the allocated range. Note that this IP address range can't be modified after the instance is created. If you change the VPC when configuring connectivity settings for the migration job, this field is not relevant.
     * 
     */
    public String allocatedIpRange() {
        return this.allocatedIpRange;
    }
    /**
     * @return The list of external networks that are allowed to connect to the instance using the IP. See https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as 'slash' notation (e.g. `192.168.100.0/24`).
     * 
     */
    public List authorizedNetworks() {
        return this.authorizedNetworks;
    }
    /**
     * @return Whether the instance should be assigned an IPv4 address or not.
     * 
     */
    public Boolean enableIpv4() {
        return this.enableIpv4;
    }
    /**
     * @return The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
     * 
     */
    public String privateNetwork() {
        return this.privateNetwork;
    }
    /**
     * @return Whether SSL connections over IP should be enforced or not.
     * 
     */
    public Boolean requireSsl() {
        return this.requireSsl;
    }

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

    public static Builder builder(SqlIpConfigResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String allocatedIpRange;
        private List authorizedNetworks;
        private Boolean enableIpv4;
        private String privateNetwork;
        private Boolean requireSsl;
        public Builder() {}
        public Builder(SqlIpConfigResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.allocatedIpRange = defaults.allocatedIpRange;
    	      this.authorizedNetworks = defaults.authorizedNetworks;
    	      this.enableIpv4 = defaults.enableIpv4;
    	      this.privateNetwork = defaults.privateNetwork;
    	      this.requireSsl = defaults.requireSsl;
        }

        @CustomType.Setter
        public Builder allocatedIpRange(String allocatedIpRange) {
            this.allocatedIpRange = Objects.requireNonNull(allocatedIpRange);
            return this;
        }
        @CustomType.Setter
        public Builder authorizedNetworks(List authorizedNetworks) {
            this.authorizedNetworks = Objects.requireNonNull(authorizedNetworks);
            return this;
        }
        public Builder authorizedNetworks(SqlAclEntryResponse... authorizedNetworks) {
            return authorizedNetworks(List.of(authorizedNetworks));
        }
        @CustomType.Setter
        public Builder enableIpv4(Boolean enableIpv4) {
            this.enableIpv4 = Objects.requireNonNull(enableIpv4);
            return this;
        }
        @CustomType.Setter
        public Builder privateNetwork(String privateNetwork) {
            this.privateNetwork = Objects.requireNonNull(privateNetwork);
            return this;
        }
        @CustomType.Setter
        public Builder requireSsl(Boolean requireSsl) {
            this.requireSsl = Objects.requireNonNull(requireSsl);
            return this;
        }
        public SqlIpConfigResponse build() {
            final var o = new SqlIpConfigResponse();
            o.allocatedIpRange = allocatedIpRange;
            o.authorizedNetworks = authorizedNetworks;
            o.enableIpv4 = enableIpv4;
            o.privateNetwork = privateNetwork;
            o.requireSsl = requireSsl;
            return o;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy