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

com.pulumi.aws.appmesh.outputs.GetRouteSpecGrpcRouteMatch 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.aws.appmesh.outputs;

import com.pulumi.aws.appmesh.outputs.GetRouteSpecGrpcRouteMatchMetadata;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetRouteSpecGrpcRouteMatch {
    private List metadatas;
    private String methodName;
    private Integer port;
    private String prefix;
    private String serviceName;

    private GetRouteSpecGrpcRouteMatch() {}
    public List metadatas() {
        return this.metadatas;
    }
    public String methodName() {
        return this.methodName;
    }
    public Integer port() {
        return this.port;
    }
    public String prefix() {
        return this.prefix;
    }
    public String serviceName() {
        return this.serviceName;
    }

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

    public static Builder builder(GetRouteSpecGrpcRouteMatch defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private List metadatas;
        private String methodName;
        private Integer port;
        private String prefix;
        private String serviceName;
        public Builder() {}
        public Builder(GetRouteSpecGrpcRouteMatch defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.metadatas = defaults.metadatas;
    	      this.methodName = defaults.methodName;
    	      this.port = defaults.port;
    	      this.prefix = defaults.prefix;
    	      this.serviceName = defaults.serviceName;
        }

        @CustomType.Setter
        public Builder metadatas(List metadatas) {
            if (metadatas == null) {
              throw new MissingRequiredPropertyException("GetRouteSpecGrpcRouteMatch", "metadatas");
            }
            this.metadatas = metadatas;
            return this;
        }
        public Builder metadatas(GetRouteSpecGrpcRouteMatchMetadata... metadatas) {
            return metadatas(List.of(metadatas));
        }
        @CustomType.Setter
        public Builder methodName(String methodName) {
            if (methodName == null) {
              throw new MissingRequiredPropertyException("GetRouteSpecGrpcRouteMatch", "methodName");
            }
            this.methodName = methodName;
            return this;
        }
        @CustomType.Setter
        public Builder port(Integer port) {
            if (port == null) {
              throw new MissingRequiredPropertyException("GetRouteSpecGrpcRouteMatch", "port");
            }
            this.port = port;
            return this;
        }
        @CustomType.Setter
        public Builder prefix(String prefix) {
            if (prefix == null) {
              throw new MissingRequiredPropertyException("GetRouteSpecGrpcRouteMatch", "prefix");
            }
            this.prefix = prefix;
            return this;
        }
        @CustomType.Setter
        public Builder serviceName(String serviceName) {
            if (serviceName == null) {
              throw new MissingRequiredPropertyException("GetRouteSpecGrpcRouteMatch", "serviceName");
            }
            this.serviceName = serviceName;
            return this;
        }
        public GetRouteSpecGrpcRouteMatch build() {
            final var _resultValue = new GetRouteSpecGrpcRouteMatch();
            _resultValue.metadatas = metadatas;
            _resultValue.methodName = methodName;
            _resultValue.port = port;
            _resultValue.prefix = prefix;
            _resultValue.serviceName = serviceName;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy