
com.pulumi.aws.appmesh.outputs.RouteSpecGrpcRoute 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.RouteSpecGrpcRouteAction;
import com.pulumi.aws.appmesh.outputs.RouteSpecGrpcRouteMatch;
import com.pulumi.aws.appmesh.outputs.RouteSpecGrpcRouteRetryPolicy;
import com.pulumi.aws.appmesh.outputs.RouteSpecGrpcRouteTimeout;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class RouteSpecGrpcRoute {
/**
* @return Action to take if a match is determined.
*
*/
private RouteSpecGrpcRouteAction action;
/**
* @return Criteria for determining an gRPC request match.
*
*/
private @Nullable RouteSpecGrpcRouteMatch match;
/**
* @return Retry policy.
*
*/
private @Nullable RouteSpecGrpcRouteRetryPolicy retryPolicy;
/**
* @return Types of timeouts.
*
*/
private @Nullable RouteSpecGrpcRouteTimeout timeout;
private RouteSpecGrpcRoute() {}
/**
* @return Action to take if a match is determined.
*
*/
public RouteSpecGrpcRouteAction action() {
return this.action;
}
/**
* @return Criteria for determining an gRPC request match.
*
*/
public Optional match() {
return Optional.ofNullable(this.match);
}
/**
* @return Retry policy.
*
*/
public Optional retryPolicy() {
return Optional.ofNullable(this.retryPolicy);
}
/**
* @return Types of timeouts.
*
*/
public Optional timeout() {
return Optional.ofNullable(this.timeout);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(RouteSpecGrpcRoute defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private RouteSpecGrpcRouteAction action;
private @Nullable RouteSpecGrpcRouteMatch match;
private @Nullable RouteSpecGrpcRouteRetryPolicy retryPolicy;
private @Nullable RouteSpecGrpcRouteTimeout timeout;
public Builder() {}
public Builder(RouteSpecGrpcRoute defaults) {
Objects.requireNonNull(defaults);
this.action = defaults.action;
this.match = defaults.match;
this.retryPolicy = defaults.retryPolicy;
this.timeout = defaults.timeout;
}
@CustomType.Setter
public Builder action(RouteSpecGrpcRouteAction action) {
if (action == null) {
throw new MissingRequiredPropertyException("RouteSpecGrpcRoute", "action");
}
this.action = action;
return this;
}
@CustomType.Setter
public Builder match(@Nullable RouteSpecGrpcRouteMatch match) {
this.match = match;
return this;
}
@CustomType.Setter
public Builder retryPolicy(@Nullable RouteSpecGrpcRouteRetryPolicy retryPolicy) {
this.retryPolicy = retryPolicy;
return this;
}
@CustomType.Setter
public Builder timeout(@Nullable RouteSpecGrpcRouteTimeout timeout) {
this.timeout = timeout;
return this;
}
public RouteSpecGrpcRoute build() {
final var _resultValue = new RouteSpecGrpcRoute();
_resultValue.action = action;
_resultValue.match = match;
_resultValue.retryPolicy = retryPolicy;
_resultValue.timeout = timeout;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy