alicloudroscdkassemblyschema

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: 4 Imported by: 2

README

@alicloud/ros-cdk-assembly-schema

TODO: description

Usage

const rosAssemblySchema = require('@alicloud/ros-cdk-assembly-schema');

// TODO: DEMONSTRATE API

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 Manifest_Save

func Manifest_Save(manifest *AssemblyManifest, filePath *string)

Deprecated. Deprecated: use `saveAssemblyManifest()`.

func Manifest_SaveAssemblyManifest

func Manifest_SaveAssemblyManifest(manifest *AssemblyManifest, filePath *string)

Validates and saves the cloud assembly manifest to file.

func Manifest_Version

func Manifest_Version() *string

Fetch the current schema version number.

Types

type AliCloudDestination

type AliCloudDestination struct {
	// The region where this asset will need to be published.
	Region *string `field:"optional" json:"region" yaml:"region"`
}

Destination for assets that need to be uploaded to AliCloud.

type AliyunRosStackProperties

type AliyunRosStackProperties struct {
	// A file relative to the assembly root which contains the ROS template for this stack.
	TemplateFile *string `field:"required" json:"templateFile" yaml:"templateFile"`
	// Values for ROS stack parameters that should be passed when the stack is deployed.
	Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"`
	// The name to use for the ROS stack.
	StackName *string `field:"optional" json:"stackName" yaml:"stackName"`
	// Values for ROS stack tags that should be passed when the stack is deployed.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}

Artifact properties for ROS stacks.

type AmiContextQuery

type AmiContextQuery struct {
	// Account to query.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Filters to DescribeImages call.
	Filters *map[string]*[]*string `field:"required" json:"filters" yaml:"filters"`
	// Region to query.
	Region *string `field:"required" json:"region" yaml:"region"`
	// Owners to DescribeImages call.
	Owners *[]*string `field:"optional" json:"owners" yaml:"owners"`
}

Query to AMI context provider.

type ArtifactManifest

type ArtifactManifest struct {
	// The type of artifact.
	Type ArtifactType `field:"required" json:"type" yaml:"type"`
	// IDs of artifacts that must be deployed before this artifact.
	Dependencies *[]*string `field:"optional" json:"dependencies" yaml:"dependencies"`
	// Associated metadata.
	Metadata *map[string]*[]*MetadataEntry `field:"optional" json:"metadata" yaml:"metadata"`
	// The set of properties for this artifact (depends on type).
	Properties interface{} `field:"optional" json:"properties" yaml:"properties"`
}

A manifest for a single artifact within the cloud assembly.

type ArtifactMetadataEntryType

type ArtifactMetadataEntryType string

Type of artifact metadata entry.

const (
	// Asset in metadata.
	ArtifactMetadataEntryType_ASSET ArtifactMetadataEntryType = "ASSET"
	// Metadata key used to print INFO-level messages by the toolkit when an app is syntheized.
	ArtifactMetadataEntryType_INFO ArtifactMetadataEntryType = "INFO"
	// Metadata key used to print WARNING-level messages by the toolkit when an app is syntheized.
	ArtifactMetadataEntryType_WARN ArtifactMetadataEntryType = "WARN"
	// Metadata key used to print ERROR-level messages by the toolkit when an app is syntheized.
	ArtifactMetadataEntryType_ERROR ArtifactMetadataEntryType = "ERROR"
	// Represents the ROS logical ID of a resource at a certain path.
	ArtifactMetadataEntryType_LOGICAL_ID ArtifactMetadataEntryType = "LOGICAL_ID"
	// Represents tags of a stack.
	ArtifactMetadataEntryType_STACK_TAGS ArtifactMetadataEntryType = "STACK_TAGS"
)

type ArtifactType

type ArtifactType string

Type of cloud artifact.

const (
	// Stub required because of JSII.
	ArtifactType_NONE ArtifactType = "NONE"
	// The artifact is an ROS stack.
	ArtifactType_ALIYUN_ROS_STACK ArtifactType = "ALIYUN_ROS_STACK"
	// The artifact contains the CDK application's construct tree.
	ArtifactType_CDK_TREE ArtifactType = "CDK_TREE"
	// Manifest for all assets in the Cloud Assembly.
	ArtifactType_ASSET_MANIFEST ArtifactType = "ASSET_MANIFEST"
	// Nested Cloud Assembly.
	ArtifactType_NESTED_CLOUD_ASSEMBLY ArtifactType = "NESTED_CLOUD_ASSEMBLY"
)

type AssemblyManifest

type AssemblyManifest struct {
	// Protocol version.
	Version *string `field:"required" json:"version" yaml:"version"`
	// The set of artifacts in this assembly.
	Artifacts *map[string]*ArtifactManifest `field:"optional" json:"artifacts" yaml:"artifacts"`
	// Missing context information.
	//
	// If this field has values, it means that the
	// cloud assembly is not complete and should not be deployed.
	Missing *[]*MissingContext `field:"optional" json:"missing" yaml:"missing"`
	// Runtime information.
	Runtime *RuntimeInfo `field:"optional" json:"runtime" yaml:"runtime"`
}

A manifest which describes the cloud assembly.

func Manifest_Load

func Manifest_Load(filePath *string) *AssemblyManifest

Deprecated. Deprecated: use `loadAssemblyManifest()`.

func Manifest_LoadAssemblyManifest

func Manifest_LoadAssemblyManifest(filePath *string) *AssemblyManifest

Load and validates the cloud assembly manifest from file.

type AssetManifest

type AssetManifest struct {
	// Version of the manifest.
	Version *string `field:"required" json:"version" yaml:"version"`
	// The Docker image assets in this manifest.
	DockerImages *map[string]*DockerImageAsset `field:"optional" json:"dockerImages" yaml:"dockerImages"`
	// The file assets in this manifest.
	Files *map[string]*FileAsset `field:"optional" json:"files" yaml:"files"`
}

Definitions for the asset manifest.

type AssetManifestOptions

type AssetManifestOptions struct {
}

Configuration options for the Asset Manifest.

type AssetManifestProperties

type AssetManifestProperties struct {
	// Filename of the asset manifest.
	File *string `field:"required" json:"file" yaml:"file"`
}

Artifact properties for the Asset Manifest.

type AvailabilityZonesContextQuery

type AvailabilityZonesContextQuery struct {
	// Query account.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	Region *string `field:"required" json:"region" yaml:"region"`
}

Query to availability zone context provider.

type ContextProvider

type ContextProvider string

Identifier for the context provider.

const (
	// AMI provider.
	ContextProvider_AMI_PROVIDER ContextProvider = "AMI_PROVIDER"
	// AZ provider.
	ContextProvider_AVAILABILITY_ZONE_PROVIDER ContextProvider = "AVAILABILITY_ZONE_PROVIDER"
	// Route53 Hosted Zone provider.
	ContextProvider_HOSTED_ZONE_PROVIDER ContextProvider = "HOSTED_ZONE_PROVIDER"
	// SSM Parameter Provider.
	ContextProvider_SSM_PARAMETER_PROVIDER ContextProvider = "SSM_PARAMETER_PROVIDER"
	// VPC Provider.
	ContextProvider_VPC_PROVIDER ContextProvider = "VPC_PROVIDER"
	// VPC Endpoint Service AZ Provider.
	ContextProvider_ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER ContextProvider = "ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER"
)

type DockerCacheOption

type DockerCacheOption struct {
	// The type of cache to use.
	//
	// Refer to https://docs.docker.com/build/cache/backends/ for full list of backends.
	//
	// Example:
	//   'registry'
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// Any parameters to pass into the docker cache backend configuration.
	//
	// Refer to https://docs.docker.com/build/cache/backends/ for cache backend configuration.
	Params *map[string]*string `field:"optional" json:"params" yaml:"params"`
}

Options for configuring the Docker cache backend.

type DockerImageAsset

type DockerImageAsset struct {
	// Destinations for this file asset.
	Destinations *map[string]*DockerImageDestination `field:"required" json:"destinations" yaml:"destinations"`
	// Source description for file assets.
	Source *DockerImageSource `field:"required" json:"source" yaml:"source"`
}

A file asset.

type DockerImageDestination

type DockerImageDestination struct {
	// The region where this asset will need to be published.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Tag of the image to publish.
	ImageTag *string `field:"required" json:"imageTag" yaml:"imageTag"`
	// Name of the ECR repository to publish to.
	RepositoryName *string `field:"required" json:"repositoryName" yaml:"repositoryName"`
}

Where to publish docker images.

type DockerImageSource

type DockerImageSource struct {
	// Disable the cache and pass `--no-cache` to the `docker build` command.
	CacheDisabled *bool `field:"optional" json:"cacheDisabled" yaml:"cacheDisabled"`
	// Cache from options to pass to the `docker build` command.
	// See: https://docs.docker.com/build/cache/backends/
	//
	CacheFrom *[]*DockerCacheOption `field:"optional" json:"cacheFrom" yaml:"cacheFrom"`
	// Cache to options to pass to the `docker build` command.
	// See: https://docs.docker.com/build/cache/backends/
	//
	CacheTo *DockerCacheOption `field:"optional" json:"cacheTo" yaml:"cacheTo"`
	// The directory containing the Docker image build instructions.
	//
	// This path is relative to the asset manifest location.
	Directory *string `field:"optional" json:"directory" yaml:"directory"`
	// Additional build arguments.
	//
	// Only allowed when `directory` is set.
	DockerBuildArgs *map[string]*string `field:"optional" json:"dockerBuildArgs" yaml:"dockerBuildArgs"`
	// Additional build secrets.
	//
	// Only allowed when `directory` is set.
	DockerBuildSecrets *map[string]*string `field:"optional" json:"dockerBuildSecrets" yaml:"dockerBuildSecrets"`
	// SSH agent socket or keys.
	//
	// Requires building with docker buildkit.
	DockerBuildSsh *string `field:"optional" json:"dockerBuildSsh" yaml:"dockerBuildSsh"`
	// Target build stage in a Dockerfile with multiple build stages.
	//
	// Only allowed when `directory` is set.
	DockerBuildTarget *string `field:"optional" json:"dockerBuildTarget" yaml:"dockerBuildTarget"`
	// The name of the file with build instructions.
	//
	// Only allowed when `directory` is set.
	DockerFile *string `field:"optional" json:"dockerFile" yaml:"dockerFile"`
	// Outputs.
	// See: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs
	//
	DockerOutputs *[]*string `field:"optional" json:"dockerOutputs" yaml:"dockerOutputs"`
	// A command-line executable that returns the name of a local Docker image on stdout after being run.
	Executable *[]*string `field:"optional" json:"executable" yaml:"executable"`
	// Networking mode for the RUN commands during build. _Requires Docker Engine API v1.25+_.
	//
	// Specify this property to build images on a specific networking mode.
	NetworkMode *string `field:"optional" json:"networkMode" yaml:"networkMode"`
	// Platform to build for. _Requires Docker Buildx_.
	//
	// Specify this property to build images on a specific platform/architecture.
	Platform *string `field:"optional" json:"platform" yaml:"platform"`
}

Properties for how to produce a Docker image from a source.

type EndpointServiceAvailabilityZonesContextQuery

type EndpointServiceAvailabilityZonesContextQuery struct {
	// Query account.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	Region *string `field:"required" json:"region" yaml:"region"`
	// Query service name.
	ServiceName *string `field:"required" json:"serviceName" yaml:"serviceName"`
}

Query to endpoint service context provider.

type FileAsset

type FileAsset struct {
	// Destinations for this file asset.
	Destinations *map[string]*FileDestination `field:"required" json:"destinations" yaml:"destinations"`
	// Source description for file assets.
	Source *FileSource `field:"required" json:"source" yaml:"source"`
}

A file asset.

type FileAssetMetadataEntry

type FileAssetMetadataEntry struct {
	// The name of the parameter where the hash of the bundled asset should be passed in.
	ArtifactHashParameter *string `field:"required" json:"artifactHashParameter" yaml:"artifactHashParameter"`
	// Logical identifier for the asset.
	Id *string `field:"required" json:"id" yaml:"id"`
	// Name of parameter where OSS bucket should be passed in.
	OssBucketParameter *string `field:"required" json:"ossBucketParameter" yaml:"ossBucketParameter"`
	// Name of parameter where OSS object key should be passed in.
	OssKeyParameter *string `field:"required" json:"ossKeyParameter" yaml:"ossKeyParameter"`
	// Requested packaging style.
	Packaging *string `field:"required" json:"packaging" yaml:"packaging"`
	// Path on disk to the asset.
	Path *string `field:"required" json:"path" yaml:"path"`
	// The hash of the asset source.
	SourceHash *string `field:"required" json:"sourceHash" yaml:"sourceHash"`
}

Metadata Entry spec for files.

Example:

const entry = {
  packaging: 'file',
  ossBucketParameter: 'bucket-parameter',
  ossKeyParameter: 'key-parameter',
  artifactHashParameter: 'hash-parameter',
}

type FileAssetPackaging

type FileAssetPackaging string

Packaging strategy for file assets.

const (
	// Upload the given path as a file.
	FileAssetPackaging_FILE FileAssetPackaging = "FILE"
	// The given path is a directory, zip it and upload.
	FileAssetPackaging_ZIP_DIRECTORY FileAssetPackaging = "ZIP_DIRECTORY"
)

type FileDestination

type FileDestination struct {
	// The region where this asset will need to be published.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The name of the bucket.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The destination object key.
	ObjectKey *string `field:"required" json:"objectKey" yaml:"objectKey"`
}

Where in OSS bucket a file asset needs to be published.

type FileSource

type FileSource struct {
	// External command which will produce the file asset to upload.
	Executable *[]*string `field:"optional" json:"executable" yaml:"executable"`
	// Packaging method.
	//
	// Only allowed when `path` is specified.
	Packaging FileAssetPackaging `field:"optional" json:"packaging" yaml:"packaging"`
	// The filesystem object to upload.
	//
	// This path is relative to the asset manifest location.
	Path *string `field:"optional" json:"path" yaml:"path"`
}

Describe the source of a file asset.

type HostedZoneContextQuery

type HostedZoneContextQuery struct {
	// Query account.
	Account *string `field:"required" json:"account" yaml:"account"`
	// The domain name e.g. example.com to lookup.
	DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
	// Query region.
	Region *string `field:"required" json:"region" yaml:"region"`
	// True if the zone you want to find is a private hosted zone.
	PrivateZone *bool `field:"optional" json:"privateZone" yaml:"privateZone"`
	// The VPC ID to that the private zone must be associated with.
	//
	// If you provide VPC ID and privateZone is false, this will return no results
	// and raise an error.
	VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"`
}

Query to hosted zone context provider.

type Manifest

type Manifest interface {
}

Protocol utility class.

type MetadataEntry

type MetadataEntry struct {
	// The type of the metadata entry.
	Type *string `field:"required" json:"type" yaml:"type"`
	// The data.
	Data interface{} `field:"optional" json:"data" yaml:"data"`
	// A stack trace for when the entry was created.
	Trace *[]*string `field:"optional" json:"trace" yaml:"trace"`
}

A metadata entry in a cloud assembly artifact.

type MissingContext

type MissingContext struct {
	// The missing context key.
	Key *string `field:"required" json:"key" yaml:"key"`
	// A set of provider-specific options.
	Props interface{} `field:"required" json:"props" yaml:"props"`
	// The provider from which we expect this context key to be obtained.
	Provider ContextProvider `field:"required" json:"provider" yaml:"provider"`
}

Represents a missing piece of context.

type NestedCloudAssemblyProperties

type NestedCloudAssemblyProperties struct {
	// Relative path to the nested cloud assembly.
	DirectoryName *string `field:"required" json:"directoryName" yaml:"directoryName"`
	// Display name for the cloud assembly.
	DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
}

Artifact properties for nested cloud assemblies.

type RuntimeInfo

type RuntimeInfo struct {
	// The list of libraries loaded in the application, associated with their versions.
	Libraries *map[string]*string `field:"required" json:"libraries" yaml:"libraries"`
}

Information about the application's runtime components.

type SSMParameterContextQuery

type SSMParameterContextQuery struct {
	// Query account.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Parameter name to query.
	ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
	// Query region.
	Region *string `field:"required" json:"region" yaml:"region"`
}

Query to SSM Parameter Context Provider.

type Tag

type Tag struct {
	// Tag key.
	Key *string `field:"required" json:"key" yaml:"key"`
	// Tag value.
	Value *string `field:"required" json:"value" yaml:"value"`
}

Metadata Entry spec for stack tag.

type TreeArtifactProperties

type TreeArtifactProperties struct {
	// Filename of the tree artifact.
	File *string `field:"required" json:"file" yaml:"file"`
}

Artifact properties for the Construct Tree Artifact.

type VpcContextQuery

type VpcContextQuery struct {
	// Query account.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Filters to apply to the VPC.
	//
	// Filter parameters are the same as passed to DescribeVpcs.
	Filter *map[string]*string `field:"required" json:"filter" yaml:"filter"`
	// Query region.
	Region *string `field:"required" json:"region" yaml:"region"`
	// Whether to populate the subnetGroups field of the {@link VpcContextResponse}, which contains potentially asymmetric subnet groups.
	ReturnAsymmetricSubnets *bool `field:"optional" json:"returnAsymmetricSubnets" yaml:"returnAsymmetricSubnets"`
	// Optional tag for subnet group name.
	//
	// If not provided, we'll look at the ros-cdk:subnet-name tag.
	// If the subnet does not have the specified tag,
	// we'll use its type as the name.
	SubnetGroupNameTag *string `field:"optional" json:"subnetGroupNameTag" yaml:"subnetGroupNameTag"`
}

Query input for looking up a VPC.

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