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

com.aliyun.ros.cdk.asm.ServiceMeshProps Maven / Gradle / Ivy

package com.aliyun.ros.cdk.asm;

/**
 * Properties for defining a ALIYUN::ASM::ServiceMesh.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2023-07-18T08:27:59.895Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.asm.$Module.class, fqn = "@alicloud/ros-cdk-asm.ServiceMeshProps")
@software.amazon.jsii.Jsii.Proxy(ServiceMeshProps.Jsii$Proxy.class)
public interface ServiceMeshProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * Property vpcId: The ID of the virtual private cloud (VPC).
     */
    @org.jetbrains.annotations.NotNull java.lang.Object getVpcId();

    /**
     * Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"].
     */
    @org.jetbrains.annotations.NotNull java.lang.Object getVSwitches();

    /**
     * Property apiServerPublicEip: Specifies whether to expose the API server to the Internet.
     * 

* Valid values: true and false. Default value: false. * If you do not set this parameter, the API server of clusters added to the ASM instance * cannot be accessed from the Internet. */ default @org.jetbrains.annotations.Nullable java.lang.Object getApiServerPublicEip() { return null; } /** * Property auditProject: The name of the Log Service project that is used for mesh audit. *

* Default value: mesh-log-{meshId}. */ default @org.jetbrains.annotations.Nullable java.lang.Object getAuditProject() { return null; } /** * Property customizedZipkin: Specifies whether to use a user-created Zipkin system. */ default @org.jetbrains.annotations.Nullable java.lang.Object getCustomizedZipkin() { return null; } /** * Property enableAudit: Specifies whether to enable the mesh audit feature. *

* To enable this feature, make sure * that you have activated Alibaba Cloud Log Service. * Valid values: true and false. Default value: false. */ default @org.jetbrains.annotations.Nullable java.lang.Object getEnableAudit() { return null; } /** * Property includeIpRanges: The Classless Inter-Domain Routing (CIDR) block in the ASM instance that are denied to access external services. */ default @org.jetbrains.annotations.Nullable java.lang.Object getIncludeIpRanges() { return null; } /** * Property istioVersion: The Istio version of the ASM instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getIstioVersion() { return null; } /** * Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance. *

* Valid values: true and false. Default value: false. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLocalityLoadBalancing() { return null; } /** * Property name: The name of the ASM instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getName() { return null; } /** * Property opa: OPA settings. */ default @org.jetbrains.annotations.Nullable java.lang.Object getOpa() { return null; } /** * Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getOutboundTrafficPolicy() { return null; } /** * Property pilotPublicEip: Specifies whether to expose Istio Pilot to the Internet. *

* Valid values: true and false. Default value: false. * If you do not set this parameter, only clusters in the same VPC as the ASM instance * can access Istio Pilot of the instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPilotPublicEip() { return null; } /** * Property proxy: Proxy settings. */ default @org.jetbrains.annotations.Nullable java.lang.Object getProxy() { return null; } /** * Property telemetry: Specifies whether to enable Prometheus monitoring. *

* We recommend that you use Application Real-Time Monitoring Service (ARMS). */ default @org.jetbrains.annotations.Nullable java.lang.Object getTelemetry() { return null; } /** * Property traceSampling: The sampling percentage of tracing. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTraceSampling() { return null; } /** * Property tracing: Specifies whether to enable the tracing feature. *

* To enable this feature, make sure * that you have activated Alibaba Cloud Tracing Analysis. * Valid values: true and false. Default value: false. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTracing() { return null; } /** * @return a {@link Builder} of {@link ServiceMeshProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link ServiceMeshProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object vpcId; java.lang.Object vSwitches; java.lang.Object apiServerPublicEip; java.lang.Object auditProject; java.lang.Object customizedZipkin; java.lang.Object enableAudit; java.lang.Object includeIpRanges; java.lang.Object istioVersion; java.lang.Object localityLoadBalancing; java.lang.Object name; java.lang.Object opa; java.lang.Object outboundTrafficPolicy; java.lang.Object pilotPublicEip; java.lang.Object proxy; java.lang.Object telemetry; java.lang.Object traceSampling; java.lang.Object tracing; /** * Sets the value of {@link ServiceMeshProps#getVpcId} * @param vpcId Property vpcId: The ID of the virtual private cloud (VPC). This parameter is required. * @return {@code this} */ public Builder vpcId(java.lang.String vpcId) { this.vpcId = vpcId; return this; } /** * Sets the value of {@link ServiceMeshProps#getVpcId} * @param vpcId Property vpcId: The ID of the virtual private cloud (VPC). This parameter is required. * @return {@code this} */ public Builder vpcId(com.aliyun.ros.cdk.core.IResolvable vpcId) { this.vpcId = vpcId; return this; } /** * Sets the value of {@link ServiceMeshProps#getVSwitches} * @param vSwitches Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"]. This parameter is required. * @return {@code this} */ public Builder vSwitches(java.util.List vSwitches) { this.vSwitches = vSwitches; return this; } /** * Sets the value of {@link ServiceMeshProps#getVSwitches} * @param vSwitches Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"]. This parameter is required. * @return {@code this} */ public Builder vSwitches(com.aliyun.ros.cdk.core.IResolvable vSwitches) { this.vSwitches = vSwitches; return this; } /** * Sets the value of {@link ServiceMeshProps#getApiServerPublicEip} * @param apiServerPublicEip Property apiServerPublicEip: Specifies whether to expose the API server to the Internet. * Valid values: true and false. Default value: false. * If you do not set this parameter, the API server of clusters added to the ASM instance * cannot be accessed from the Internet. * @return {@code this} */ public Builder apiServerPublicEip(java.lang.Boolean apiServerPublicEip) { this.apiServerPublicEip = apiServerPublicEip; return this; } /** * Sets the value of {@link ServiceMeshProps#getApiServerPublicEip} * @param apiServerPublicEip Property apiServerPublicEip: Specifies whether to expose the API server to the Internet. * Valid values: true and false. Default value: false. * If you do not set this parameter, the API server of clusters added to the ASM instance * cannot be accessed from the Internet. * @return {@code this} */ public Builder apiServerPublicEip(com.aliyun.ros.cdk.core.IResolvable apiServerPublicEip) { this.apiServerPublicEip = apiServerPublicEip; return this; } /** * Sets the value of {@link ServiceMeshProps#getAuditProject} * @param auditProject Property auditProject: The name of the Log Service project that is used for mesh audit. * Default value: mesh-log-{meshId}. * @return {@code this} */ public Builder auditProject(java.lang.String auditProject) { this.auditProject = auditProject; return this; } /** * Sets the value of {@link ServiceMeshProps#getAuditProject} * @param auditProject Property auditProject: The name of the Log Service project that is used for mesh audit. * Default value: mesh-log-{meshId}. * @return {@code this} */ public Builder auditProject(com.aliyun.ros.cdk.core.IResolvable auditProject) { this.auditProject = auditProject; return this; } /** * Sets the value of {@link ServiceMeshProps#getCustomizedZipkin} * @param customizedZipkin Property customizedZipkin: Specifies whether to use a user-created Zipkin system. * @return {@code this} */ public Builder customizedZipkin(java.lang.Boolean customizedZipkin) { this.customizedZipkin = customizedZipkin; return this; } /** * Sets the value of {@link ServiceMeshProps#getCustomizedZipkin} * @param customizedZipkin Property customizedZipkin: Specifies whether to use a user-created Zipkin system. * @return {@code this} */ public Builder customizedZipkin(com.aliyun.ros.cdk.core.IResolvable customizedZipkin) { this.customizedZipkin = customizedZipkin; return this; } /** * Sets the value of {@link ServiceMeshProps#getEnableAudit} * @param enableAudit Property enableAudit: Specifies whether to enable the mesh audit feature. * To enable this feature, make sure * that you have activated Alibaba Cloud Log Service. * Valid values: true and false. Default value: false. * @return {@code this} */ public Builder enableAudit(java.lang.Boolean enableAudit) { this.enableAudit = enableAudit; return this; } /** * Sets the value of {@link ServiceMeshProps#getEnableAudit} * @param enableAudit Property enableAudit: Specifies whether to enable the mesh audit feature. * To enable this feature, make sure * that you have activated Alibaba Cloud Log Service. * Valid values: true and false. Default value: false. * @return {@code this} */ public Builder enableAudit(com.aliyun.ros.cdk.core.IResolvable enableAudit) { this.enableAudit = enableAudit; return this; } /** * Sets the value of {@link ServiceMeshProps#getIncludeIpRanges} * @param includeIpRanges Property includeIpRanges: The Classless Inter-Domain Routing (CIDR) block in the ASM instance that are denied to access external services. * @return {@code this} */ public Builder includeIpRanges(java.lang.String includeIpRanges) { this.includeIpRanges = includeIpRanges; return this; } /** * Sets the value of {@link ServiceMeshProps#getIncludeIpRanges} * @param includeIpRanges Property includeIpRanges: The Classless Inter-Domain Routing (CIDR) block in the ASM instance that are denied to access external services. * @return {@code this} */ public Builder includeIpRanges(com.aliyun.ros.cdk.core.IResolvable includeIpRanges) { this.includeIpRanges = includeIpRanges; return this; } /** * Sets the value of {@link ServiceMeshProps#getIstioVersion} * @param istioVersion Property istioVersion: The Istio version of the ASM instance. * @return {@code this} */ public Builder istioVersion(java.lang.String istioVersion) { this.istioVersion = istioVersion; return this; } /** * Sets the value of {@link ServiceMeshProps#getIstioVersion} * @param istioVersion Property istioVersion: The Istio version of the ASM instance. * @return {@code this} */ public Builder istioVersion(com.aliyun.ros.cdk.core.IResolvable istioVersion) { this.istioVersion = istioVersion; return this; } /** * Sets the value of {@link ServiceMeshProps#getLocalityLoadBalancing} * @param localityLoadBalancing Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance. * Valid values: true and false. Default value: false. * @return {@code this} */ public Builder localityLoadBalancing(java.lang.Boolean localityLoadBalancing) { this.localityLoadBalancing = localityLoadBalancing; return this; } /** * Sets the value of {@link ServiceMeshProps#getLocalityLoadBalancing} * @param localityLoadBalancing Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance. * Valid values: true and false. Default value: false. * @return {@code this} */ public Builder localityLoadBalancing(com.aliyun.ros.cdk.core.IResolvable localityLoadBalancing) { this.localityLoadBalancing = localityLoadBalancing; return this; } /** * Sets the value of {@link ServiceMeshProps#getName} * @param name Property name: The name of the ASM instance. * @return {@code this} */ public Builder name(java.lang.String name) { this.name = name; return this; } /** * Sets the value of {@link ServiceMeshProps#getName} * @param name Property name: The name of the ASM instance. * @return {@code this} */ public Builder name(com.aliyun.ros.cdk.core.IResolvable name) { this.name = name; return this; } /** * Sets the value of {@link ServiceMeshProps#getOpa} * @param opa Property opa: OPA settings. * @return {@code this} */ public Builder opa(com.aliyun.ros.cdk.core.IResolvable opa) { this.opa = opa; return this; } /** * Sets the value of {@link ServiceMeshProps#getOpa} * @param opa Property opa: OPA settings. * @return {@code this} */ public Builder opa(com.aliyun.ros.cdk.asm.RosServiceMesh.OPAProperty opa) { this.opa = opa; return this; } /** * Sets the value of {@link ServiceMeshProps#getOutboundTrafficPolicy} * @param outboundTrafficPolicy Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance. * @return {@code this} */ public Builder outboundTrafficPolicy(java.lang.String outboundTrafficPolicy) { this.outboundTrafficPolicy = outboundTrafficPolicy; return this; } /** * Sets the value of {@link ServiceMeshProps#getOutboundTrafficPolicy} * @param outboundTrafficPolicy Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance. * @return {@code this} */ public Builder outboundTrafficPolicy(com.aliyun.ros.cdk.core.IResolvable outboundTrafficPolicy) { this.outboundTrafficPolicy = outboundTrafficPolicy; return this; } /** * Sets the value of {@link ServiceMeshProps#getPilotPublicEip} * @param pilotPublicEip Property pilotPublicEip: Specifies whether to expose Istio Pilot to the Internet. * Valid values: true and false. Default value: false. * If you do not set this parameter, only clusters in the same VPC as the ASM instance * can access Istio Pilot of the instance. * @return {@code this} */ public Builder pilotPublicEip(java.lang.Boolean pilotPublicEip) { this.pilotPublicEip = pilotPublicEip; return this; } /** * Sets the value of {@link ServiceMeshProps#getPilotPublicEip} * @param pilotPublicEip Property pilotPublicEip: Specifies whether to expose Istio Pilot to the Internet. * Valid values: true and false. Default value: false. * If you do not set this parameter, only clusters in the same VPC as the ASM instance * can access Istio Pilot of the instance. * @return {@code this} */ public Builder pilotPublicEip(com.aliyun.ros.cdk.core.IResolvable pilotPublicEip) { this.pilotPublicEip = pilotPublicEip; return this; } /** * Sets the value of {@link ServiceMeshProps#getProxy} * @param proxy Property proxy: Proxy settings. * @return {@code this} */ public Builder proxy(com.aliyun.ros.cdk.core.IResolvable proxy) { this.proxy = proxy; return this; } /** * Sets the value of {@link ServiceMeshProps#getProxy} * @param proxy Property proxy: Proxy settings. * @return {@code this} */ public Builder proxy(com.aliyun.ros.cdk.asm.RosServiceMesh.ProxyProperty proxy) { this.proxy = proxy; return this; } /** * Sets the value of {@link ServiceMeshProps#getTelemetry} * @param telemetry Property telemetry: Specifies whether to enable Prometheus monitoring. * We recommend that you use Application Real-Time Monitoring Service (ARMS). * @return {@code this} */ public Builder telemetry(java.lang.Boolean telemetry) { this.telemetry = telemetry; return this; } /** * Sets the value of {@link ServiceMeshProps#getTelemetry} * @param telemetry Property telemetry: Specifies whether to enable Prometheus monitoring. * We recommend that you use Application Real-Time Monitoring Service (ARMS). * @return {@code this} */ public Builder telemetry(com.aliyun.ros.cdk.core.IResolvable telemetry) { this.telemetry = telemetry; return this; } /** * Sets the value of {@link ServiceMeshProps#getTraceSampling} * @param traceSampling Property traceSampling: The sampling percentage of tracing. * @return {@code this} */ public Builder traceSampling(java.lang.Number traceSampling) { this.traceSampling = traceSampling; return this; } /** * Sets the value of {@link ServiceMeshProps#getTraceSampling} * @param traceSampling Property traceSampling: The sampling percentage of tracing. * @return {@code this} */ public Builder traceSampling(com.aliyun.ros.cdk.core.IResolvable traceSampling) { this.traceSampling = traceSampling; return this; } /** * Sets the value of {@link ServiceMeshProps#getTracing} * @param tracing Property tracing: Specifies whether to enable the tracing feature. * To enable this feature, make sure * that you have activated Alibaba Cloud Tracing Analysis. * Valid values: true and false. Default value: false. * @return {@code this} */ public Builder tracing(java.lang.Boolean tracing) { this.tracing = tracing; return this; } /** * Sets the value of {@link ServiceMeshProps#getTracing} * @param tracing Property tracing: Specifies whether to enable the tracing feature. * To enable this feature, make sure * that you have activated Alibaba Cloud Tracing Analysis. * Valid values: true and false. Default value: false. * @return {@code this} */ public Builder tracing(com.aliyun.ros.cdk.core.IResolvable tracing) { this.tracing = tracing; return this; } /** * Builds the configured instance. * @return a new instance of {@link ServiceMeshProps} * @throws NullPointerException if any required attribute was not provided */ @Override public ServiceMeshProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ServiceMeshProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ServiceMeshProps { private final java.lang.Object vpcId; private final java.lang.Object vSwitches; private final java.lang.Object apiServerPublicEip; private final java.lang.Object auditProject; private final java.lang.Object customizedZipkin; private final java.lang.Object enableAudit; private final java.lang.Object includeIpRanges; private final java.lang.Object istioVersion; private final java.lang.Object localityLoadBalancing; private final java.lang.Object name; private final java.lang.Object opa; private final java.lang.Object outboundTrafficPolicy; private final java.lang.Object pilotPublicEip; private final java.lang.Object proxy; private final java.lang.Object telemetry; private final java.lang.Object traceSampling; private final java.lang.Object tracing; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.vpcId = software.amazon.jsii.Kernel.get(this, "vpcId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.vSwitches = software.amazon.jsii.Kernel.get(this, "vSwitches", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.apiServerPublicEip = software.amazon.jsii.Kernel.get(this, "apiServerPublicEip", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.auditProject = software.amazon.jsii.Kernel.get(this, "auditProject", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.customizedZipkin = software.amazon.jsii.Kernel.get(this, "customizedZipkin", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.enableAudit = software.amazon.jsii.Kernel.get(this, "enableAudit", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.includeIpRanges = software.amazon.jsii.Kernel.get(this, "includeIpRanges", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.istioVersion = software.amazon.jsii.Kernel.get(this, "istioVersion", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.localityLoadBalancing = software.amazon.jsii.Kernel.get(this, "localityLoadBalancing", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.opa = software.amazon.jsii.Kernel.get(this, "opa", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.outboundTrafficPolicy = software.amazon.jsii.Kernel.get(this, "outboundTrafficPolicy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.pilotPublicEip = software.amazon.jsii.Kernel.get(this, "pilotPublicEip", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.proxy = software.amazon.jsii.Kernel.get(this, "proxy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.telemetry = software.amazon.jsii.Kernel.get(this, "telemetry", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.traceSampling = software.amazon.jsii.Kernel.get(this, "traceSampling", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.tracing = software.amazon.jsii.Kernel.get(this, "tracing", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.vpcId = java.util.Objects.requireNonNull(builder.vpcId, "vpcId is required"); this.vSwitches = java.util.Objects.requireNonNull(builder.vSwitches, "vSwitches is required"); this.apiServerPublicEip = builder.apiServerPublicEip; this.auditProject = builder.auditProject; this.customizedZipkin = builder.customizedZipkin; this.enableAudit = builder.enableAudit; this.includeIpRanges = builder.includeIpRanges; this.istioVersion = builder.istioVersion; this.localityLoadBalancing = builder.localityLoadBalancing; this.name = builder.name; this.opa = builder.opa; this.outboundTrafficPolicy = builder.outboundTrafficPolicy; this.pilotPublicEip = builder.pilotPublicEip; this.proxy = builder.proxy; this.telemetry = builder.telemetry; this.traceSampling = builder.traceSampling; this.tracing = builder.tracing; } @Override public final java.lang.Object getVpcId() { return this.vpcId; } @Override public final java.lang.Object getVSwitches() { return this.vSwitches; } @Override public final java.lang.Object getApiServerPublicEip() { return this.apiServerPublicEip; } @Override public final java.lang.Object getAuditProject() { return this.auditProject; } @Override public final java.lang.Object getCustomizedZipkin() { return this.customizedZipkin; } @Override public final java.lang.Object getEnableAudit() { return this.enableAudit; } @Override public final java.lang.Object getIncludeIpRanges() { return this.includeIpRanges; } @Override public final java.lang.Object getIstioVersion() { return this.istioVersion; } @Override public final java.lang.Object getLocalityLoadBalancing() { return this.localityLoadBalancing; } @Override public final java.lang.Object getName() { return this.name; } @Override public final java.lang.Object getOpa() { return this.opa; } @Override public final java.lang.Object getOutboundTrafficPolicy() { return this.outboundTrafficPolicy; } @Override public final java.lang.Object getPilotPublicEip() { return this.pilotPublicEip; } @Override public final java.lang.Object getProxy() { return this.proxy; } @Override public final java.lang.Object getTelemetry() { return this.telemetry; } @Override public final java.lang.Object getTraceSampling() { return this.traceSampling; } @Override public final java.lang.Object getTracing() { return this.tracing; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("vpcId", om.valueToTree(this.getVpcId())); data.set("vSwitches", om.valueToTree(this.getVSwitches())); if (this.getApiServerPublicEip() != null) { data.set("apiServerPublicEip", om.valueToTree(this.getApiServerPublicEip())); } if (this.getAuditProject() != null) { data.set("auditProject", om.valueToTree(this.getAuditProject())); } if (this.getCustomizedZipkin() != null) { data.set("customizedZipkin", om.valueToTree(this.getCustomizedZipkin())); } if (this.getEnableAudit() != null) { data.set("enableAudit", om.valueToTree(this.getEnableAudit())); } if (this.getIncludeIpRanges() != null) { data.set("includeIpRanges", om.valueToTree(this.getIncludeIpRanges())); } if (this.getIstioVersion() != null) { data.set("istioVersion", om.valueToTree(this.getIstioVersion())); } if (this.getLocalityLoadBalancing() != null) { data.set("localityLoadBalancing", om.valueToTree(this.getLocalityLoadBalancing())); } if (this.getName() != null) { data.set("name", om.valueToTree(this.getName())); } if (this.getOpa() != null) { data.set("opa", om.valueToTree(this.getOpa())); } if (this.getOutboundTrafficPolicy() != null) { data.set("outboundTrafficPolicy", om.valueToTree(this.getOutboundTrafficPolicy())); } if (this.getPilotPublicEip() != null) { data.set("pilotPublicEip", om.valueToTree(this.getPilotPublicEip())); } if (this.getProxy() != null) { data.set("proxy", om.valueToTree(this.getProxy())); } if (this.getTelemetry() != null) { data.set("telemetry", om.valueToTree(this.getTelemetry())); } if (this.getTraceSampling() != null) { data.set("traceSampling", om.valueToTree(this.getTraceSampling())); } if (this.getTracing() != null) { data.set("tracing", om.valueToTree(this.getTracing())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-asm.ServiceMeshProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ServiceMeshProps.Jsii$Proxy that = (ServiceMeshProps.Jsii$Proxy) o; if (!vpcId.equals(that.vpcId)) return false; if (!vSwitches.equals(that.vSwitches)) return false; if (this.apiServerPublicEip != null ? !this.apiServerPublicEip.equals(that.apiServerPublicEip) : that.apiServerPublicEip != null) return false; if (this.auditProject != null ? !this.auditProject.equals(that.auditProject) : that.auditProject != null) return false; if (this.customizedZipkin != null ? !this.customizedZipkin.equals(that.customizedZipkin) : that.customizedZipkin != null) return false; if (this.enableAudit != null ? !this.enableAudit.equals(that.enableAudit) : that.enableAudit != null) return false; if (this.includeIpRanges != null ? !this.includeIpRanges.equals(that.includeIpRanges) : that.includeIpRanges != null) return false; if (this.istioVersion != null ? !this.istioVersion.equals(that.istioVersion) : that.istioVersion != null) return false; if (this.localityLoadBalancing != null ? !this.localityLoadBalancing.equals(that.localityLoadBalancing) : that.localityLoadBalancing != null) return false; if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false; if (this.opa != null ? !this.opa.equals(that.opa) : that.opa != null) return false; if (this.outboundTrafficPolicy != null ? !this.outboundTrafficPolicy.equals(that.outboundTrafficPolicy) : that.outboundTrafficPolicy != null) return false; if (this.pilotPublicEip != null ? !this.pilotPublicEip.equals(that.pilotPublicEip) : that.pilotPublicEip != null) return false; if (this.proxy != null ? !this.proxy.equals(that.proxy) : that.proxy != null) return false; if (this.telemetry != null ? !this.telemetry.equals(that.telemetry) : that.telemetry != null) return false; if (this.traceSampling != null ? !this.traceSampling.equals(that.traceSampling) : that.traceSampling != null) return false; return this.tracing != null ? this.tracing.equals(that.tracing) : that.tracing == null; } @Override public final int hashCode() { int result = this.vpcId.hashCode(); result = 31 * result + (this.vSwitches.hashCode()); result = 31 * result + (this.apiServerPublicEip != null ? this.apiServerPublicEip.hashCode() : 0); result = 31 * result + (this.auditProject != null ? this.auditProject.hashCode() : 0); result = 31 * result + (this.customizedZipkin != null ? this.customizedZipkin.hashCode() : 0); result = 31 * result + (this.enableAudit != null ? this.enableAudit.hashCode() : 0); result = 31 * result + (this.includeIpRanges != null ? this.includeIpRanges.hashCode() : 0); result = 31 * result + (this.istioVersion != null ? this.istioVersion.hashCode() : 0); result = 31 * result + (this.localityLoadBalancing != null ? this.localityLoadBalancing.hashCode() : 0); result = 31 * result + (this.name != null ? this.name.hashCode() : 0); result = 31 * result + (this.opa != null ? this.opa.hashCode() : 0); result = 31 * result + (this.outboundTrafficPolicy != null ? this.outboundTrafficPolicy.hashCode() : 0); result = 31 * result + (this.pilotPublicEip != null ? this.pilotPublicEip.hashCode() : 0); result = 31 * result + (this.proxy != null ? this.proxy.hashCode() : 0); result = 31 * result + (this.telemetry != null ? this.telemetry.hashCode() : 0); result = 31 * result + (this.traceSampling != null ? this.traceSampling.hashCode() : 0); result = 31 * result + (this.tracing != null ? this.tracing.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy