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

com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.66.3
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.aws.appmesh.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs Empty = new VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs();

    /**
     * String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
     * 
     */
    @Import(name="attributes")
    private @Nullable Output> attributes;

    /**
     * @return String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
     * 
     */
    public Optional>> attributes() {
        return Optional.ofNullable(this.attributes);
    }

    /**
     * Name of the AWS Cloud Map namespace to use.
     * Use the `aws.servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
     * 
     */
    @Import(name="namespaceName", required=true)
    private Output namespaceName;

    /**
     * @return Name of the AWS Cloud Map namespace to use.
     * Use the `aws.servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
     * 
     */
    public Output namespaceName() {
        return this.namespaceName;
    }

    /**
     * Name of the AWS Cloud Map service to use. Use the `aws.servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
     * 
     */
    @Import(name="serviceName", required=true)
    private Output serviceName;

    /**
     * @return Name of the AWS Cloud Map service to use. Use the `aws.servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
     * 
     */
    public Output serviceName() {
        return this.serviceName;
    }

    private VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs() {}

    private VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs(VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs $) {
        this.attributes = $.attributes;
        this.namespaceName = $.namespaceName;
        this.serviceName = $.serviceName;
    }

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

    public static final class Builder {
        private VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs $;

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

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

        /**
         * @param attributes String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
         * 
         * @return builder
         * 
         */
        public Builder attributes(@Nullable Output> attributes) {
            $.attributes = attributes;
            return this;
        }

        /**
         * @param attributes String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
         * 
         * @return builder
         * 
         */
        public Builder attributes(Map attributes) {
            return attributes(Output.of(attributes));
        }

        /**
         * @param namespaceName Name of the AWS Cloud Map namespace to use.
         * Use the `aws.servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
         * 
         * @return builder
         * 
         */
        public Builder namespaceName(Output namespaceName) {
            $.namespaceName = namespaceName;
            return this;
        }

        /**
         * @param namespaceName Name of the AWS Cloud Map namespace to use.
         * Use the `aws.servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
         * 
         * @return builder
         * 
         */
        public Builder namespaceName(String namespaceName) {
            return namespaceName(Output.of(namespaceName));
        }

        /**
         * @param serviceName Name of the AWS Cloud Map service to use. Use the `aws.servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName Name of the AWS Cloud Map service to use. Use the `aws.servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        public VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs build() {
            if ($.namespaceName == null) {
                throw new MissingRequiredPropertyException("VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs", "namespaceName");
            }
            if ($.serviceName == null) {
                throw new MissingRequiredPropertyException("VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs", "serviceName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy