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

com.pulumi.alicloud.privatelink.inputs.VpcEndpointState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.privatelink.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VpcEndpointState Empty = new VpcEndpointState();

    /**
     * The bandwidth of the endpoint connection.  1024 to 10240. Unit: Mbit/s. Note: The bandwidth of an endpoint connection is in the range of 100 to 10,240 Mbit/s. The default bandwidth is 1,024 Mbit/s. When the endpoint is connected to the endpoint service, the default bandwidth is the minimum bandwidth. In this case, the connection bandwidth range is 1,024 to 10,240 Mbit/s.
     * 
     */
    @Import(name="bandwidth")
    private @Nullable Output bandwidth;

    /**
     * @return The bandwidth of the endpoint connection.  1024 to 10240. Unit: Mbit/s. Note: The bandwidth of an endpoint connection is in the range of 100 to 10,240 Mbit/s. The default bandwidth is 1,024 Mbit/s. When the endpoint is connected to the endpoint service, the default bandwidth is the minimum bandwidth. In this case, the connection bandwidth range is 1,024 to 10,240 Mbit/s.
     * 
     */
    public Optional> bandwidth() {
        return Optional.ofNullable(this.bandwidth);
    }

    /**
     * The state of the endpoint connection.
     * 
     */
    @Import(name="connectionStatus")
    private @Nullable Output connectionStatus;

    /**
     * @return The state of the endpoint connection.
     * 
     */
    public Optional> connectionStatus() {
        return Optional.ofNullable(this.connectionStatus);
    }

    /**
     * The time when the endpoint was created.
     * 
     */
    @Import(name="createTime")
    private @Nullable Output createTime;

    /**
     * @return The time when the endpoint was created.
     * 
     */
    public Optional> createTime() {
        return Optional.ofNullable(this.createTime);
    }

    /**
     * Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     * - **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.
     * - **false (default)**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     * 
     */
    @Import(name="dryRun")
    private @Nullable Output dryRun;

    /**
     * @return Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     * - **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.
     * - **false (default)**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     * 
     */
    public Optional> dryRun() {
        return Optional.ofNullable(this.dryRun);
    }

    /**
     * The service state of the endpoint.
     * 
     */
    @Import(name="endpointBusinessStatus")
    private @Nullable Output endpointBusinessStatus;

    /**
     * @return The service state of the endpoint.
     * 
     */
    public Optional> endpointBusinessStatus() {
        return Optional.ofNullable(this.endpointBusinessStatus);
    }

    /**
     * The description of the endpoint.
     * 
     */
    @Import(name="endpointDescription")
    private @Nullable Output endpointDescription;

    /**
     * @return The description of the endpoint.
     * 
     */
    public Optional> endpointDescription() {
        return Optional.ofNullable(this.endpointDescription);
    }

    /**
     * The domain name of the endpoint.
     * 
     */
    @Import(name="endpointDomain")
    private @Nullable Output endpointDomain;

    /**
     * @return The domain name of the endpoint.
     * 
     */
    public Optional> endpointDomain() {
        return Optional.ofNullable(this.endpointDomain);
    }

    /**
     * The endpoint type. Only the value: Interface, indicating the Interface endpoint. You can add the service resource types of Application Load Balancer (ALB), Classic Load Balancer (CLB), and Network Load Balancer (NLB).
     * 
     */
    @Import(name="endpointType")
    private @Nullable Output endpointType;

    /**
     * @return The endpoint type. Only the value: Interface, indicating the Interface endpoint. You can add the service resource types of Application Load Balancer (ALB), Classic Load Balancer (CLB), and Network Load Balancer (NLB).
     * 
     */
    public Optional> endpointType() {
        return Optional.ofNullable(this.endpointType);
    }

    /**
     * RAM access policies.
     * 
     */
    @Import(name="policyDocument")
    private @Nullable Output policyDocument;

    /**
     * @return RAM access policies.
     * 
     */
    public Optional> policyDocument() {
        return Optional.ofNullable(this.policyDocument);
    }

    /**
     * Specifies whether to enable user authentication. This parameter is available in Security Token Service (STS) mode. Valid values:
     * - **true**: enables user authentication. After user authentication is enabled, only the user who creates the endpoint can modify or delete the endpoint in STS mode.
     * - **false (default)**: disables user authentication.
     * 
     */
    @Import(name="protectedEnabled")
    private @Nullable Output protectedEnabled;

    /**
     * @return Specifies whether to enable user authentication. This parameter is available in Security Token Service (STS) mode. Valid values:
     * - **true**: enables user authentication. After user authentication is enabled, only the user who creates the endpoint can modify or delete the endpoint in STS mode.
     * - **false (default)**: disables user authentication.
     * 
     */
    public Optional> protectedEnabled() {
        return Optional.ofNullable(this.protectedEnabled);
    }

    /**
     * The resource group ID.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The resource group ID.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The ID of the security group that is associated with the endpoint ENI. The security group can be used to control data transfer between the VPC and the endpoint ENI.The endpoint can be associated with up to 10 security groups.
     * 
     */
    @Import(name="securityGroupIds")
    private @Nullable Output> securityGroupIds;

    /**
     * @return The ID of the security group that is associated with the endpoint ENI. The security group can be used to control data transfer between the VPC and the endpoint ENI.The endpoint can be associated with up to 10 security groups.
     * 
     */
    public Optional>> securityGroupIds() {
        return Optional.ofNullable(this.securityGroupIds);
    }

    /**
     * The ID of the endpoint service with which the endpoint is associated.
     * 
     */
    @Import(name="serviceId")
    private @Nullable Output serviceId;

    /**
     * @return The ID of the endpoint service with which the endpoint is associated.
     * 
     */
    public Optional> serviceId() {
        return Optional.ofNullable(this.serviceId);
    }

    /**
     * The name of the endpoint service with which the endpoint is associated.
     * 
     */
    @Import(name="serviceName")
    private @Nullable Output serviceName;

    /**
     * @return The name of the endpoint service with which the endpoint is associated.
     * 
     */
    public Optional> serviceName() {
        return Optional.ofNullable(this.serviceName);
    }

    /**
     * The state of the endpoint.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The state of the endpoint.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The list of tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The list of tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The name of the endpoint.
     * 
     */
    @Import(name="vpcEndpointName")
    private @Nullable Output vpcEndpointName;

    /**
     * @return The name of the endpoint.
     * 
     */
    public Optional> vpcEndpointName() {
        return Optional.ofNullable(this.vpcEndpointName);
    }

    /**
     * The ID of the VPC to which the endpoint belongs.
     * 
     */
    @Import(name="vpcId")
    private @Nullable Output vpcId;

    /**
     * @return The ID of the VPC to which the endpoint belongs.
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    /**
     * The number of private IP addresses that are assigned to an elastic network interface (ENI) in each zone. Only 1 is returned.
     * 
     */
    @Import(name="zonePrivateIpAddressCount")
    private @Nullable Output zonePrivateIpAddressCount;

    /**
     * @return The number of private IP addresses that are assigned to an elastic network interface (ENI) in each zone. Only 1 is returned.
     * 
     */
    public Optional> zonePrivateIpAddressCount() {
        return Optional.ofNullable(this.zonePrivateIpAddressCount);
    }

    private VpcEndpointState() {}

    private VpcEndpointState(VpcEndpointState $) {
        this.bandwidth = $.bandwidth;
        this.connectionStatus = $.connectionStatus;
        this.createTime = $.createTime;
        this.dryRun = $.dryRun;
        this.endpointBusinessStatus = $.endpointBusinessStatus;
        this.endpointDescription = $.endpointDescription;
        this.endpointDomain = $.endpointDomain;
        this.endpointType = $.endpointType;
        this.policyDocument = $.policyDocument;
        this.protectedEnabled = $.protectedEnabled;
        this.resourceGroupId = $.resourceGroupId;
        this.securityGroupIds = $.securityGroupIds;
        this.serviceId = $.serviceId;
        this.serviceName = $.serviceName;
        this.status = $.status;
        this.tags = $.tags;
        this.vpcEndpointName = $.vpcEndpointName;
        this.vpcId = $.vpcId;
        this.zonePrivateIpAddressCount = $.zonePrivateIpAddressCount;
    }

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

    public static final class Builder {
        private VpcEndpointState $;

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

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

        /**
         * @param bandwidth The bandwidth of the endpoint connection.  1024 to 10240. Unit: Mbit/s. Note: The bandwidth of an endpoint connection is in the range of 100 to 10,240 Mbit/s. The default bandwidth is 1,024 Mbit/s. When the endpoint is connected to the endpoint service, the default bandwidth is the minimum bandwidth. In this case, the connection bandwidth range is 1,024 to 10,240 Mbit/s.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(@Nullable Output bandwidth) {
            $.bandwidth = bandwidth;
            return this;
        }

        /**
         * @param bandwidth The bandwidth of the endpoint connection.  1024 to 10240. Unit: Mbit/s. Note: The bandwidth of an endpoint connection is in the range of 100 to 10,240 Mbit/s. The default bandwidth is 1,024 Mbit/s. When the endpoint is connected to the endpoint service, the default bandwidth is the minimum bandwidth. In this case, the connection bandwidth range is 1,024 to 10,240 Mbit/s.
         * 
         * @return builder
         * 
         */
        public Builder bandwidth(Integer bandwidth) {
            return bandwidth(Output.of(bandwidth));
        }

        /**
         * @param connectionStatus The state of the endpoint connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionStatus(@Nullable Output connectionStatus) {
            $.connectionStatus = connectionStatus;
            return this;
        }

        /**
         * @param connectionStatus The state of the endpoint connection.
         * 
         * @return builder
         * 
         */
        public Builder connectionStatus(String connectionStatus) {
            return connectionStatus(Output.of(connectionStatus));
        }

        /**
         * @param createTime The time when the endpoint was created.
         * 
         * @return builder
         * 
         */
        public Builder createTime(@Nullable Output createTime) {
            $.createTime = createTime;
            return this;
        }

        /**
         * @param createTime The time when the endpoint was created.
         * 
         * @return builder
         * 
         */
        public Builder createTime(String createTime) {
            return createTime(Output.of(createTime));
        }

        /**
         * @param dryRun Specifies whether to perform only a dry run, without performing the actual request. Valid values:
         * - **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.
         * - **false (default)**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
         * 
         * @return builder
         * 
         */
        public Builder dryRun(@Nullable Output dryRun) {
            $.dryRun = dryRun;
            return this;
        }

        /**
         * @param dryRun Specifies whether to perform only a dry run, without performing the actual request. Valid values:
         * - **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.
         * - **false (default)**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
         * 
         * @return builder
         * 
         */
        public Builder dryRun(Boolean dryRun) {
            return dryRun(Output.of(dryRun));
        }

        /**
         * @param endpointBusinessStatus The service state of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder endpointBusinessStatus(@Nullable Output endpointBusinessStatus) {
            $.endpointBusinessStatus = endpointBusinessStatus;
            return this;
        }

        /**
         * @param endpointBusinessStatus The service state of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder endpointBusinessStatus(String endpointBusinessStatus) {
            return endpointBusinessStatus(Output.of(endpointBusinessStatus));
        }

        /**
         * @param endpointDescription The description of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder endpointDescription(@Nullable Output endpointDescription) {
            $.endpointDescription = endpointDescription;
            return this;
        }

        /**
         * @param endpointDescription The description of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder endpointDescription(String endpointDescription) {
            return endpointDescription(Output.of(endpointDescription));
        }

        /**
         * @param endpointDomain The domain name of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder endpointDomain(@Nullable Output endpointDomain) {
            $.endpointDomain = endpointDomain;
            return this;
        }

        /**
         * @param endpointDomain The domain name of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder endpointDomain(String endpointDomain) {
            return endpointDomain(Output.of(endpointDomain));
        }

        /**
         * @param endpointType The endpoint type. Only the value: Interface, indicating the Interface endpoint. You can add the service resource types of Application Load Balancer (ALB), Classic Load Balancer (CLB), and Network Load Balancer (NLB).
         * 
         * @return builder
         * 
         */
        public Builder endpointType(@Nullable Output endpointType) {
            $.endpointType = endpointType;
            return this;
        }

        /**
         * @param endpointType The endpoint type. Only the value: Interface, indicating the Interface endpoint. You can add the service resource types of Application Load Balancer (ALB), Classic Load Balancer (CLB), and Network Load Balancer (NLB).
         * 
         * @return builder
         * 
         */
        public Builder endpointType(String endpointType) {
            return endpointType(Output.of(endpointType));
        }

        /**
         * @param policyDocument RAM access policies.
         * 
         * @return builder
         * 
         */
        public Builder policyDocument(@Nullable Output policyDocument) {
            $.policyDocument = policyDocument;
            return this;
        }

        /**
         * @param policyDocument RAM access policies.
         * 
         * @return builder
         * 
         */
        public Builder policyDocument(String policyDocument) {
            return policyDocument(Output.of(policyDocument));
        }

        /**
         * @param protectedEnabled Specifies whether to enable user authentication. This parameter is available in Security Token Service (STS) mode. Valid values:
         * - **true**: enables user authentication. After user authentication is enabled, only the user who creates the endpoint can modify or delete the endpoint in STS mode.
         * - **false (default)**: disables user authentication.
         * 
         * @return builder
         * 
         */
        public Builder protectedEnabled(@Nullable Output protectedEnabled) {
            $.protectedEnabled = protectedEnabled;
            return this;
        }

        /**
         * @param protectedEnabled Specifies whether to enable user authentication. This parameter is available in Security Token Service (STS) mode. Valid values:
         * - **true**: enables user authentication. After user authentication is enabled, only the user who creates the endpoint can modify or delete the endpoint in STS mode.
         * - **false (default)**: disables user authentication.
         * 
         * @return builder
         * 
         */
        public Builder protectedEnabled(Boolean protectedEnabled) {
            return protectedEnabled(Output.of(protectedEnabled));
        }

        /**
         * @param resourceGroupId The resource group ID.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The resource group ID.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param securityGroupIds The ID of the security group that is associated with the endpoint ENI. The security group can be used to control data transfer between the VPC and the endpoint ENI.The endpoint can be associated with up to 10 security groups.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(@Nullable Output> securityGroupIds) {
            $.securityGroupIds = securityGroupIds;
            return this;
        }

        /**
         * @param securityGroupIds The ID of the security group that is associated with the endpoint ENI. The security group can be used to control data transfer between the VPC and the endpoint ENI.The endpoint can be associated with up to 10 security groups.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(List securityGroupIds) {
            return securityGroupIds(Output.of(securityGroupIds));
        }

        /**
         * @param securityGroupIds The ID of the security group that is associated with the endpoint ENI. The security group can be used to control data transfer between the VPC and the endpoint ENI.The endpoint can be associated with up to 10 security groups.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(String... securityGroupIds) {
            return securityGroupIds(List.of(securityGroupIds));
        }

        /**
         * @param serviceId The ID of the endpoint service with which the endpoint is associated.
         * 
         * @return builder
         * 
         */
        public Builder serviceId(@Nullable Output serviceId) {
            $.serviceId = serviceId;
            return this;
        }

        /**
         * @param serviceId The ID of the endpoint service with which the endpoint is associated.
         * 
         * @return builder
         * 
         */
        public Builder serviceId(String serviceId) {
            return serviceId(Output.of(serviceId));
        }

        /**
         * @param serviceName The name of the endpoint service with which the endpoint is associated.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(@Nullable Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName The name of the endpoint service with which the endpoint is associated.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param status The state of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The state of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param tags The list of tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The list of tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param vpcEndpointName The name of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder vpcEndpointName(@Nullable Output vpcEndpointName) {
            $.vpcEndpointName = vpcEndpointName;
            return this;
        }

        /**
         * @param vpcEndpointName The name of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder vpcEndpointName(String vpcEndpointName) {
            return vpcEndpointName(Output.of(vpcEndpointName));
        }

        /**
         * @param vpcId The ID of the VPC to which the endpoint belongs.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        /**
         * @param vpcId The ID of the VPC to which the endpoint belongs.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        /**
         * @param zonePrivateIpAddressCount The number of private IP addresses that are assigned to an elastic network interface (ENI) in each zone. Only 1 is returned.
         * 
         * @return builder
         * 
         */
        public Builder zonePrivateIpAddressCount(@Nullable Output zonePrivateIpAddressCount) {
            $.zonePrivateIpAddressCount = zonePrivateIpAddressCount;
            return this;
        }

        /**
         * @param zonePrivateIpAddressCount The number of private IP addresses that are assigned to an elastic network interface (ENI) in each zone. Only 1 is returned.
         * 
         * @return builder
         * 
         */
        public Builder zonePrivateIpAddressCount(Integer zonePrivateIpAddressCount) {
            return zonePrivateIpAddressCount(Output.of(zonePrivateIpAddressCount));
        }

        public VpcEndpointState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy