Documentation ¶
Overview ¶
Aliyun SDK Copyright (C) Alibaba Cloud Computing All rights reserved. http://www.aliyun.com
Index ¶
- func NewRosServiceMesh_Override(r RosServiceMesh, scope alicloudroscdkcore.Construct, id *string, ...)
- func NewServiceMesh_Override(s ServiceMesh, scope alicloudroscdkcore.Construct, id *string, ...)
- func RosServiceMesh_IsConstruct(x interface{}) *bool
- func RosServiceMesh_IsRosElement(x interface{}) *bool
- func RosServiceMesh_IsRosResource(construct alicloudroscdkcore.IConstruct) *bool
- func RosServiceMesh_ROS_RESOURCE_TYPE_NAME() *string
- func ServiceMesh_IsConstruct(x interface{}) *bool
- type IServiceMesh
- type RosServiceMesh
- type RosServiceMeshProps
- type RosServiceMesh_OPAProperty
- type RosServiceMesh_ProxyProperty
- type ServiceMesh
- type ServiceMeshProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRosServiceMesh_Override ¶
func NewRosServiceMesh_Override(r RosServiceMesh, scope alicloudroscdkcore.Construct, id *string, props *RosServiceMeshProps, enableResourcePropertyConstraint *bool)
func NewServiceMesh_Override ¶
func NewServiceMesh_Override(s ServiceMesh, scope alicloudroscdkcore.Construct, id *string, props *ServiceMeshProps, enableResourcePropertyConstraint *bool)
Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.
func RosServiceMesh_IsConstruct ¶
func RosServiceMesh_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct.
func RosServiceMesh_IsRosElement ¶
func RosServiceMesh_IsRosElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func RosServiceMesh_IsRosResource ¶
func RosServiceMesh_IsRosResource(construct alicloudroscdkcore.IConstruct) *bool
Check whether the given construct is a RosResource.
func RosServiceMesh_ROS_RESOURCE_TYPE_NAME ¶
func RosServiceMesh_ROS_RESOURCE_TYPE_NAME() *string
func ServiceMesh_IsConstruct ¶
func ServiceMesh_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct.
Types ¶
type IServiceMesh ¶ added in v1.6.0
type IServiceMesh interface { alicloudroscdkcore.IResource // Attribute ServiceMeshId: The ID of the ASM instance. AttrServiceMeshId() interface{} Props() *ServiceMeshProps }
Represents a `ServiceMesh`.
type RosServiceMesh ¶
type RosServiceMesh interface { alicloudroscdkcore.RosResource AccessLogEnabled() interface{} SetAccessLogEnabled(val interface{}) AccessLogFile() interface{} SetAccessLogFile(val interface{}) AccessLogFormat() interface{} SetAccessLogFormat(val interface{}) AccessLogProject() interface{} SetAccessLogProject(val interface{}) AccessLogServiceEnabled() interface{} SetAccessLogServiceEnabled(val interface{}) AccessLogServiceHost() interface{} SetAccessLogServiceHost(val interface{}) AccessLogServicePort() interface{} SetAccessLogServicePort(val interface{}) ApiServerLoadBalancerSpec() interface{} SetApiServerLoadBalancerSpec(val interface{}) ApiServerPublicEip() interface{} SetApiServerPublicEip(val interface{}) AttrServiceMeshId() alicloudroscdkcore.IResolvable AuditProject() interface{} SetAuditProject(val interface{}) AutoRenew() interface{} SetAutoRenew(val interface{}) AutoRenewPeriod() interface{} SetAutoRenewPeriod(val interface{}) CertChain() interface{} SetCertChain(val interface{}) ChargeType() interface{} SetChargeType(val interface{}) ClusterSpec() interface{} SetClusterSpec(val interface{}) ConfigSourceEnabled() interface{} SetConfigSourceEnabled(val interface{}) ConfigSourceNacosId() interface{} SetConfigSourceNacosId(val interface{}) ControlPlaneLogEnabled() interface{} SetControlPlaneLogEnabled(val interface{}) ControlPlaneLogProject() interface{} SetControlPlaneLogProject(val interface{}) CrAggregationEnabled() interface{} SetCrAggregationEnabled(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aliyun:ros:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string CustomizedPrometheus() interface{} SetCustomizedPrometheus(val interface{}) CustomizedZipkin() interface{} SetCustomizedZipkin(val interface{}) DnsProxyingEnabled() interface{} SetDnsProxyingEnabled(val interface{}) DubboFilterEnabled() interface{} SetDubboFilterEnabled(val interface{}) Edition() interface{} SetEdition(val interface{}) EnableAcmg() interface{} SetEnableAcmg(val interface{}) EnableAmbient() interface{} SetEnableAmbient(val interface{}) EnableAudit() interface{} SetEnableAudit(val interface{}) EnableCrHistory() interface{} SetEnableCrHistory(val interface{}) EnableResourcePropertyConstraint() *bool SetEnableResourcePropertyConstraint(val *bool) EnableSdsServer() interface{} SetEnableSdsServer(val interface{}) ExcludeInboundPorts() interface{} SetExcludeInboundPorts(val interface{}) ExcludeIpRanges() interface{} SetExcludeIpRanges(val interface{}) ExcludeOutboundPorts() interface{} SetExcludeOutboundPorts(val interface{}) ExistingCaCert() interface{} SetExistingCaCert(val interface{}) ExistingCaKey() interface{} SetExistingCaKey(val interface{}) ExistingCaType() interface{} SetExistingCaType(val interface{}) ExistingRootCaCert() interface{} SetExistingRootCaCert(val interface{}) ExistingRootCaKey() interface{} SetExistingRootCaKey(val interface{}) FilterGatewayClusterConfig() interface{} SetFilterGatewayClusterConfig(val interface{}) GatewayApiEnabled() interface{} SetGatewayApiEnabled(val interface{}) GuestCluster() interface{} SetGuestCluster(val interface{}) IncludeIpRanges() interface{} SetIncludeIpRanges(val interface{}) IstioVersion() interface{} SetIstioVersion(val interface{}) KialiEnabled() interface{} SetKialiEnabled(val interface{}) LocalityLbConf() interface{} SetLocalityLbConf(val interface{}) LocalityLoadBalancing() interface{} SetLocalityLoadBalancing(val interface{}) // The logical ID for this stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string MseEnabled() interface{} SetMseEnabled(val interface{}) MultiBufferEnabled() interface{} SetMultiBufferEnabled(val interface{}) MultiBufferPollDelay() interface{} SetMultiBufferPollDelay(val interface{}) MysqlFilterEnabled() interface{} SetMysqlFilterEnabled(val interface{}) Name() interface{} SetName(val interface{}) // The construct tree node associated with this construct. Node() alicloudroscdkcore.ConstructNode Opa() interface{} SetOpa(val interface{}) OpaEnabled() interface{} SetOpaEnabled(val interface{}) OutboundTrafficPolicy() interface{} SetOutboundTrafficPolicy(val interface{}) Period() interface{} SetPeriod(val interface{}) PilotLoadBalancerSpec() interface{} SetPilotLoadBalancerSpec(val interface{}) PilotPublicEip() interface{} SetPilotPublicEip(val interface{}) PlaygroundScene() interface{} SetPlaygroundScene(val interface{}) PrometheusUrl() interface{} SetPrometheusUrl(val interface{}) Proxy() interface{} SetProxy(val interface{}) // Return a string that will be resolved to a RosTemplate `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Options for this resource, such as condition, update policy etc. RosOptions() alicloudroscdkcore.IRosResourceOptions RosProperties() *map[string]interface{} // ROS resource type. RosResourceType() *string // The stack in which this element is defined. // // RosElements must be defined within a stack scope (directly or indirectly). Stack() alicloudroscdkcore.Stack Telemetry() interface{} SetTelemetry(val interface{}) TraceSampling() interface{} SetTraceSampling(val interface{}) Tracing() interface{} SetTracing(val interface{}) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} UseExistingCa() interface{} SetUseExistingCa(val interface{}) VpcId() interface{} SetVpcId(val interface{}) VSwitches() interface{} SetVSwitches(val interface{}) WebAssemblyFilterEnabled() interface{} SetWebAssemblyFilterEnabled(val interface{}) AddCondition(con alicloudroscdkcore.RosCondition) AddCount(count interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependsOn(target alicloudroscdkcore.RosResource) AddDesc(desc *string) AddMetaData(key *string, value interface{}) // Adds an override to the synthesized ROS resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // For example, // “`typescript // addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']) // addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE') // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “`. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) AddRosDependency(target *string) // Sets the deletion policy of the resource based on the removal policy specified. ApplyRemovalPolicy(policy alicloudroscdkcore.RemovalPolicy, options *alicloudroscdkcore.RemovalPolicyOptions) FetchCondition() alicloudroscdkcore.RosCondition FetchDesc() *string FetchRosDependency() *[]*string // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string) alicloudroscdkcore.Reference // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. Synthesize(session alicloudroscdkcore.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. Validate() *[]*string ValidateProperties(_properties interface{}) }
This class is a base encapsulation around the ROS resource type `ALIYUN::ASM::ServiceMesh`, which is used to create a Service Mesh (ASM) instance.
func NewRosServiceMesh ¶
func NewRosServiceMesh(scope alicloudroscdkcore.Construct, id *string, props *RosServiceMeshProps, enableResourcePropertyConstraint *bool) RosServiceMesh
type RosServiceMeshProps ¶
type RosServiceMeshProps struct { VpcId interface{} `field:"required" json:"vpcId" yaml:"vpcId"` VSwitches interface{} `field:"required" json:"vSwitches" yaml:"vSwitches"` AccessLogEnabled interface{} `field:"optional" json:"accessLogEnabled" yaml:"accessLogEnabled"` AccessLogFile interface{} `field:"optional" json:"accessLogFile" yaml:"accessLogFile"` AccessLogFormat interface{} `field:"optional" json:"accessLogFormat" yaml:"accessLogFormat"` AccessLogProject interface{} `field:"optional" json:"accessLogProject" yaml:"accessLogProject"` AccessLogServiceEnabled interface{} `field:"optional" json:"accessLogServiceEnabled" yaml:"accessLogServiceEnabled"` AccessLogServiceHost interface{} `field:"optional" json:"accessLogServiceHost" yaml:"accessLogServiceHost"` AccessLogServicePort interface{} `field:"optional" json:"accessLogServicePort" yaml:"accessLogServicePort"` ApiServerLoadBalancerSpec interface{} `field:"optional" json:"apiServerLoadBalancerSpec" yaml:"apiServerLoadBalancerSpec"` ApiServerPublicEip interface{} `field:"optional" json:"apiServerPublicEip" yaml:"apiServerPublicEip"` AuditProject interface{} `field:"optional" json:"auditProject" yaml:"auditProject"` AutoRenew interface{} `field:"optional" json:"autoRenew" yaml:"autoRenew"` AutoRenewPeriod interface{} `field:"optional" json:"autoRenewPeriod" yaml:"autoRenewPeriod"` CertChain interface{} `field:"optional" json:"certChain" yaml:"certChain"` ChargeType interface{} `field:"optional" json:"chargeType" yaml:"chargeType"` ClusterSpec interface{} `field:"optional" json:"clusterSpec" yaml:"clusterSpec"` ConfigSourceEnabled interface{} `field:"optional" json:"configSourceEnabled" yaml:"configSourceEnabled"` ConfigSourceNacosId interface{} `field:"optional" json:"configSourceNacosId" yaml:"configSourceNacosId"` ControlPlaneLogEnabled interface{} `field:"optional" json:"controlPlaneLogEnabled" yaml:"controlPlaneLogEnabled"` ControlPlaneLogProject interface{} `field:"optional" json:"controlPlaneLogProject" yaml:"controlPlaneLogProject"` CrAggregationEnabled interface{} `field:"optional" json:"crAggregationEnabled" yaml:"crAggregationEnabled"` CustomizedPrometheus interface{} `field:"optional" json:"customizedPrometheus" yaml:"customizedPrometheus"` CustomizedZipkin interface{} `field:"optional" json:"customizedZipkin" yaml:"customizedZipkin"` DnsProxyingEnabled interface{} `field:"optional" json:"dnsProxyingEnabled" yaml:"dnsProxyingEnabled"` DubboFilterEnabled interface{} `field:"optional" json:"dubboFilterEnabled" yaml:"dubboFilterEnabled"` Edition interface{} `field:"optional" json:"edition" yaml:"edition"` EnableAcmg interface{} `field:"optional" json:"enableAcmg" yaml:"enableAcmg"` EnableAmbient interface{} `field:"optional" json:"enableAmbient" yaml:"enableAmbient"` EnableAudit interface{} `field:"optional" json:"enableAudit" yaml:"enableAudit"` EnableCrHistory interface{} `field:"optional" json:"enableCrHistory" yaml:"enableCrHistory"` EnableSdsServer interface{} `field:"optional" json:"enableSdsServer" yaml:"enableSdsServer"` ExcludeInboundPorts interface{} `field:"optional" json:"excludeInboundPorts" yaml:"excludeInboundPorts"` ExcludeIpRanges interface{} `field:"optional" json:"excludeIpRanges" yaml:"excludeIpRanges"` ExcludeOutboundPorts interface{} `field:"optional" json:"excludeOutboundPorts" yaml:"excludeOutboundPorts"` ExistingCaCert interface{} `field:"optional" json:"existingCaCert" yaml:"existingCaCert"` ExistingCaKey interface{} `field:"optional" json:"existingCaKey" yaml:"existingCaKey"` ExistingCaType interface{} `field:"optional" json:"existingCaType" yaml:"existingCaType"` ExistingRootCaCert interface{} `field:"optional" json:"existingRootCaCert" yaml:"existingRootCaCert"` ExistingRootCaKey interface{} `field:"optional" json:"existingRootCaKey" yaml:"existingRootCaKey"` FilterGatewayClusterConfig interface{} `field:"optional" json:"filterGatewayClusterConfig" yaml:"filterGatewayClusterConfig"` GatewayApiEnabled interface{} `field:"optional" json:"gatewayApiEnabled" yaml:"gatewayApiEnabled"` GuestCluster interface{} `field:"optional" json:"guestCluster" yaml:"guestCluster"` IncludeIpRanges interface{} `field:"optional" json:"includeIpRanges" yaml:"includeIpRanges"` IstioVersion interface{} `field:"optional" json:"istioVersion" yaml:"istioVersion"` KialiEnabled interface{} `field:"optional" json:"kialiEnabled" yaml:"kialiEnabled"` LocalityLbConf interface{} `field:"optional" json:"localityLbConf" yaml:"localityLbConf"` LocalityLoadBalancing interface{} `field:"optional" json:"localityLoadBalancing" yaml:"localityLoadBalancing"` MseEnabled interface{} `field:"optional" json:"mseEnabled" yaml:"mseEnabled"` MultiBufferEnabled interface{} `field:"optional" json:"multiBufferEnabled" yaml:"multiBufferEnabled"` MultiBufferPollDelay interface{} `field:"optional" json:"multiBufferPollDelay" yaml:"multiBufferPollDelay"` MysqlFilterEnabled interface{} `field:"optional" json:"mysqlFilterEnabled" yaml:"mysqlFilterEnabled"` Name interface{} `field:"optional" json:"name" yaml:"name"` Opa interface{} `field:"optional" json:"opa" yaml:"opa"` OpaEnabled interface{} `field:"optional" json:"opaEnabled" yaml:"opaEnabled"` OutboundTrafficPolicy interface{} `field:"optional" json:"outboundTrafficPolicy" yaml:"outboundTrafficPolicy"` Period interface{} `field:"optional" json:"period" yaml:"period"` PilotLoadBalancerSpec interface{} `field:"optional" json:"pilotLoadBalancerSpec" yaml:"pilotLoadBalancerSpec"` PilotPublicEip interface{} `field:"optional" json:"pilotPublicEip" yaml:"pilotPublicEip"` PlaygroundScene interface{} `field:"optional" json:"playgroundScene" yaml:"playgroundScene"` PrometheusUrl interface{} `field:"optional" json:"prometheusUrl" yaml:"prometheusUrl"` Proxy interface{} `field:"optional" json:"proxy" yaml:"proxy"` Telemetry interface{} `field:"optional" json:"telemetry" yaml:"telemetry"` TraceSampling interface{} `field:"optional" json:"traceSampling" yaml:"traceSampling"` Tracing interface{} `field:"optional" json:"tracing" yaml:"tracing"` UseExistingCa interface{} `field:"optional" json:"useExistingCa" yaml:"useExistingCa"` WebAssemblyFilterEnabled interface{} `field:"optional" json:"webAssemblyFilterEnabled" yaml:"webAssemblyFilterEnabled"` }
Properties for defining a `RosServiceMesh`.
See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-asm-servicemesh
type RosServiceMesh_OPAProperty ¶
type RosServiceMesh_OPAProperty struct { OpaLimitCpu interface{} `field:"optional" json:"opaLimitCpu" yaml:"opaLimitCpu"` OpaLimitMemory interface{} `field:"optional" json:"opaLimitMemory" yaml:"opaLimitMemory"` OpaLogLevel interface{} `field:"optional" json:"opaLogLevel" yaml:"opaLogLevel"` OpaRequestCpu interface{} `field:"optional" json:"opaRequestCpu" yaml:"opaRequestCpu"` OpaRequestMemory interface{} `field:"optional" json:"opaRequestMemory" yaml:"opaRequestMemory"` OpenAgentPolicy interface{} `field:"optional" json:"openAgentPolicy" yaml:"openAgentPolicy"` }
type RosServiceMesh_ProxyProperty ¶
type RosServiceMesh_ProxyProperty struct { ClusterDomain interface{} `field:"optional" json:"clusterDomain" yaml:"clusterDomain"` ProxyLimitCpu interface{} `field:"optional" json:"proxyLimitCpu" yaml:"proxyLimitCpu"` ProxyLimitMemory interface{} `field:"optional" json:"proxyLimitMemory" yaml:"proxyLimitMemory"` ProxyRequestCpu interface{} `field:"optional" json:"proxyRequestCpu" yaml:"proxyRequestCpu"` ProxyRequestMemory interface{} `field:"optional" json:"proxyRequestMemory" yaml:"proxyRequestMemory"` }
type ServiceMesh ¶
type ServiceMesh interface { alicloudroscdkcore.Resource IServiceMesh // Attribute ServiceMeshId: The ID of the ASM instance. AttrServiceMeshId() interface{} EnableResourcePropertyConstraint() *bool SetEnableResourcePropertyConstraint(val *bool) // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *alicloudroscdkcore.ResourceEnvironment Id() *string SetId(val *string) // The construct tree node associated with this construct. Node() alicloudroscdkcore.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the ROS resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by ROS // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string Props() *ServiceMeshProps Ref() *string Resource() alicloudroscdkcore.RosResource SetResource(val alicloudroscdkcore.RosResource) Scope() alicloudroscdkcore.Construct SetScope(val alicloudroscdkcore.Construct) // The stack in which this resource is defined. Stack() alicloudroscdkcore.Stack AddCondition(condition alicloudroscdkcore.RosCondition) AddCount(count interface{}) AddDependency(resource alicloudroscdkcore.Resource) AddResourceDesc(desc *string) ApplyRemovalPolicy(policy alicloudroscdkcore.RemovalPolicy) FetchCondition() alicloudroscdkcore.RosCondition FetchDependency() *[]*string FetchResourceDesc() *string GeneratePhysicalName() *string GetAtt(name *string) alicloudroscdkcore.IResolvable // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. Prepare() SetMetadata(key *string, value interface{}) // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. Synthesize(session alicloudroscdkcore.ISynthesisSession) // Returns a string representation of this construct. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. Validate() *[]*string }
This class encapsulates and extends the ROS resource type `ALIYUN::ASM::ServiceMesh`, which is used to create a Service Mesh (ASM) instance.
func NewServiceMesh ¶
func NewServiceMesh(scope alicloudroscdkcore.Construct, id *string, props *ServiceMeshProps, enableResourcePropertyConstraint *bool) ServiceMesh
Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.
type ServiceMeshProps ¶
type ServiceMeshProps struct { // Property vpcId: The ID of the virtual private cloud (VPC). VpcId interface{} `field:"required" json:"vpcId" yaml:"vpcId"` // Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"]. VSwitches interface{} `field:"required" json:"vSwitches" yaml:"vSwitches"` // Property accessLogEnabled: Specifies whether to enable access logging. AccessLogEnabled interface{} `field:"optional" json:"accessLogEnabled" yaml:"accessLogEnabled"` // Property accessLogFile: Enable and disable access logs. // // Value: // - "" : Turn off access logs. // - \/dev\/stdout: Enables access logging. AccessLogFile interface{} `field:"optional" json:"accessLogFile" yaml:"accessLogFile"` // Property accessLogFormat: The format of access logs. AccessLogFormat interface{} `field:"optional" json:"accessLogFormat" yaml:"accessLogFormat"` // Property accessLogProject: The Log Service project for access logs. AccessLogProject interface{} `field:"optional" json:"accessLogProject" yaml:"accessLogProject"` // 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. AccessLogServiceEnabled interface{} `field:"optional" json:"accessLogServiceEnabled" yaml:"accessLogServiceEnabled"` // Property accessLogServiceHost: Address where Envoy's gRPC logging service (ALS) is enabled. AccessLogServiceHost interface{} `field:"optional" json:"accessLogServiceHost" yaml:"accessLogServiceHost"` // Property accessLogServicePort: Port on which Envoy's gRPC logging service (ALS) is enabled. AccessLogServicePort interface{} `field:"optional" json:"accessLogServicePort" yaml:"accessLogServicePort"` // 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). ApiServerLoadBalancerSpec interface{} `field:"optional" json:"apiServerLoadBalancerSpec" yaml:"apiServerLoadBalancerSpec"` // 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. ApiServerPublicEip interface{} `field:"optional" json:"apiServerPublicEip" yaml:"apiServerPublicEip"` // Property auditProject: The name of the Log Service project that is used for mesh audit. // // Default value: mesh-log-{meshId}. AuditProject interface{} `field:"optional" json:"auditProject" yaml:"auditProject"` // Property autoRenew: If CLB is annual and monthly, whether it will be automatically renewed. // // Value: // - true: Automatic renewal. // - false: No automatic renewal. AutoRenew interface{} `field:"optional" json:"autoRenew" yaml:"autoRenew"` // Property autoRenewPeriod: ChargeType is a PrePay. // // Indicates the automatic renewal time when purchasing a CLB of the year and month type. If the purchase is less than 1 year old, this parameter indicates how many months the auto-renewal will take. If the purchase is longer than 1 year, this parameter indicates how many years the automatic renewal will be made. AutoRenewPeriod interface{} `field:"optional" json:"autoRenewPeriod" yaml:"autoRenewPeriod"` // Property certChain: The certificate chain from CaCert to RootCert contains at least two certificates. CertChain interface{} `field:"optional" json:"certChain" yaml:"certChain"` // Property chargeType: CLB payment type. // // Value: // - PayOnDemand: pay-as-you-go type // - PrePay: Annual and monthly. ChargeType interface{} `field:"optional" json:"chargeType" yaml:"chargeType"` // Property clusterSpec: Service grid instance specification, value: - standard: The standard version. // // - enterprise: Enterprise Edition // - ultimate: ultimate. ClusterSpec interface{} `field:"optional" json:"clusterSpec" yaml:"clusterSpec"` // 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. ConfigSourceEnabled interface{} `field:"optional" json:"configSourceEnabled" yaml:"configSourceEnabled"` // Property configSourceNacosId: The Nacos ID for config source. ConfigSourceNacosId interface{} `field:"optional" json:"configSourceNacosId" yaml:"configSourceNacosId"` // Property controlPlaneLogEnabled: Specifies whether to enable control plane logging. ControlPlaneLogEnabled interface{} `field:"optional" json:"controlPlaneLogEnabled" yaml:"controlPlaneLogEnabled"` // Property controlPlaneLogProject: The Log Service project for control plane logs. ControlPlaneLogProject interface{} `field:"optional" json:"controlPlaneLogProject" yaml:"controlPlaneLogProject"` // 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. CrAggregationEnabled interface{} `field:"optional" json:"crAggregationEnabled" yaml:"crAggregationEnabled"` // Property customizedPrometheus: Specifies whether to use a customized Prometheus system. CustomizedPrometheus interface{} `field:"optional" json:"customizedPrometheus" yaml:"customizedPrometheus"` // Property customizedZipkin: Specifies whether to use a user-created Zipkin system. CustomizedZipkin interface{} `field:"optional" json:"customizedZipkin" yaml:"customizedZipkin"` // Property dnsProxyingEnabled: Specifies whether to enable DNS proxying. DnsProxyingEnabled interface{} `field:"optional" json:"dnsProxyingEnabled" yaml:"dnsProxyingEnabled"` // Property dubboFilterEnabled: Specifies whether to enable Dubbo filter. DubboFilterEnabled interface{} `field:"optional" json:"dubboFilterEnabled" yaml:"dubboFilterEnabled"` // Property edition: The edition of the ASM instance. Edition interface{} `field:"optional" json:"edition" yaml:"edition"` // Property enableAcmg: Specifies whether to enable ACMG. EnableAcmg interface{} `field:"optional" json:"enableAcmg" yaml:"enableAcmg"` // Property enableAmbient: Specifies whether to enable ambient mode. EnableAmbient interface{} `field:"optional" json:"enableAmbient" yaml:"enableAmbient"` // 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. EnableAudit interface{} `field:"optional" json:"enableAudit" yaml:"enableAudit"` // Property enableCrHistory: Specifies whether to enable CR history. EnableCrHistory interface{} `field:"optional" json:"enableCrHistory" yaml:"enableCrHistory"` // Property enableSdsServer: Specifies whether to enable SDS server. EnableSdsServer interface{} `field:"optional" json:"enableSdsServer" yaml:"enableSdsServer"` // Property excludeInboundPorts: The inbound ports to exclude from traffic management. ExcludeInboundPorts interface{} `field:"optional" json:"excludeInboundPorts" yaml:"excludeInboundPorts"` // Property excludeIpRanges: The IP ranges to exclude from traffic management. ExcludeIpRanges interface{} `field:"optional" json:"excludeIpRanges" yaml:"excludeIpRanges"` // Property excludeOutboundPorts: The outbound ports to exclude from traffic management. ExcludeOutboundPorts interface{} `field:"optional" json:"excludeOutboundPorts" yaml:"excludeOutboundPorts"` // Property existingCaCert: The existing CA certificate. ExistingCaCert interface{} `field:"optional" json:"existingCaCert" yaml:"existingCaCert"` // Property existingCaKey: The existing CA key. ExistingCaKey interface{} `field:"optional" json:"existingCaKey" yaml:"existingCaKey"` // Property existingCaType: The type of existing CA. ExistingCaType interface{} `field:"optional" json:"existingCaType" yaml:"existingCaType"` // Property existingRootCaCert: The existing root CA certificate. ExistingRootCaCert interface{} `field:"optional" json:"existingRootCaCert" yaml:"existingRootCaCert"` // Property existingRootCaKey: The existing root CA key. ExistingRootCaKey interface{} `field:"optional" json:"existingRootCaKey" yaml:"existingRootCaKey"` // Property filterGatewayClusterConfig: Specifies whether to filter gateway cluster configuration. FilterGatewayClusterConfig interface{} `field:"optional" json:"filterGatewayClusterConfig" yaml:"filterGatewayClusterConfig"` // Property gatewayApiEnabled: Specifies whether to enable Gateway API. GatewayApiEnabled interface{} `field:"optional" json:"gatewayApiEnabled" yaml:"gatewayApiEnabled"` // Property guestCluster: The guest cluster configuration. GuestCluster interface{} `field:"optional" json:"guestCluster" yaml:"guestCluster"` // Property includeIpRanges: The Classless Inter-Domain Routing (CIDR) block in the ASM instance that are denied to access external services. IncludeIpRanges interface{} `field:"optional" json:"includeIpRanges" yaml:"includeIpRanges"` // Property istioVersion: The Istio version of the ASM instance. IstioVersion interface{} `field:"optional" json:"istioVersion" yaml:"istioVersion"` // Property kialiEnabled: Specifies whether to enable Kiali. KialiEnabled interface{} `field:"optional" json:"kialiEnabled" yaml:"kialiEnabled"` // Property localityLbConf: The locality load balancing configuration. LocalityLbConf interface{} `field:"optional" json:"localityLbConf" yaml:"localityLbConf"` // Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance. // // Valid values: true and false. Default value: false. LocalityLoadBalancing interface{} `field:"optional" json:"localityLoadBalancing" yaml:"localityLoadBalancing"` // Property mseEnabled: Specifies whether to enable MSE. MseEnabled interface{} `field:"optional" json:"mseEnabled" yaml:"mseEnabled"` // Property multiBufferEnabled: Specifies whether to enable multi-buffer. MultiBufferEnabled interface{} `field:"optional" json:"multiBufferEnabled" yaml:"multiBufferEnabled"` // Property multiBufferPollDelay: The poll delay for multi-buffer. MultiBufferPollDelay interface{} `field:"optional" json:"multiBufferPollDelay" yaml:"multiBufferPollDelay"` // Property mysqlFilterEnabled: Specifies whether to enable MySQL filter. MysqlFilterEnabled interface{} `field:"optional" json:"mysqlFilterEnabled" yaml:"mysqlFilterEnabled"` // Property name: The name of the ASM instance. Name interface{} `field:"optional" json:"name" yaml:"name"` // Property opa: OPA settings. Opa interface{} `field:"optional" json:"opa" yaml:"opa"` // Property opaEnabled: Specifies whether to enable OPA. OpaEnabled interface{} `field:"optional" json:"opaEnabled" yaml:"opaEnabled"` // Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance. OutboundTrafficPolicy interface{} `field:"optional" json:"outboundTrafficPolicy" yaml:"outboundTrafficPolicy"` // Property period: The subscription period. Period interface{} `field:"optional" json:"period" yaml:"period"` // Property pilotLoadBalancerSpec: The specification for the pilot load balancer. PilotLoadBalancerSpec interface{} `field:"optional" json:"pilotLoadBalancerSpec" yaml:"pilotLoadBalancerSpec"` // 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. PilotPublicEip interface{} `field:"optional" json:"pilotPublicEip" yaml:"pilotPublicEip"` // Property playgroundScene: The playground scene configuration. PlaygroundScene interface{} `field:"optional" json:"playgroundScene" yaml:"playgroundScene"` // Property prometheusUrl: The URL for Prometheus. PrometheusUrl interface{} `field:"optional" json:"prometheusUrl" yaml:"prometheusUrl"` // Property proxy: Proxy settings. Proxy interface{} `field:"optional" json:"proxy" yaml:"proxy"` // Property telemetry: Specifies whether to enable Prometheus monitoring. // // We recommend that you use Application Real-Time Monitoring Service (ARMS). Telemetry interface{} `field:"optional" json:"telemetry" yaml:"telemetry"` // Property traceSampling: The sampling percentage of tracing. TraceSampling interface{} `field:"optional" json:"traceSampling" yaml:"traceSampling"` // 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. Tracing interface{} `field:"optional" json:"tracing" yaml:"tracing"` // Property useExistingCa: Specifies whether to use an existing CA. UseExistingCa interface{} `field:"optional" json:"useExistingCa" yaml:"useExistingCa"` // Property webAssemblyFilterEnabled: Specifies whether to enable WebAssembly filter. WebAssemblyFilterEnabled interface{} `field:"optional" json:"webAssemblyFilterEnabled" yaml:"webAssemblyFilterEnabled"` }
Properties for defining a `ServiceMesh`.
See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-asm-servicemesh