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

com.pulumi.azurenative.awsconnector.inputs.ServiceConnectServiceArgs Maven / Gradle / Ivy

The 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.azurenative.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.inputs.ServiceConnectClientAliasArgs;
import com.pulumi.azurenative.awsconnector.inputs.ServiceConnectTlsConfigurationArgs;
import com.pulumi.azurenative.awsconnector.inputs.TimeoutConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of ServiceConnectService
 * 
 */
public final class ServiceConnectServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServiceConnectServiceArgs Empty = new ServiceConnectServiceArgs();

    /**
     * The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
     * 
     */
    @Import(name="clientAliases")
    private @Nullable Output> clientAliases;

    /**
     * @return The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
     * 
     */
    public Optional>> clientAliases() {
        return Optional.ofNullable(this.clientAliases);
    }

    /**
     * The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.
     * 
     */
    @Import(name="discoveryName")
    private @Nullable Output discoveryName;

    /**
     * @return The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.
     * 
     */
    public Optional> discoveryName() {
        return Optional.ofNullable(this.discoveryName);
    }

    /**
     * The port number for the Service Connect proxy to listen on. Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service. In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.
     * 
     */
    @Import(name="ingressPortOverride")
    private @Nullable Output ingressPortOverride;

    /**
     * @return The port number for the Service Connect proxy to listen on. Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service. In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.
     * 
     */
    public Optional> ingressPortOverride() {
        return Optional.ofNullable(this.ingressPortOverride);
    }

    /**
     * The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service.
     * 
     */
    @Import(name="portName")
    private @Nullable Output portName;

    /**
     * @return The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service.
     * 
     */
    public Optional> portName() {
        return Optional.ofNullable(this.portName);
    }

    /**
     * A reference to an object that represents the configured timeouts for Service Connect. An object that represents the timeout configurations for Service Connect.  If ``idleTimeout`` is set to a time that is less than ``perRequestTimeout``, the connection will close when the ``idleTimeout`` is reached and not the ``perRequestTimeout``.
     * 
     */
    @Import(name="timeout")
    private @Nullable Output timeout;

    /**
     * @return A reference to an object that represents the configured timeouts for Service Connect. An object that represents the timeout configurations for Service Connect.  If ``idleTimeout`` is set to a time that is less than ``perRequestTimeout``, the connection will close when the ``idleTimeout`` is reached and not the ``perRequestTimeout``.
     * 
     */
    public Optional> timeout() {
        return Optional.ofNullable(this.timeout);
    }

    /**
     * A reference to an object that represents a Transport Layer Security (TLS) configuration. An object that represents the configuration for Service Connect TLS.
     * 
     */
    @Import(name="tls")
    private @Nullable Output tls;

    /**
     * @return A reference to an object that represents a Transport Layer Security (TLS) configuration. An object that represents the configuration for Service Connect TLS.
     * 
     */
    public Optional> tls() {
        return Optional.ofNullable(this.tls);
    }

    private ServiceConnectServiceArgs() {}

    private ServiceConnectServiceArgs(ServiceConnectServiceArgs $) {
        this.clientAliases = $.clientAliases;
        this.discoveryName = $.discoveryName;
        this.ingressPortOverride = $.ingressPortOverride;
        this.portName = $.portName;
        this.timeout = $.timeout;
        this.tls = $.tls;
    }

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

    public static final class Builder {
        private ServiceConnectServiceArgs $;

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

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

        /**
         * @param clientAliases The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
         * 
         * @return builder
         * 
         */
        public Builder clientAliases(@Nullable Output> clientAliases) {
            $.clientAliases = clientAliases;
            return this;
        }

        /**
         * @param clientAliases The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
         * 
         * @return builder
         * 
         */
        public Builder clientAliases(List clientAliases) {
            return clientAliases(Output.of(clientAliases));
        }

        /**
         * @param clientAliases The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
         * 
         * @return builder
         * 
         */
        public Builder clientAliases(ServiceConnectClientAliasArgs... clientAliases) {
            return clientAliases(List.of(clientAliases));
        }

        /**
         * @param discoveryName The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.
         * 
         * @return builder
         * 
         */
        public Builder discoveryName(@Nullable Output discoveryName) {
            $.discoveryName = discoveryName;
            return this;
        }

        /**
         * @param discoveryName The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.
         * 
         * @return builder
         * 
         */
        public Builder discoveryName(String discoveryName) {
            return discoveryName(Output.of(discoveryName));
        }

        /**
         * @param ingressPortOverride The port number for the Service Connect proxy to listen on. Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service. In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.
         * 
         * @return builder
         * 
         */
        public Builder ingressPortOverride(@Nullable Output ingressPortOverride) {
            $.ingressPortOverride = ingressPortOverride;
            return this;
        }

        /**
         * @param ingressPortOverride The port number for the Service Connect proxy to listen on. Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service. In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.
         * 
         * @return builder
         * 
         */
        public Builder ingressPortOverride(Integer ingressPortOverride) {
            return ingressPortOverride(Output.of(ingressPortOverride));
        }

        /**
         * @param portName The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service.
         * 
         * @return builder
         * 
         */
        public Builder portName(@Nullable Output portName) {
            $.portName = portName;
            return this;
        }

        /**
         * @param portName The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service.
         * 
         * @return builder
         * 
         */
        public Builder portName(String portName) {
            return portName(Output.of(portName));
        }

        /**
         * @param timeout A reference to an object that represents the configured timeouts for Service Connect. An object that represents the timeout configurations for Service Connect.  If ``idleTimeout`` is set to a time that is less than ``perRequestTimeout``, the connection will close when the ``idleTimeout`` is reached and not the ``perRequestTimeout``.
         * 
         * @return builder
         * 
         */
        public Builder timeout(@Nullable Output timeout) {
            $.timeout = timeout;
            return this;
        }

        /**
         * @param timeout A reference to an object that represents the configured timeouts for Service Connect. An object that represents the timeout configurations for Service Connect.  If ``idleTimeout`` is set to a time that is less than ``perRequestTimeout``, the connection will close when the ``idleTimeout`` is reached and not the ``perRequestTimeout``.
         * 
         * @return builder
         * 
         */
        public Builder timeout(TimeoutConfigurationArgs timeout) {
            return timeout(Output.of(timeout));
        }

        /**
         * @param tls A reference to an object that represents a Transport Layer Security (TLS) configuration. An object that represents the configuration for Service Connect TLS.
         * 
         * @return builder
         * 
         */
        public Builder tls(@Nullable Output tls) {
            $.tls = tls;
            return this;
        }

        /**
         * @param tls A reference to an object that represents a Transport Layer Security (TLS) configuration. An object that represents the configuration for Service Connect TLS.
         * 
         * @return builder
         * 
         */
        public Builder tls(ServiceConnectTlsConfigurationArgs tls) {
            return tls(Output.of(tls));
        }

        public ServiceConnectServiceArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy