alicloudroscdkasm

package module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

README

Aliyun ROS ASM Construct Library

This module is part of the AliCloud ROS Cloud Development Kit (ROS CDK) project.

import * as ASM from '@alicloud/ros-cdk-asm';

Documentation

Overview

Aliyun SDK Copyright (C) Alibaba Cloud Computing All rights reserved. http://www.aliyun.com

Index

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

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL