Documentation
¶
Index ¶
- func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCluster_IsCfnElement(x interface{}) *bool
- func CfnCluster_IsCfnResource(x interface{}) *bool
- func CfnCluster_IsConstruct(x interface{}) *bool
- func CfnComputeNodeGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnComputeNodeGroup_IsCfnElement(x interface{}) *bool
- func CfnComputeNodeGroup_IsCfnResource(x interface{}) *bool
- func CfnComputeNodeGroup_IsConstruct(x interface{}) *bool
- func CfnQueue_CFN_RESOURCE_TYPE_NAME() *string
- func CfnQueue_IsCfnElement(x interface{}) *bool
- func CfnQueue_IsCfnResource(x interface{}) *bool
- func CfnQueue_IsConstruct(x interface{}) *bool
- func NewCfnCluster_Override(c CfnCluster, scope constructs.Construct, id *string, props *CfnClusterProps)
- func NewCfnComputeNodeGroup_Override(c CfnComputeNodeGroup, scope constructs.Construct, id *string, ...)
- func NewCfnQueue_Override(c CfnQueue, scope constructs.Construct, id *string, props *CfnQueueProps)
- type CfnCluster
- type CfnClusterProps
- type CfnCluster_AuthKeyProperty
- type CfnCluster_EndpointProperty
- type CfnCluster_ErrorInfoProperty
- type CfnCluster_NetworkingProperty
- type CfnCluster_SchedulerProperty
- type CfnCluster_SlurmConfigurationProperty
- type CfnCluster_SlurmCustomSettingProperty
- type CfnComputeNodeGroup
- type CfnComputeNodeGroupProps
- type CfnComputeNodeGroup_CustomLaunchTemplateProperty
- type CfnComputeNodeGroup_ErrorInfoProperty
- type CfnComputeNodeGroup_InstanceConfigProperty
- type CfnComputeNodeGroup_ScalingConfigurationProperty
- type CfnComputeNodeGroup_SlurmConfigurationProperty
- type CfnComputeNodeGroup_SlurmCustomSettingProperty
- type CfnComputeNodeGroup_SpotOptionsProperty
- type CfnQueue
- type CfnQueueProps
- type CfnQueue_ComputeNodeGroupConfigurationProperty
- type CfnQueue_ErrorInfoProperty
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnCluster_CFN_RESOURCE_TYPE_NAME ¶
func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
func CfnCluster_IsCfnElement ¶
func CfnCluster_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation 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 CfnCluster_IsCfnResource ¶
func CfnCluster_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnCluster_IsConstruct ¶
func CfnCluster_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnComputeNodeGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnComputeNodeGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnComputeNodeGroup_IsCfnElement ¶
func CfnComputeNodeGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation 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 CfnComputeNodeGroup_IsCfnResource ¶
func CfnComputeNodeGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnComputeNodeGroup_IsConstruct ¶
func CfnComputeNodeGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnQueue_CFN_RESOURCE_TYPE_NAME ¶
func CfnQueue_CFN_RESOURCE_TYPE_NAME() *string
func CfnQueue_IsCfnElement ¶
func CfnQueue_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation 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 CfnQueue_IsCfnResource ¶
func CfnQueue_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnQueue_IsConstruct ¶
func CfnQueue_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewCfnCluster_Override ¶
func NewCfnCluster_Override(c CfnCluster, scope constructs.Construct, id *string, props *CfnClusterProps)
func NewCfnComputeNodeGroup_Override ¶
func NewCfnComputeNodeGroup_Override(c CfnComputeNodeGroup, scope constructs.Construct, id *string, props *CfnComputeNodeGroupProps)
func NewCfnQueue_Override ¶
func NewCfnQueue_Override(c CfnQueue, scope constructs.Construct, id *string, props *CfnQueueProps)
Types ¶
type CfnCluster ¶
type CfnCluster interface {
awscdk.CfnResource
awscdk.IInspectable
awscdk.ITaggableV2
// The unique Amazon Resource Name (ARN) of the cluster.
AttrArn() *string
// The list of endpoints available for interaction with the scheduler.
AttrEndpoints() awscdk.IResolvable
// The list of errors that occurred during cluster provisioning.
AttrErrorInfo() awscdk.IResolvable
// The generated unique ID of the cluster.
AttrId() *string
// The provisioning status of the cluster.
//
// The provisioning status doesn't indicate the overall health of the cluster.
AttrStatus() *string
// Tag Manager which manages the tags for this resource.
CdkTagManager() awscdk.TagManager
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The logical ID for this CloudFormation 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
// The name that identifies the cluster.
Name() *string
SetName(val *string)
// The networking configuration for the cluster's control plane.
Networking() interface{}
SetNetworking(val interface{})
// The tree node.
Node() constructs.Node
// Return a string that will be resolved to a CloudFormation `{ 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
// The cluster management and job scheduling software associated with the cluster.
Scheduler() interface{}
SetScheduler(val interface{})
// The size of the cluster.
Size() *string
SetSize(val *string)
// Additional options related to the Slurm scheduler.
SlurmConfiguration() interface{}
SetSlurmConfiguration(val interface{})
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// 1 or more tags added to the resource.
Tags() *map[string]*string
SetTags(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// 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{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]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.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation 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.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
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{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.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, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
The `AWS::PCS::Cluster` resource creates an AWS PCS cluster.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnCluster := awscdk.Aws_pcs.NewCfnCluster(this, jsii.String("MyCfnCluster"), &CfnClusterProps{
Networking: &NetworkingProperty{
SecurityGroupIds: []*string{
jsii.String("securityGroupIds"),
},
SubnetIds: []*string{
jsii.String("subnetIds"),
},
},
Scheduler: &SchedulerProperty{
Type: jsii.String("type"),
Version: jsii.String("version"),
},
Size: jsii.String("size"),
// the properties below are optional
Name: jsii.String("name"),
SlurmConfiguration: &SlurmConfigurationProperty{
AuthKey: &AuthKeyProperty{
SecretArn: jsii.String("secretArn"),
SecretVersion: jsii.String("secretVersion"),
},
ScaleDownIdleTimeInSeconds: jsii.Number(123),
SlurmCustomSettings: []interface{}{
&SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
},
},
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
})
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html
func NewCfnCluster ¶
func NewCfnCluster(scope constructs.Construct, id *string, props *CfnClusterProps) CfnCluster
type CfnClusterProps ¶
type CfnClusterProps struct {
// The networking configuration for the cluster's control plane.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-networking
//
Networking interface{} `field:"required" json:"networking" yaml:"networking"`
// The cluster management and job scheduling software associated with the cluster.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-scheduler
//
Scheduler interface{} `field:"required" json:"scheduler" yaml:"scheduler"`
// The size of the cluster.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-size
//
Size *string `field:"required" json:"size" yaml:"size"`
// The name that identifies the cluster.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// Additional options related to the Slurm scheduler.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-slurmconfiguration
//
SlurmConfiguration interface{} `field:"optional" json:"slurmConfiguration" yaml:"slurmConfiguration"`
// 1 or more tags added to the resource.
//
// Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}
Properties for defining a `CfnCluster`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnClusterProps := &CfnClusterProps{
Networking: &NetworkingProperty{
SecurityGroupIds: []*string{
jsii.String("securityGroupIds"),
},
SubnetIds: []*string{
jsii.String("subnetIds"),
},
},
Scheduler: &SchedulerProperty{
Type: jsii.String("type"),
Version: jsii.String("version"),
},
Size: jsii.String("size"),
// the properties below are optional
Name: jsii.String("name"),
SlurmConfiguration: &SlurmConfigurationProperty{
AuthKey: &AuthKeyProperty{
SecretArn: jsii.String("secretArn"),
SecretVersion: jsii.String("secretVersion"),
},
ScaleDownIdleTimeInSeconds: jsii.Number(123),
SlurmCustomSettings: []interface{}{
&SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
},
},
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
}
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html
type CfnCluster_AuthKeyProperty ¶
type CfnCluster_AuthKeyProperty struct {
// The Amazon Resource Name (ARN) of the shared Slurm key.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-authkey.html#cfn-pcs-cluster-authkey-secretarn
//
SecretArn *string `field:"required" json:"secretArn" yaml:"secretArn"`
// The version of the shared Slurm key.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-authkey.html#cfn-pcs-cluster-authkey-secretversion
//
SecretVersion *string `field:"required" json:"secretVersion" yaml:"secretVersion"`
}
The shared Slurm key for authentication, also known as the *cluster secret* .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
authKeyProperty := &AuthKeyProperty{
SecretArn: jsii.String("secretArn"),
SecretVersion: jsii.String("secretVersion"),
}
type CfnCluster_EndpointProperty ¶
type CfnCluster_EndpointProperty struct {
// The endpoint's connection port number.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-port
//
Port *string `field:"required" json:"port" yaml:"port"`
// The endpoint's private IP address.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-privateipaddress
//
PrivateIpAddress *string `field:"required" json:"privateIpAddress" yaml:"privateIpAddress"`
// Indicates the type of endpoint running at the specific IP address.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-type
//
Type *string `field:"required" json:"type" yaml:"type"`
// The endpoint's public IP address.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-publicipaddress
//
PublicIpAddress *string `field:"optional" json:"publicIpAddress" yaml:"publicIpAddress"`
}
An endpoint available for interaction with the scheduler.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
endpointProperty := &EndpointProperty{
Port: jsii.String("port"),
PrivateIpAddress: jsii.String("privateIpAddress"),
Type: jsii.String("type"),
// the properties below are optional
PublicIpAddress: jsii.String("publicIpAddress"),
}
type CfnCluster_ErrorInfoProperty ¶
type CfnCluster_ErrorInfoProperty struct {
// The short-form error code.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-errorinfo.html#cfn-pcs-cluster-errorinfo-code
//
Code *string `field:"optional" json:"code" yaml:"code"`
// The detailed error information.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-errorinfo.html#cfn-pcs-cluster-errorinfo-message
//
Message *string `field:"optional" json:"message" yaml:"message"`
}
An error that occurred during resource provisioning.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
errorInfoProperty := &ErrorInfoProperty{
Code: jsii.String("code"),
Message: jsii.String("message"),
}
type CfnCluster_NetworkingProperty ¶
type CfnCluster_NetworkingProperty struct {
// The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-networking.html#cfn-pcs-cluster-networking-securitygroupids
//
SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"`
// The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources.
//
// The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-networking.html#cfn-pcs-cluster-networking-subnetids
//
SubnetIds *[]*string `field:"optional" json:"subnetIds" yaml:"subnetIds"`
}
TThe networking configuration for the cluster's control plane.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
networkingProperty := &NetworkingProperty{
SecurityGroupIds: []*string{
jsii.String("securityGroupIds"),
},
SubnetIds: []*string{
jsii.String("subnetIds"),
},
}
type CfnCluster_SchedulerProperty ¶
type CfnCluster_SchedulerProperty struct {
// The software AWS PCS uses to manage cluster scaling and job scheduling.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-scheduler.html#cfn-pcs-cluster-scheduler-type
//
Type *string `field:"required" json:"type" yaml:"type"`
// The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-scheduler.html#cfn-pcs-cluster-scheduler-version
//
Version *string `field:"required" json:"version" yaml:"version"`
}
The cluster management and job scheduling software associated with the cluster.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
schedulerProperty := &SchedulerProperty{
Type: jsii.String("type"),
Version: jsii.String("version"),
}
type CfnCluster_SlurmConfigurationProperty ¶
type CfnCluster_SlurmConfigurationProperty struct {
// The shared Slurm key for authentication, also known as the cluster secret.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-authkey
//
AuthKey interface{} `field:"optional" json:"authKey" yaml:"authKey"`
// The time before an idle node is scaled down.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-scaledownidletimeinseconds
//
ScaleDownIdleTimeInSeconds *float64 `field:"optional" json:"scaleDownIdleTimeInSeconds" yaml:"scaleDownIdleTimeInSeconds"`
// Additional Slurm-specific configuration that directly maps to Slurm settings.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-slurmcustomsettings
//
SlurmCustomSettings interface{} `field:"optional" json:"slurmCustomSettings" yaml:"slurmCustomSettings"`
}
Additional options related to the Slurm scheduler.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
slurmConfigurationProperty := &SlurmConfigurationProperty{
AuthKey: &AuthKeyProperty{
SecretArn: jsii.String("secretArn"),
SecretVersion: jsii.String("secretVersion"),
},
ScaleDownIdleTimeInSeconds: jsii.Number(123),
SlurmCustomSettings: []interface{}{
&SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
},
},
}
type CfnCluster_SlurmCustomSettingProperty ¶
type CfnCluster_SlurmCustomSettingProperty struct {
// AWS PCS supports configuration of the following Slurm parameters:.
//
// - For *clusters*
//
// - [`Prolog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1)
// - [`Epilog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1)
// - [`SelectTypeParameters`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters)
// - For *compute node groups*
//
// - [`Weight`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)
// - [`RealMemory`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmcustomsetting.html#cfn-pcs-cluster-slurmcustomsetting-parametername
//
ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
// The values for the configured Slurm settings.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmcustomsetting.html#cfn-pcs-cluster-slurmcustomsetting-parametervalue
//
ParameterValue *string `field:"required" json:"parameterValue" yaml:"parameterValue"`
}
Additional settings that directly map to Slurm settings.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
slurmCustomSettingProperty := &SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
}
type CfnComputeNodeGroup ¶
type CfnComputeNodeGroup interface {
awscdk.CfnResource
awscdk.IInspectable
awscdk.ITaggableV2
// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances.
AmiId() *string
SetAmiId(val *string)
// The unique Amazon Resource Name (ARN) of the compute node group.
AttrArn() *string
// The list of errors that occurred during compute node group provisioning.
AttrErrorInfo() awscdk.IResolvable
// The generated unique ID of the compute node group.
AttrId() *string
// The provisioning status of the compute node group.
//
// The provisioning status doesn't indicate the overall health of the compute node group.
AttrStatus() *string
// Tag Manager which manages the tags for this resource.
CdkTagManager() awscdk.TagManager
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// The ID of the cluster of the compute node group.
ClusterId() *string
SetClusterId(val *string)
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// An Amazon EC2 launch template AWS PCS uses to launch compute nodes.
CustomLaunchTemplate() interface{}
SetCustomLaunchTemplate(val interface{})
// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances.
IamInstanceProfileArn() *string
SetIamInstanceProfileArn(val *string)
// A list of EC2 instance configurations that AWS PCS can provision in the compute node group.
InstanceConfigs() interface{}
SetInstanceConfigs(val interface{})
// The logical ID for this CloudFormation 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
// The name that identifies the compute node group.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// Specifies how EC2 instances are purchased on your behalf.
PurchaseOption() *string
SetPurchaseOption(val *string)
// Return a string that will be resolved to a CloudFormation `{ 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
// Specifies the boundaries of the compute node group auto scaling.
ScalingConfiguration() interface{}
SetScalingConfiguration(val interface{})
// Additional options related to the Slurm scheduler.
SlurmConfiguration() interface{}
SetSlurmConfiguration(val interface{})
// Additional configuration when you specify `SPOT` as the `purchaseOption` .
SpotOptions() interface{}
SetSpotOptions(val interface{})
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// The list of subnet IDs where instances are provisioned by the compute node group.
SubnetIds() *[]*string
SetSubnetIds(val *[]*string)
// 1 or more tags added to the resource.
Tags() *map[string]*string
SetTags(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// 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{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]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.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation 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.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
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{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.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, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
The `AWS::PCS::ComputeNodeGroup` resource creates an AWS PCS compute node group.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnComputeNodeGroup := awscdk.Aws_pcs.NewCfnComputeNodeGroup(this, jsii.String("MyCfnComputeNodeGroup"), &CfnComputeNodeGroupProps{
ClusterId: jsii.String("clusterId"),
CustomLaunchTemplate: &CustomLaunchTemplateProperty{
Id: jsii.String("id"),
Version: jsii.String("version"),
},
IamInstanceProfileArn: jsii.String("iamInstanceProfileArn"),
InstanceConfigs: []interface{}{
&InstanceConfigProperty{
InstanceType: jsii.String("instanceType"),
},
},
ScalingConfiguration: &ScalingConfigurationProperty{
MaxInstanceCount: jsii.Number(123),
MinInstanceCount: jsii.Number(123),
},
SubnetIds: []*string{
jsii.String("subnetIds"),
},
// the properties below are optional
AmiId: jsii.String("amiId"),
Name: jsii.String("name"),
PurchaseOption: jsii.String("purchaseOption"),
SlurmConfiguration: &SlurmConfigurationProperty{
SlurmCustomSettings: []interface{}{
&SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
},
},
},
SpotOptions: &SpotOptionsProperty{
AllocationStrategy: jsii.String("allocationStrategy"),
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
})
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html
func NewCfnComputeNodeGroup ¶
func NewCfnComputeNodeGroup(scope constructs.Construct, id *string, props *CfnComputeNodeGroupProps) CfnComputeNodeGroup
type CfnComputeNodeGroupProps ¶
type CfnComputeNodeGroupProps struct {
// The ID of the cluster of the compute node group.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-clusterid
//
ClusterId *string `field:"required" json:"clusterId" yaml:"clusterId"`
// An Amazon EC2 launch template AWS PCS uses to launch compute nodes.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-customlaunchtemplate
//
CustomLaunchTemplate interface{} `field:"required" json:"customLaunchTemplate" yaml:"customLaunchTemplate"`
// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances.
//
// The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-iaminstanceprofilearn
//
IamInstanceProfileArn *string `field:"required" json:"iamInstanceProfileArn" yaml:"iamInstanceProfileArn"`
// A list of EC2 instance configurations that AWS PCS can provision in the compute node group.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-instanceconfigs
//
InstanceConfigs interface{} `field:"required" json:"instanceConfigs" yaml:"instanceConfigs"`
// Specifies the boundaries of the compute node group auto scaling.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-scalingconfiguration
//
ScalingConfiguration interface{} `field:"required" json:"scalingConfiguration" yaml:"scalingConfiguration"`
// The list of subnet IDs where instances are provisioned by the compute node group.
//
// The subnets must be in the same VPC as the cluster.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-subnetids
//
SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances.
//
// If not provided, AWS PCS uses the AMI ID specified in the custom launch template.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-amiid
//
AmiId *string `field:"optional" json:"amiId" yaml:"amiId"`
// The name that identifies the compute node group.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// Specifies how EC2 instances are purchased on your behalf.
//
// AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-purchaseoption
//
PurchaseOption *string `field:"optional" json:"purchaseOption" yaml:"purchaseOption"`
// Additional options related to the Slurm scheduler.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-slurmconfiguration
//
SlurmConfiguration interface{} `field:"optional" json:"slurmConfiguration" yaml:"slurmConfiguration"`
// Additional configuration when you specify `SPOT` as the `purchaseOption` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-spotoptions
//
SpotOptions interface{} `field:"optional" json:"spotOptions" yaml:"spotOptions"`
// 1 or more tags added to the resource.
//
// Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}
Properties for defining a `CfnComputeNodeGroup`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnComputeNodeGroupProps := &CfnComputeNodeGroupProps{
ClusterId: jsii.String("clusterId"),
CustomLaunchTemplate: &CustomLaunchTemplateProperty{
Id: jsii.String("id"),
Version: jsii.String("version"),
},
IamInstanceProfileArn: jsii.String("iamInstanceProfileArn"),
InstanceConfigs: []interface{}{
&InstanceConfigProperty{
InstanceType: jsii.String("instanceType"),
},
},
ScalingConfiguration: &ScalingConfigurationProperty{
MaxInstanceCount: jsii.Number(123),
MinInstanceCount: jsii.Number(123),
},
SubnetIds: []*string{
jsii.String("subnetIds"),
},
// the properties below are optional
AmiId: jsii.String("amiId"),
Name: jsii.String("name"),
PurchaseOption: jsii.String("purchaseOption"),
SlurmConfiguration: &SlurmConfigurationProperty{
SlurmCustomSettings: []interface{}{
&SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
},
},
},
SpotOptions: &SpotOptionsProperty{
AllocationStrategy: jsii.String("allocationStrategy"),
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
}
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html
type CfnComputeNodeGroup_CustomLaunchTemplateProperty ¶
type CfnComputeNodeGroup_CustomLaunchTemplateProperty struct {
// The ID of the EC2 launch template to use to provision instances.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-customlaunchtemplate.html#cfn-pcs-computenodegroup-customlaunchtemplate-id
//
Id *string `field:"required" json:"id" yaml:"id"`
// The version of the EC2 launch template to use to provision instances.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-customlaunchtemplate.html#cfn-pcs-computenodegroup-customlaunchtemplate-version
//
Version *string `field:"required" json:"version" yaml:"version"`
}
An Amazon EC2 launch template AWS PCS uses to launch compute nodes.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
customLaunchTemplateProperty := &CustomLaunchTemplateProperty{
Id: jsii.String("id"),
Version: jsii.String("version"),
}
type CfnComputeNodeGroup_ErrorInfoProperty ¶
type CfnComputeNodeGroup_ErrorInfoProperty struct {
// The short-form error code.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-errorinfo.html#cfn-pcs-computenodegroup-errorinfo-code
//
Code *string `field:"optional" json:"code" yaml:"code"`
// The detailed error information.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-errorinfo.html#cfn-pcs-computenodegroup-errorinfo-message
//
Message *string `field:"optional" json:"message" yaml:"message"`
}
The list of errors that occurred during compute node group provisioning.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
errorInfoProperty := &ErrorInfoProperty{
Code: jsii.String("code"),
Message: jsii.String("message"),
}
type CfnComputeNodeGroup_InstanceConfigProperty ¶
type CfnComputeNodeGroup_InstanceConfigProperty struct {
// The EC2 instance type that AWS PCS can provision in the compute node group.
//
// Example: `t2.xlarge`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-instanceconfig.html#cfn-pcs-computenodegroup-instanceconfig-instancetype
//
InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
}
An EC2 instance configuration AWS PCS uses to launch compute nodes.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
instanceConfigProperty := &InstanceConfigProperty{
InstanceType: jsii.String("instanceType"),
}
type CfnComputeNodeGroup_ScalingConfigurationProperty ¶
type CfnComputeNodeGroup_ScalingConfigurationProperty struct {
// The upper bound of the number of instances allowed in the compute fleet.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-scalingconfiguration.html#cfn-pcs-computenodegroup-scalingconfiguration-maxinstancecount
//
MaxInstanceCount *float64 `field:"required" json:"maxInstanceCount" yaml:"maxInstanceCount"`
// The lower bound of the number of instances allowed in the compute fleet.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-scalingconfiguration.html#cfn-pcs-computenodegroup-scalingconfiguration-mininstancecount
//
MinInstanceCount *float64 `field:"required" json:"minInstanceCount" yaml:"minInstanceCount"`
}
Specifies the boundaries of the compute node group auto scaling.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
scalingConfigurationProperty := &ScalingConfigurationProperty{
MaxInstanceCount: jsii.Number(123),
MinInstanceCount: jsii.Number(123),
}
type CfnComputeNodeGroup_SlurmConfigurationProperty ¶
type CfnComputeNodeGroup_SlurmConfigurationProperty struct {
// Additional Slurm-specific configuration that directly maps to Slurm settings.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmconfiguration.html#cfn-pcs-computenodegroup-slurmconfiguration-slurmcustomsettings
//
SlurmCustomSettings interface{} `field:"optional" json:"slurmCustomSettings" yaml:"slurmCustomSettings"`
}
Additional options related to the Slurm scheduler.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
slurmConfigurationProperty := &SlurmConfigurationProperty{
SlurmCustomSettings: []interface{}{
&SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
},
},
}
type CfnComputeNodeGroup_SlurmCustomSettingProperty ¶
type CfnComputeNodeGroup_SlurmCustomSettingProperty struct {
// AWS PCS supports configuration of the following Slurm parameters:.
//
// - For *clusters*
//
// - [`Prolog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1)
// - [`Epilog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1)
// - [`SelectTypeParameters`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters)
// - For *compute node groups*
//
// - [`Weight`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)
// - [`RealMemory`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmcustomsetting.html#cfn-pcs-computenodegroup-slurmcustomsetting-parametername
//
ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
// The values for the configured Slurm settings.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmcustomsetting.html#cfn-pcs-computenodegroup-slurmcustomsetting-parametervalue
//
ParameterValue *string `field:"required" json:"parameterValue" yaml:"parameterValue"`
}
Additional settings that directly map to Slurm settings.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
slurmCustomSettingProperty := &SlurmCustomSettingProperty{
ParameterName: jsii.String("parameterName"),
ParameterValue: jsii.String("parameterValue"),
}
type CfnComputeNodeGroup_SpotOptionsProperty ¶
type CfnComputeNodeGroup_SpotOptionsProperty struct {
// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances.
//
// AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-spotoptions.html#cfn-pcs-computenodegroup-spotoptions-allocationstrategy
//
AllocationStrategy *string `field:"optional" json:"allocationStrategy" yaml:"allocationStrategy"`
}
Additional configuration when you specify `SPOT` as the `purchaseOption` .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
spotOptionsProperty := &SpotOptionsProperty{
AllocationStrategy: jsii.String("allocationStrategy"),
}
type CfnQueue ¶
type CfnQueue interface {
awscdk.CfnResource
awscdk.IInspectable
awscdk.ITaggableV2
// The unique Amazon Resource Name (ARN) of the queue.
AttrArn() *string
// The list of errors that occurred during queue provisioning.
AttrErrorInfo() awscdk.IResolvable
// The generated unique ID of the queue.
AttrId() *string
// The provisioning status of the queue.
//
// The provisioning status doesn't indicate the overall health of the queue.
AttrStatus() *string
// Tag Manager which manages the tags for this resource.
CdkTagManager() awscdk.TagManager
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// The ID of the cluster of the queue.
ClusterId() *string
SetClusterId(val *string)
// The list of compute node group configurations associated with the queue.
ComputeNodeGroupConfigurations() interface{}
SetComputeNodeGroupConfigurations(val interface{})
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The logical ID for this CloudFormation 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
// The name that identifies the queue.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// Return a string that will be resolved to a CloudFormation `{ 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
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// 1 or more tags added to the resource.
Tags() *map[string]*string
SetTags(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// 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{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]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.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation 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.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
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{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.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, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
The `AWS::PCS::Queue` resource creates an AWS PCS queue.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnQueue := awscdk.Aws_pcs.NewCfnQueue(this, jsii.String("MyCfnQueue"), &CfnQueueProps{
ClusterId: jsii.String("clusterId"),
// the properties below are optional
ComputeNodeGroupConfigurations: []interface{}{
&ComputeNodeGroupConfigurationProperty{
ComputeNodeGroupId: jsii.String("computeNodeGroupId"),
},
},
Name: jsii.String("name"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
})
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html
func NewCfnQueue ¶
func NewCfnQueue(scope constructs.Construct, id *string, props *CfnQueueProps) CfnQueue
type CfnQueueProps ¶
type CfnQueueProps struct {
// The ID of the cluster of the queue.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-clusterid
//
ClusterId *string `field:"required" json:"clusterId" yaml:"clusterId"`
// The list of compute node group configurations associated with the queue.
//
// Queues assign jobs to associated compute node groups.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-computenodegroupconfigurations
//
ComputeNodeGroupConfigurations interface{} `field:"optional" json:"computeNodeGroupConfigurations" yaml:"computeNodeGroupConfigurations"`
// The name that identifies the queue.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// 1 or more tags added to the resource.
//
// Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}
Properties for defining a `CfnQueue`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnQueueProps := &CfnQueueProps{
ClusterId: jsii.String("clusterId"),
// the properties below are optional
ComputeNodeGroupConfigurations: []interface{}{
&ComputeNodeGroupConfigurationProperty{
ComputeNodeGroupId: jsii.String("computeNodeGroupId"),
},
},
Name: jsii.String("name"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
}
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html
type CfnQueue_ComputeNodeGroupConfigurationProperty ¶
type CfnQueue_ComputeNodeGroupConfigurationProperty struct {
// The compute node group ID for the compute node group configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-computenodegroupconfiguration.html#cfn-pcs-queue-computenodegroupconfiguration-computenodegroupid
//
ComputeNodeGroupId *string `field:"optional" json:"computeNodeGroupId" yaml:"computeNodeGroupId"`
}
The compute node group configuration for a queue.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
computeNodeGroupConfigurationProperty := &ComputeNodeGroupConfigurationProperty{
ComputeNodeGroupId: jsii.String("computeNodeGroupId"),
}
type CfnQueue_ErrorInfoProperty ¶
type CfnQueue_ErrorInfoProperty struct {
// The short-form error code.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-errorinfo.html#cfn-pcs-queue-errorinfo-code
//
Code *string `field:"optional" json:"code" yaml:"code"`
// TBDThe detailed error information.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-errorinfo.html#cfn-pcs-queue-errorinfo-message
//
Message *string `field:"optional" json:"message" yaml:"message"`
}
An error that occurred during resource provisioning.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
errorInfoProperty := &ErrorInfoProperty{
Code: jsii.String("code"),
Message: jsii.String("message"),
}
Source Files
¶
- CfnCluster.go
- CfnClusterProps.go
- CfnCluster_AuthKeyProperty.go
- CfnCluster_EndpointProperty.go
- CfnCluster_ErrorInfoProperty.go
- CfnCluster_NetworkingProperty.go
- CfnCluster_SchedulerProperty.go
- CfnCluster_SlurmConfigurationProperty.go
- CfnCluster_SlurmCustomSettingProperty.go
- CfnCluster__checks.go
- CfnComputeNodeGroup.go
- CfnComputeNodeGroupProps.go
- CfnComputeNodeGroup_CustomLaunchTemplateProperty.go
- CfnComputeNodeGroup_ErrorInfoProperty.go
- CfnComputeNodeGroup_InstanceConfigProperty.go
- CfnComputeNodeGroup_ScalingConfigurationProperty.go
- CfnComputeNodeGroup_SlurmConfigurationProperty.go
- CfnComputeNodeGroup_SlurmCustomSettingProperty.go
- CfnComputeNodeGroup_SpotOptionsProperty.go
- CfnComputeNodeGroup__checks.go
- CfnQueue.go
- CfnQueueProps.go
- CfnQueue_ComputeNodeGroupConfigurationProperty.go
- CfnQueue_ErrorInfoProperty.go
- CfnQueue__checks.go
- main.go