com.pulumi.spotinst.oceancd.outputs.RolloutSpecTraffic Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spotinst Show documentation
Show all versions of spotinst Show documentation
A Pulumi package for creating and managing spotinst cloud resources.
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.spotinst.oceancd.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficAlb;
import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficAmbassador;
import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficIstio;
import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficNginx;
import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficPingPong;
import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficSmi;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class RolloutSpecTraffic {
/**
* @return Holds ALB Ingress specific configuration to route traffic.
*
*/
private @Nullable RolloutSpecTrafficAlb alb;
/**
* @return Holds specific configuration to use Ambassador to route traffic.
*
*/
private @Nullable RolloutSpecTrafficAmbassador ambassador;
/**
* @return The canary service name.
*
*/
private @Nullable String canaryService;
/**
* @return Holds Istio specific configuration to route traffic.
*
*/
private @Nullable RolloutSpecTrafficIstio istio;
/**
* @return Holds Nginx Ingress specific configuration to route traffic.
*
*/
private @Nullable RolloutSpecTrafficNginx nginx;
/**
* @return Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach.
*
*/
private @Nullable RolloutSpecTrafficPingPong pingPong;
/**
* @return Holds TrafficSplit specific configuration to route traffic.
*
*/
private @Nullable RolloutSpecTrafficSmi smi;
/**
* @return The stable service name.
*
*/
private @Nullable String stableService;
private RolloutSpecTraffic() {}
/**
* @return Holds ALB Ingress specific configuration to route traffic.
*
*/
public Optional alb() {
return Optional.ofNullable(this.alb);
}
/**
* @return Holds specific configuration to use Ambassador to route traffic.
*
*/
public Optional ambassador() {
return Optional.ofNullable(this.ambassador);
}
/**
* @return The canary service name.
*
*/
public Optional canaryService() {
return Optional.ofNullable(this.canaryService);
}
/**
* @return Holds Istio specific configuration to route traffic.
*
*/
public Optional istio() {
return Optional.ofNullable(this.istio);
}
/**
* @return Holds Nginx Ingress specific configuration to route traffic.
*
*/
public Optional nginx() {
return Optional.ofNullable(this.nginx);
}
/**
* @return Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach.
*
*/
public Optional pingPong() {
return Optional.ofNullable(this.pingPong);
}
/**
* @return Holds TrafficSplit specific configuration to route traffic.
*
*/
public Optional smi() {
return Optional.ofNullable(this.smi);
}
/**
* @return The stable service name.
*
*/
public Optional stableService() {
return Optional.ofNullable(this.stableService);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(RolloutSpecTraffic defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable RolloutSpecTrafficAlb alb;
private @Nullable RolloutSpecTrafficAmbassador ambassador;
private @Nullable String canaryService;
private @Nullable RolloutSpecTrafficIstio istio;
private @Nullable RolloutSpecTrafficNginx nginx;
private @Nullable RolloutSpecTrafficPingPong pingPong;
private @Nullable RolloutSpecTrafficSmi smi;
private @Nullable String stableService;
public Builder() {}
public Builder(RolloutSpecTraffic defaults) {
Objects.requireNonNull(defaults);
this.alb = defaults.alb;
this.ambassador = defaults.ambassador;
this.canaryService = defaults.canaryService;
this.istio = defaults.istio;
this.nginx = defaults.nginx;
this.pingPong = defaults.pingPong;
this.smi = defaults.smi;
this.stableService = defaults.stableService;
}
@CustomType.Setter
public Builder alb(@Nullable RolloutSpecTrafficAlb alb) {
this.alb = alb;
return this;
}
@CustomType.Setter
public Builder ambassador(@Nullable RolloutSpecTrafficAmbassador ambassador) {
this.ambassador = ambassador;
return this;
}
@CustomType.Setter
public Builder canaryService(@Nullable String canaryService) {
this.canaryService = canaryService;
return this;
}
@CustomType.Setter
public Builder istio(@Nullable RolloutSpecTrafficIstio istio) {
this.istio = istio;
return this;
}
@CustomType.Setter
public Builder nginx(@Nullable RolloutSpecTrafficNginx nginx) {
this.nginx = nginx;
return this;
}
@CustomType.Setter
public Builder pingPong(@Nullable RolloutSpecTrafficPingPong pingPong) {
this.pingPong = pingPong;
return this;
}
@CustomType.Setter
public Builder smi(@Nullable RolloutSpecTrafficSmi smi) {
this.smi = smi;
return this;
}
@CustomType.Setter
public Builder stableService(@Nullable String stableService) {
this.stableService = stableService;
return this;
}
public RolloutSpecTraffic build() {
final var _resultValue = new RolloutSpecTraffic();
_resultValue.alb = alb;
_resultValue.ambassador = ambassador;
_resultValue.canaryService = canaryService;
_resultValue.istio = istio;
_resultValue.nginx = nginx;
_resultValue.pingPong = pingPong;
_resultValue.smi = smi;
_resultValue.stableService = stableService;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy