alicloudroscdkasm

package module
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 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 RosServiceMesh

type RosServiceMesh interface {
	alicloudroscdkcore.RosResource
	ApiServerPublicEip() interface{}
	SetApiServerPublicEip(val interface{})
	AttrServiceMeshId() alicloudroscdkcore.IResolvable
	AuditProject() interface{}
	SetAuditProject(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
	CustomizedZipkin() interface{}
	SetCustomizedZipkin(val interface{})
	EnableAudit() interface{}
	SetEnableAudit(val interface{})
	EnableResourcePropertyConstraint() *bool
	SetEnableResourcePropertyConstraint(val *bool)
	IncludeIpRanges() interface{}
	SetIncludeIpRanges(val interface{})
	IstioVersion() interface{}
	SetIstioVersion(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
	Name() interface{}
	SetName(val interface{})
	// The construct tree node associated with this construct.
	Node() alicloudroscdkcore.ConstructNode
	Opa() interface{}
	SetOpa(val interface{})
	OutboundTrafficPolicy() interface{}
	SetOutboundTrafficPolicy(val interface{})
	PilotPublicEip() interface{}
	SetPilotPublicEip(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{}
	VpcId() interface{}
	SetVpcId(val interface{})
	VSwitches() interface{}
	SetVSwitches(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)
	// 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"`
	ApiServerPublicEip    interface{} `field:"optional" json:"apiServerPublicEip" yaml:"apiServerPublicEip"`
	AuditProject          interface{} `field:"optional" json:"auditProject" yaml:"auditProject"`
	CustomizedZipkin      interface{} `field:"optional" json:"customizedZipkin" yaml:"customizedZipkin"`
	EnableAudit           interface{} `field:"optional" json:"enableAudit" yaml:"enableAudit"`
	IncludeIpRanges       interface{} `field:"optional" json:"includeIpRanges" yaml:"includeIpRanges"`
	IstioVersion          interface{} `field:"optional" json:"istioVersion" yaml:"istioVersion"`
	LocalityLoadBalancing interface{} `field:"optional" json:"localityLoadBalancing" yaml:"localityLoadBalancing"`
	Name                  interface{} `field:"optional" json:"name" yaml:"name"`
	Opa                   interface{} `field:"optional" json:"opa" yaml:"opa"`
	OutboundTrafficPolicy interface{} `field:"optional" json:"outboundTrafficPolicy" yaml:"outboundTrafficPolicy"`
	PilotPublicEip        interface{} `field:"optional" json:"pilotPublicEip" yaml:"pilotPublicEip"`
	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"`
}

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
	// Attribute ServiceMeshId: The ID of the ASM instance.
	AttrServiceMeshId() alicloudroscdkcore.IResolvable
	EnableResourcePropertyConstraint() *bool
	SetEnableResourcePropertyConstraint(val *bool)
	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
	SetProps(val *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)
	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 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 customizedZipkin: Specifies whether to use a user-created Zipkin system.
	CustomizedZipkin interface{} `field:"optional" json:"customizedZipkin" yaml:"customizedZipkin"`
	// 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 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 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 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 outboundTrafficPolicy: The outbound traffic policy of the ASM instance.
	OutboundTrafficPolicy interface{} `field:"optional" json:"outboundTrafficPolicy" yaml:"outboundTrafficPolicy"`
	// 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 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"`
}

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