Skip to content

ServiceMeshProps

Properties for defining a ServiceMesh.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-asm-servicemesh

Initializer

using AlibabaCloud.SDK.ROS.CDK.Asm;
new ServiceMeshProps {
    object VpcId,
    object VSwitches,
    object AccessLogEnabled = null,
    object AccessLogFile = null,
    object AccessLogFormat = null,
    object AccessLogProject = null,
    object AccessLogServiceEnabled = null,
    object AccessLogServiceHost = null,
    object AccessLogServicePort = null,
    object ApiServerLoadBalancerSpec = null,
    object ApiServerPublicEip = null,
    object AuditProject = null,
    object AutoRenew = null,
    object AutoRenewPeriod = null,
    object CertChain = null,
    object ChargeType = null,
    object ClusterSpec = null,
    object ConfigSourceEnabled = null,
    object ConfigSourceNacosId = null,
    object ControlPlaneLogEnabled = null,
    object ControlPlaneLogProject = null,
    object CrAggregationEnabled = null,
    object CustomizedPrometheus = null,
    object CustomizedZipkin = null,
    object DnsProxyingEnabled = null,
    object DubboFilterEnabled = null,
    object Edition = null,
    object EnableAcmg = null,
    object EnableAmbient = null,
    object EnableAudit = null,
    object EnableCrHistory = null,
    object EnableSdsServer = null,
    object ExcludeInboundPorts = null,
    object ExcludeIpRanges = null,
    object ExcludeOutboundPorts = null,
    object ExistingCaCert = null,
    object ExistingCaKey = null,
    object ExistingCaType = null,
    object ExistingRootCaCert = null,
    object ExistingRootCaKey = null,
    object FilterGatewayClusterConfig = null,
    object GatewayApiEnabled = null,
    object GuestCluster = null,
    object IncludeIpRanges = null,
    object IstioVersion = null,
    object KialiEnabled = null,
    object LocalityLbConf = null,
    object LocalityLoadBalancing = null,
    object MseEnabled = null,
    object MultiBufferEnabled = null,
    object MultiBufferPollDelay = null,
    object MysqlFilterEnabled = null,
    object Name = null,
    object Opa = null,
    object OpaEnabled = null,
    object OutboundTrafficPolicy = null,
    object Period = null,
    object PilotLoadBalancerSpec = null,
    object PilotPublicEip = null,
    object PlaygroundScene = null,
    object PrometheusUrl = null,
    object Proxy = null,
    object Telemetry = null,
    object TraceSampling = null,
    object Tracing = null,
    object UseExistingCa = null,
    object WebAssemblyFilterEnabled = null
};

Properties

Name Type Description
VpcId object Property vpcId: The ID of the virtual private cloud (VPC).
VSwitches object Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"].
AccessLogEnabled object Property accessLogEnabled: Specifies whether to enable access log.
AccessLogFile object Property accessLogFile: Enable and disable access logs.
AccessLogFormat object Property accessLogFormat: The custom format of access logs.
AccessLogProject object Property accessLogProject: The Log Service project for access logs.
AccessLogServiceEnabled object Property accessLogServiceEnabled: Whether Envoy's gRPC logging service (ALS) is enabled.
AccessLogServiceHost object Property accessLogServiceHost: Address where Envoy's gRPC logging service (ALS) is enabled.
AccessLogServicePort object Property accessLogServicePort: Port on which Envoy's gRPC logging service (ALS) is enabled.
ApiServerLoadBalancerSpec object Property apiServerLoadBalancerSpec: CLB specification for the APIServer binding.
ApiServerPublicEip object Property apiServerPublicEip: Specifies whether to expose the API server to the Internet.
AuditProject object Property auditProject: The name of the Log Service project that is used for mesh audit.
AutoRenew object Property autoRenew: If CLB is annual and monthly, whether it will be automatically renewed.
AutoRenewPeriod object Property autoRenewPeriod: This parameter is valid only if you set ChargeType to PrePay.
CertChain object Property certChain: The certificate chain from CaCert to RootCert contains at least two certificates.
ChargeType object Property chargeType: CLB payment type.
ClusterSpec object Property clusterSpec: Service grid instance specification, value: - standard: The standard version.
ConfigSourceEnabled object Property configSourceEnabled: Whether to enable an external service registry.
ConfigSourceNacosId object Property configSourceNacosId: The Nacos ID for config source.
ControlPlaneLogEnabled object Property controlPlaneLogEnabled: Specifies whether to enable control plane log collection.
ControlPlaneLogProject object Property controlPlaneLogProject: The Log Service project for control plane logs.
CrAggregationEnabled object Property crAggregationEnabled: Whether to enable Kubernetes API for data plane cluster to access Istio resources (ASM instance v1.9.7.93 or later). Value: - true: Enable data plane cluster Kubernetes API to access Istio resources. - false: Data plane cluster Kubernetes API is not enabled to access Istio resources. Default value: false.
CustomizedPrometheus object Property customizedPrometheus: Specifies whether to use a self-managed Prometheus system.
CustomizedZipkin object Property customizedZipkin: Specifies whether to use a self-managed Zipkin system.
DnsProxyingEnabled object Property dnsProxyingEnabled: Specifies whether to enable DNS proxy.
DubboFilterEnabled object Property dubboFilterEnabled: Specifies whether to enable the Dubbo filter.
Edition object Property edition: The edition of the ASM instance.
EnableAcmg object Property enableAcmg: Specifies whether to enable ACMG.
EnableAmbient object Property enableAmbient: Specifies whether to enable ambient mode.
EnableAudit object Property enableAudit: Specifies whether to enable the mesh audit feature.
EnableCrHistory object Property enableCrHistory: Specifies whether to enable the history version management feature for Istio resources in ASM.
EnableSdsServer object Property enableSdsServer: Specifies whether to enable the Secret Discovery Service (SDS).
ExcludeInboundPorts object Property excludeInboundPorts: The inbound ports to exclude from traffic management.
ExcludeIpRanges object Property excludeIpRanges: The IP ranges to exclude from traffic management.
ExcludeOutboundPorts object Property excludeOutboundPorts: The outbound ports to exclude from traffic management.
ExistingCaCert object Property existingCaCert: The existing CA certificate.
ExistingCaKey object Property existingCaKey: The existing CA key.
ExistingCaType object Property existingCaType: The type of the existing certificate: - 1: A self-signed certificate of Istiod.
ExistingRootCaCert object Property existingRootCaCert: The existing root CA certificate.
ExistingRootCaKey object Property existingRootCaKey: The existing root CA key.
FilterGatewayClusterConfig object Property filterGatewayClusterConfig: Specifies whether to enable gateway configuration filtering.
GatewayApiEnabled object Property gatewayApiEnabled: Specifies whether to enable the Gateway API.
GuestCluster object Property guestCluster: When you create a Service Mesh instance, you can add a cluster to the instance.
IncludeIpRanges object Property includeIpRanges: The IP address ranges that are allowed to access the proxy.
IstioVersion object Property istioVersion: The Istio version of the ASM instance.
KialiEnabled object Property kialiEnabled: Specifies whether to enable the mesh topology feature.
LocalityLbConf object Property localityLbConf: The locality load balancing configuration.
LocalityLoadBalancing object Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance.
MseEnabled object Property mseEnabled: Specifies whether to enable Microservices Engine (MSE).
MultiBufferEnabled object Property multiBufferEnabled: Specifies whether to enable TLS performance optimization that is based on MultiBuffer.
MultiBufferPollDelay object Property multiBufferPollDelay: The synchronization period of the MultiBuffer enabling status.
MysqlFilterEnabled object Property mysqlFilterEnabled: Specifies whether to enable the MySQL filter.
Name object Property name: The name of the ASM instance.
Opa object Property opa: OPA settings.
OpaEnabled object Property opaEnabled: Specifies whether to enable OPA.
OutboundTrafficPolicy object Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance.
Period object Property period: This parameter is valid only if you set ChargeType to PrePay.
PilotLoadBalancerSpec object Property pilotLoadBalancerSpec: The specification of the SLB instance that is bound to Istio Pilot of the control plane.
PilotPublicEip object Property pilotPublicEip: Specifies whether to expose Istio Pilot to the Internet.
PlaygroundScene object Property playgroundScene: The playground scenario.
PrometheusUrl object Property prometheusUrl: The URL for Prometheus.
Proxy object Property proxy: Proxy settings.
Telemetry object Property telemetry: Specifies whether to enable Prometheus monitoring.
TraceSampling object Property traceSampling: The sampling percentage of tracing.
Tracing object Property tracing: Specifies whether to enable the tracing feature.
UseExistingCa object Property useExistingCa: Specifies whether to use an existing CA.
WebAssemblyFilterEnabled object Property webAssemblyFilterEnabled: Specifies whether to enable the WebAssembly filter.

VpcIdRequired

public object VpcId { get; set; }
  • Type: object

Property vpcId: The ID of the virtual private cloud (VPC).


VSwitchesRequired

public object VSwitches { get; set; }
  • Type: object

Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"].


AccessLogEnabledOptional

public object AccessLogEnabled { get; set; }
  • Type: object

Property accessLogEnabled: Specifies whether to enable access log.

Valid values:

  • true: Enables access log.
  • false: Disables access log. Default value: false.

AccessLogFileOptional

public object AccessLogFile { get; set; }
  • Type: object

Property accessLogFile: Enable and disable access logs.

Value:

  • "" : Turn off access logs.
  • /dev/stdout: Enables access logging

AccessLogFormatOptional

public object AccessLogFormat { get; set; }
  • Type: object

Property accessLogFormat: The custom format of access logs.

This parameter is available only if you enable access log. The value must be a JSON string that contains the following keys: authority_for, bytes_received, bytes_sent, downstream_local_address, downstream_remote_address, duration, istio_policy_status, method, path, protocol, requested_server_name, response_code, response_flags, route_name, start_time, trace_id, upstream_cluster, upstream_host, upstream_local_address, upstream_service_time, upstream_transport_failure_reason, user_agent, and x_forwarded_for.


AccessLogProjectOptional

public object AccessLogProject { get; set; }
  • Type: object

Property accessLogProject: The Log Service project for access logs.


AccessLogServiceEnabledOptional

public object AccessLogServiceEnabled { get; set; }
  • Type: object

Property accessLogServiceEnabled: Whether Envoy's gRPC logging service (ALS) is enabled.

Value:

  • true: Enables Envoy's gRPC logging service.
  • false: Envoy's gRPC logging service is not enabled. Default value: false

AccessLogServiceHostOptional

public object AccessLogServiceHost { get; set; }
  • Type: object

Property accessLogServiceHost: Address where Envoy's gRPC logging service (ALS) is enabled.


AccessLogServicePortOptional

public object AccessLogServicePort { get; set; }
  • Type: object

Property accessLogServicePort: Port on which Envoy's gRPC logging service (ALS) is enabled.


ApiServerLoadBalancerSpecOptional

public object ApiServerLoadBalancerSpec { get; set; }
  • Type: object

Property apiServerLoadBalancerSpec: CLB specification for the APIServer binding.

Value: Compact type I (slb.s1.small), Standard type I (slb.s2.small), Standard Type II (slb.s2.medium), high-order type I (slb.s3.small), high-order type II (slb.s3.medium), Super type I (slb.s3.large).


ApiServerPublicEipOptional

public object ApiServerPublicEip { get; set; }
  • Type: object

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.


AuditProjectOptional

public object AuditProject { get; set; }
  • Type: object

Property auditProject: The name of the Log Service project that is used for mesh audit.

Default value: mesh-log-{meshId}.


AutoRenewOptional

public object AutoRenew { get; set; }
  • Type: object

Property autoRenew: If CLB is annual and monthly, whether it will be automatically renewed.

Value:

  • true: Automatic renewal.
  • false: No automatic renewal.

AutoRenewPeriodOptional

public object AutoRenewPeriod { get; set; }
  • Type: object

Property autoRenewPeriod: This parameter is valid only if you set ChargeType to PrePay.

The auto-renewal period. If the subscription duration is less than one year, the value of this parameter indicates the number of months for which you want to renew the instance. If the subscription duration is more than one year, the value of this parameter indicates the number of years for which you want to renew the instance.


CertChainOptional

public object CertChain { get; set; }
  • Type: object

Property certChain: The certificate chain from CaCert to RootCert contains at least two certificates.


ChargeTypeOptional

public object ChargeType { get; set; }
  • Type: object

Property chargeType: CLB payment type.

Value:

  • PayOnDemand: pay-as-you-go type
  • PrePay: Annual and monthly.

ClusterSpecOptional

public object ClusterSpec { get; set; }
  • Type: object

Property clusterSpec: Service grid instance specification, value: - standard: The standard version.

  • enterprise: Enterprise Edition
  • ultimate: ultimate.

ConfigSourceEnabledOptional

public object ConfigSourceEnabled { get; set; }
  • Type: object

Property configSourceEnabled: Whether to enable an external service registry.

Value:

  • true: Enables the external service registry.
  • false: The external service registry is not enabled. Default value: false

ConfigSourceNacosIdOptional

public object ConfigSourceNacosId { get; set; }
  • Type: object

Property configSourceNacosId: The Nacos ID for config source.


ControlPlaneLogEnabledOptional

public object ControlPlaneLogEnabled { get; set; }
  • Type: object

Property controlPlaneLogEnabled: Specifies whether to enable control plane log collection.

Valid values:

  • true: Enables control plane log collection.
  • false: Disables control plane log collection. Default value: false.

ControlPlaneLogProjectOptional

public object ControlPlaneLogProject { get; set; }
  • Type: object

Property controlPlaneLogProject: The Log Service project for control plane logs.


CrAggregationEnabledOptional

public object CrAggregationEnabled { get; set; }
  • Type: object

Property crAggregationEnabled: Whether to enable Kubernetes API for data plane cluster to access Istio resources (ASM instance v1.9.7.93 or later). Value: - true: Enable data plane cluster Kubernetes API to access Istio resources. - false: Data plane cluster Kubernetes API is not enabled to access Istio resources. Default value: false.


CustomizedPrometheusOptional

public object CustomizedPrometheus { get; set; }
  • Type: object

Property customizedPrometheus: Specifies whether to use a self-managed Prometheus system.

Valid values:

  • true: Uses a self-managed Prometheus system.
  • false: Does not use a self-managed Prometheus system. Default value: false.

CustomizedZipkinOptional

public object CustomizedZipkin { get; set; }
  • Type: object

Property customizedZipkin: Specifies whether to use a self-managed Zipkin system.

Valid values:

  • true: Uses a self-managed Zipkin system.
  • false: Uses Tracing Analysis. Default value: false.

DnsProxyingEnabledOptional

public object DnsProxyingEnabled { get; set; }
  • Type: object

Property dnsProxyingEnabled: Specifies whether to enable DNS proxy.

Valid values:

  • true: Enables DNS proxy.
  • false: Disables DNS proxy. Default value: false.

DubboFilterEnabledOptional

public object DubboFilterEnabled { get; set; }
  • Type: object

Property dubboFilterEnabled: Specifies whether to enable the Dubbo filter.

Valid values:

  • true: Enables the Dubbo filter.
  • false: Disables the Dubbo filter. Default value: false.

EditionOptional

public object Edition { get; set; }
  • Type: object

Property edition: The edition of the ASM instance.


EnableAcmgOptional

public object EnableAcmg { get; set; }
  • Type: object

Property enableAcmg: Specifies whether to enable ACMG.


EnableAmbientOptional

public object EnableAmbient { get; set; }
  • Type: object

Property enableAmbient: Specifies whether to enable ambient mode.


EnableAuditOptional

public object EnableAudit { get; set; }
  • Type: object

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.


EnableCrHistoryOptional

public object EnableCrHistory { get; set; }
  • Type: object

Property enableCrHistory: Specifies whether to enable the history version management feature for Istio resources in ASM.

Valid values:

  • true: Enables the history version management feature.
  • false: Disables the history version management feature. Default value: false.

EnableSdsServerOptional

public object EnableSdsServer { get; set; }
  • Type: object

Property enableSdsServer: Specifies whether to enable the Secret Discovery Service (SDS).

Valid values:

  • true: Enables SDS.
  • false: Disables SDS. Default value: false.

ExcludeInboundPortsOptional

public object ExcludeInboundPorts { get; set; }
  • Type: object

Property excludeInboundPorts: The inbound ports to exclude from traffic management.


ExcludeIpRangesOptional

public object ExcludeIpRanges { get; set; }
  • Type: object

Property excludeIpRanges: The IP ranges to exclude from traffic management.


ExcludeOutboundPortsOptional

public object ExcludeOutboundPorts { get; set; }
  • Type: object

Property excludeOutboundPorts: The outbound ports to exclude from traffic management.


ExistingCaCertOptional

public object ExistingCaCert { get; set; }
  • Type: object

Property existingCaCert: The existing CA certificate.


ExistingCaKeyOptional

public object ExistingCaKey { get; set; }
  • Type: object

Property existingCaKey: The existing CA key.


ExistingCaTypeOptional

public object ExistingCaType { get; set; }
  • Type: object

Property existingCaType: The type of the existing certificate: - 1: A self-signed certificate of Istiod.

This corresponds to the istio-ca-secret secret in the istio-system namespace. If you use this type, you must also provide the ExistingCaCert and ExsitingCaKey parameters.

  • 2: An external certificate of Istiod. For more information, see plugin ca cert. This generally corresponds to the cacerts secret in the istio-system namespace. If you use this type, you must also provide the ExisingRootCaCert and ExisingRootCaKey parameters.

ExistingRootCaCertOptional

public object ExistingRootCaCert { get; set; }
  • Type: object

Property existingRootCaCert: The existing root CA certificate.


ExistingRootCaKeyOptional

public object ExistingRootCaKey { get; set; }
  • Type: object

Property existingRootCaKey: The existing root CA key.


FilterGatewayClusterConfigOptional

public object FilterGatewayClusterConfig { get; set; }
  • Type: object

Property filterGatewayClusterConfig: Specifies whether to enable gateway configuration filtering.

Valid values:

  • true: Enables gateway configuration filtering.
  • false: Disables gateway configuration filtering. Default value: false.

GatewayApiEnabledOptional

public object GatewayApiEnabled { get; set; }
  • Type: object

Property gatewayApiEnabled: Specifies whether to enable the Gateway API.

Valid values:

  • true: Enables the Gateway API.
  • false: Disables the Gateway API. Default value: false.

GuestClusterOptional

public object GuestCluster { get; set; }
  • Type: object

Property guestCluster: When you create a Service Mesh instance, you can add a cluster to the instance.

If you do not specify this parameter, no cluster is added. The cluster must be in the same VPC and vSwitch as the Service Mesh instance, and must have the same domain name.


IncludeIpRangesOptional

public object IncludeIpRanges { get; set; }
  • Type: object

Property includeIpRanges: The IP address ranges that are allowed to access the proxy.


IstioVersionOptional

public object IstioVersion { get; set; }
  • Type: object

Property istioVersion: The Istio version of the ASM instance.


KialiEnabledOptional

public object KialiEnabled { get; set; }
  • Type: object

Property kialiEnabled: Specifies whether to enable the mesh topology feature.

To enable this feature, you must first enable Prometheus monitoring. If Prometheus monitoring is disabled, this feature is forcibly disabled. Valid values:

  • true: Enables the mesh topology feature.
  • false: Disables the mesh topology feature. Default value: false.

LocalityLbConfOptional

public object LocalityLbConf { get; set; }
  • Type: object

Property localityLbConf: The locality load balancing configuration.


LocalityLoadBalancingOptional

public object LocalityLoadBalancing { get; set; }
  • Type: object

Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance.

Valid values: true and false. Default value: false.


MseEnabledOptional

public object MseEnabled { get; set; }
  • Type: object

Property mseEnabled: Specifies whether to enable Microservices Engine (MSE).

Valid values:

  • true: Enables MSE.
  • false: Disables MSE. Default value: false.

MultiBufferEnabledOptional

public object MultiBufferEnabled { get; set; }
  • Type: object

Property multiBufferEnabled: Specifies whether to enable TLS performance optimization that is based on MultiBuffer.

Valid values:

  • true: Enables the feature.
  • false: Disables the feature. Default value: true.

MultiBufferPollDelayOptional

public object MultiBufferPollDelay { get; set; }
  • Type: object

Property multiBufferPollDelay: The synchronization period of the MultiBuffer enabling status.

Default value: 30s.


MysqlFilterEnabledOptional

public object MysqlFilterEnabled { get; set; }
  • Type: object

Property mysqlFilterEnabled: Specifies whether to enable the MySQL filter.

Valid values:

  • true: Enables the MySQL filter.
  • false: Disables the MySQL filter. Default value: false.

NameOptional

public object Name { get; set; }
  • Type: object

Property name: The name of the ASM instance.


OpaOptional

public object Opa { get; set; }
  • Type: object

Property opa: OPA settings.


OpaEnabledOptional

public object OpaEnabled { get; set; }
  • Type: object

Property opaEnabled: Specifies whether to enable OPA.

Valid values:

  • true: Enables OPA.
  • false: Disables OPA. Default value: false.

OutboundTrafficPolicyOptional

public object OutboundTrafficPolicy { get; set; }
  • Type: object

Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance.


PeriodOptional

public object Period { get; set; }
  • Type: object

Property period: This parameter is valid only if you set ChargeType to PrePay.

The subscription duration of the SLB instance. Unit: months. If you want to purchase the instance for one year, enter 12.


PilotLoadBalancerSpecOptional

public object PilotLoadBalancerSpec { get; set; }
  • Type: object

Property pilotLoadBalancerSpec: The specification of the SLB instance that is bound to Istio Pilot of the control plane.

Valid values: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, and slb.s3.large.


PilotPublicEipOptional

public object PilotPublicEip { get; set; }
  • Type: object

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.


PlaygroundSceneOptional

public object PlaygroundScene { get; set; }
  • Type: object

Property playgroundScene: The playground scenario.

If you specify this parameter, an ASM playground instance is created. Valid value:

  • ewmaLb: the exponentially weighted moving average (EWMA) load balancing scenario

PrometheusUrlOptional

public object PrometheusUrl { get; set; }
  • Type: object

Property prometheusUrl: The URL for Prometheus.


ProxyOptional

public object Proxy { get; set; }
  • Type: object

Property proxy: Proxy settings.


TelemetryOptional

public object Telemetry { get; set; }
  • Type: object

Property telemetry: Specifies whether to enable Prometheus monitoring.

We recommend that you use Managed Service for Prometheus. Valid values:

  • true: Enables Prometheus monitoring.
  • false: Disables Prometheus monitoring. Default value: false.

TraceSamplingOptional

public object TraceSampling { get; set; }
  • Type: object

Property traceSampling: The sampling percentage of tracing.


TracingOptional

public object Tracing { get; set; }
  • Type: object

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.


UseExistingCaOptional

public object UseExistingCa { get; set; }
  • Type: object

Property useExistingCa: Specifies whether to use an existing CA.


WebAssemblyFilterEnabledOptional

public object WebAssemblyFilterEnabled { get; set; }
  • Type: object

Property webAssemblyFilterEnabled: Specifies whether to enable the WebAssembly filter.

Valid values:

  • true: Enables the WebAssembly filter.
  • false: Disables the WebAssembly filter. Default value: false.

Protocols