multiple-languages/dotnet/AlibabaCloud.SDK.ROS.CDK.Ehpc/AlibabaCloud/SDK/ROS/CDK/Ehpc/RosClusterV2.cs (4,367 lines of code) (raw):
using Amazon.JSII.Runtime.Deputy;
#pragma warning disable CS0672,CS0809,CS1591
namespace AlibabaCloud.SDK.ROS.CDK.Ehpc
{
/// <summary>This class is a base encapsulation around the ROS resource type `ALIYUN::EHPC::ClusterV2`.</summary>
/// <remarks>
/// <strong>Note</strong>: This class does not contain additional functions, so it is recommended to use the `ClusterV2` class instead of this class for a more convenient development experience.
/// See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ehpc-clusterv2
/// </remarks>
[JsiiClass(nativeType: typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2", parametersJson: "[{\"docs\":{\"summary\":\"- scope in which this resource is defined.\"},\"name\":\"scope\",\"type\":{\"fqn\":\"@alicloud/ros-cdk-core.Construct\"}},{\"docs\":{\"summary\":\"- scoped id of the resource.\"},\"name\":\"id\",\"type\":{\"primitive\":\"string\"}},{\"docs\":{\"summary\":\"- resource properties.\"},\"name\":\"props\",\"type\":{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2Props\"}},{\"name\":\"enableResourcePropertyConstraint\",\"type\":{\"primitive\":\"boolean\"}}]")]
public class RosClusterV2 : AlibabaCloud.SDK.ROS.CDK.Core.RosResource
{
/// <param name="scope">- scope in which this resource is defined.</param>
/// <param name="id">- scoped id of the resource.</param>
/// <param name="props">- resource properties.</param>
public RosClusterV2(AlibabaCloud.SDK.ROS.CDK.Core.Construct scope, string id, AlibabaCloud.SDK.ROS.CDK.Ehpc.IRosClusterV2Props props, bool enableResourcePropertyConstraint): base(_MakeDeputyProps(scope, id, props, enableResourcePropertyConstraint))
{
}
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
private static DeputyProps _MakeDeputyProps(AlibabaCloud.SDK.ROS.CDK.Core.Construct scope, string id, AlibabaCloud.SDK.ROS.CDK.Ehpc.IRosClusterV2Props props, bool enableResourcePropertyConstraint)
{
return new DeputyProps(new object?[]{scope, id, props, enableResourcePropertyConstraint});
}
/// <summary>Used by jsii to construct an instance of this class from a Javascript-owned object reference</summary>
/// <param name="reference">The Javascript-owned object reference</param>
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
protected RosClusterV2(ByRefValue reference): base(reference)
{
}
/// <summary>Used by jsii to construct an instance of this class from DeputyProps</summary>
/// <param name="props">The deputy props</param>
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
protected RosClusterV2(DeputyProps props): base(props)
{
}
[JsiiMethod(name: "renderProperties", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}", parametersJson: "[{\"name\":\"props\",\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}]")]
protected override System.Collections.Generic.IDictionary<string, object> RenderProperties(System.Collections.Generic.IDictionary<string, object> props)
{
return InvokeInstanceMethod<System.Collections.Generic.IDictionary<string, object>>(new System.Type[]{typeof(System.Collections.Generic.IDictionary<string, object>)}, new object[]{props})!;
}
/// <summary>The resource type name for this resource class.</summary>
[JsiiProperty(name: "ROS_RESOURCE_TYPE_NAME", typeJson: "{\"primitive\":\"string\"}")]
public static string ROS_RESOURCE_TYPE_NAME
{
get;
}
= GetStaticProperty<string>(typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2))!;
/// <remarks>
/// <strong>Attribute</strong>: ClusterId: Cluster Id.
/// </remarks>
[JsiiProperty(name: "attrClusterId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")]
public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrClusterId
{
get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!;
}
[JsiiProperty(name: "rosProperties", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}")]
protected override System.Collections.Generic.IDictionary<string, object> RosProperties
{
get => GetInstanceProperty<System.Collections.Generic.IDictionary<string, object>>()!;
}
/// <remarks>
/// <strong>Property</strong>: clusterName: Cluster name. The length is from 2 to 128 characters, and it supports English, Chinese and numbers. You can include a dash (-) and an underscore (_).
/// </remarks>
[JsiiProperty(name: "clusterName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public virtual object ClusterName
{
get => GetInstanceProperty<object>()!;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
[JsiiProperty(name: "enableResourcePropertyConstraint", typeJson: "{\"primitive\":\"boolean\"}")]
public virtual bool EnableResourcePropertyConstraint
{
get => GetInstanceProperty<bool>()!;
set => SetInstanceProperty(value);
}
/// <remarks>
/// <strong>Property</strong>: sharedStorages: The list of shared storage configurations.
/// </remarks>
[JsiiProperty(name: "sharedStorages", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SharedStoragesProperty\"}]}},\"kind\":\"array\"}}]}}")]
public virtual object SharedStorages
{
get => GetInstanceProperty<object>()!;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISharedStoragesProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISharedStoragesProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISharedStoragesProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: vpcId: The ID of the VPC used by the cluster.
/// </remarks>
[JsiiProperty(name: "vpcId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public virtual object VpcId
{
get => GetInstanceProperty<object>()!;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: vSwitchId: The ID of the VSwitch used by the cluster
/// </remarks>
[JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public virtual object VSwitchId
{
get => GetInstanceProperty<object>()!;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: additionalPackages: A list of software to install on the cluster. Range from 0 to 10.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "additionalPackages", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.AdditionalPackagesProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public virtual object? AdditionalPackages
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAdditionalPackagesProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAdditionalPackagesProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAdditionalPackagesProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: addons: Cluster custom service component configuration to support only one component.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "addons", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.AddonsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public virtual object? Addons
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAddonsProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAddonsProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAddonsProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: clientVersion: Cluster client version. By default, the latest version is used.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "clientVersion", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? ClientVersion
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: clusterCategory: Cluster series. Valid values:
/// - Standard: The standard version.
/// - Serverless: Hosted version
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "clusterCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? ClusterCategory
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: clusterCredentials: Security credentials for the cluster.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "clusterCredentials", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCredentialsProperty\"}]}}", isOptional: true)]
public virtual object? ClusterCredentials
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCredentialsProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCredentialsProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: clusterCustomConfiguration: Cluster post-processing scripts.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "clusterCustomConfiguration", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCustomConfigurationProperty\"}]}}", isOptional: true)]
public virtual object? ClusterCustomConfiguration
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCustomConfigurationProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCustomConfigurationProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: clusterDescription: Cluster description. The length is from 2 to 128 characters, and it supports English, Chinese and numbers. You can include a dash (-) and an underscore (_).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "clusterDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? ClusterDescription
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: clusterMode: Cluster deployment type. Valid values:
/// - Integrated: Public cloud clustering.
/// - Hybrid: Hybrid cloud cluster.
/// - Custom: The cluster is customized
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "clusterMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? ClusterMode
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: deletionProtection: The cluster deletion protection property, which specifies whether cluster deletion via the console or the DeleteCluster API is supported.
/// - true: Cluster deletion protection is enabled.
/// - false: This turns off cluster deletion protection.
/// Default value: false
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "deletionProtection", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? DeletionProtection
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: isEnterpriseSecurityGroup: Whether to create an enterprise security group. Valid values:
/// - true: Enterprise security groups are automatically created and used.
/// - false: Normal security groups are automatically created and used instead of enterprise security groups.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "isEnterpriseSecurityGroup", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? IsEnterpriseSecurityGroup
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: manager: The cluster manages node configuration.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "manager", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerProperty\"}]}}", isOptional: true)]
public virtual object? Manager
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: maxCoreCount: Total number of cores that the cluster can manage on compute nodes, ranging from 0 to 100,000.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "maxCoreCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? MaxCoreCount
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: maxCount: Number of compute nodes that can be managed by the cluster, ranging from 0 to 5,000.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "maxCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? MaxCount
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: queues: Cluster queue configuration. The number of queues is supported from 0 to 8.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "queues", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.QueuesProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public virtual object? Queues
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IQueuesProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IQueuesProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IQueuesProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: resourceGroupId: The ID of the resource group.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? ResourceGroupId
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: securityGroupId: Specifies the security group ID to which the newly created cluster belongs.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public virtual object? SecurityGroupId
{
get => GetInstanceProperty<object?>();
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
SetInstanceProperty(value);
}
}
/// <remarks>
/// <strong>Property</strong>: tags: Tags to attach to cluster_v2. Max support 20 tags to add during create cluster_v2. Each tag with two properties Key and Value, and Key is required.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "tags", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.TagsProperty\"},\"kind\":\"array\"}}", isOptional: true)]
public virtual AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ITagsProperty[]? Tags
{
get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ITagsProperty[]?>();
set => SetInstanceProperty(value);
}
[JsiiInterface(nativeType: typeof(IAdditionalPackagesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.AdditionalPackagesProperty")]
public interface IAdditionalPackagesProperty
{
/// <remarks>
/// <strong>Property</strong>: name: The name of the software package.
/// </remarks>
[JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Name
{
get;
}
/// <remarks>
/// <strong>Property</strong>: version: The version of the software package.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Version
{
get;
}
[JsiiTypeProxy(nativeType: typeof(IAdditionalPackagesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.AdditionalPackagesProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAdditionalPackagesProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: name: The name of the software package.
/// </remarks>
[JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Name
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: version: The version of the software package.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Version
{
get => GetInstanceProperty<object>()!;
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.AdditionalPackagesProperty")]
public class AdditionalPackagesProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAdditionalPackagesProperty
{
private object _name;
/// <remarks>
/// <strong>Property</strong>: name: The name of the software package.
/// </remarks>
[JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Name
{
get => _name;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_name = value;
}
}
private object _version;
/// <remarks>
/// <strong>Property</strong>: version: The version of the software package.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Version
{
get => _version;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_version = value;
}
}
}
[JsiiInterface(nativeType: typeof(IAddonsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.AddonsProperty")]
public interface IAddonsProperty
{
/// <remarks>
/// <strong>Property</strong>: name: The name of the custom service component.
/// </remarks>
[JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Name
{
get;
}
/// <remarks>
/// <strong>Property</strong>: version: The version of the custom service component.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Version
{
get;
}
/// <remarks>
/// <strong>Property</strong>: resourcesSpec: The resource configuration of the custom service component.
/// </remarks>
[JsiiProperty(name: "resourcesSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? ResourcesSpec
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: servicesSpec: The configuration of the custom service component.
/// </remarks>
[JsiiProperty(name: "servicesSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? ServicesSpec
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IAddonsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.AddonsProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAddonsProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: name: The name of the custom service component.
/// </remarks>
[JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Name
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: version: The version of the custom service component.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Version
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: resourcesSpec: The resource configuration of the custom service component.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "resourcesSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? ResourcesSpec
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: servicesSpec: The configuration of the custom service component.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "servicesSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? ServicesSpec
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.AddonsProperty")]
public class AddonsProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IAddonsProperty
{
private object _name;
/// <remarks>
/// <strong>Property</strong>: name: The name of the custom service component.
/// </remarks>
[JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Name
{
get => _name;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_name = value;
}
}
private object _version;
/// <remarks>
/// <strong>Property</strong>: version: The version of the custom service component.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Version
{
get => _version;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_version = value;
}
}
private object? _resourcesSpec;
/// <remarks>
/// <strong>Property</strong>: resourcesSpec: The resource configuration of the custom service component.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "resourcesSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? ResourcesSpec
{
get => _resourcesSpec;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_resourcesSpec = value;
}
}
private object? _servicesSpec;
/// <remarks>
/// <strong>Property</strong>: servicesSpec: The configuration of the custom service component.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "servicesSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? ServicesSpec
{
get => _servicesSpec;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_servicesSpec = value;
}
}
}
[JsiiInterface(nativeType: typeof(IClusterCredentialsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCredentialsProperty")]
public interface IClusterCredentialsProperty
{
/// <remarks>
/// <strong>Property</strong>: keyPairName: Key pair name. The length is 2~128 English or Chinese characters. Must begin with a lowercase letter or Chinese, not http:\/\/ or https:\/\/. You can include a number, a semi-colon (:), an underscore (_), or a dash (-).
/// </remarks>
[JsiiProperty(name: "keyPairName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? KeyPairName
{
get
{
return null;
}
}
/// <remarks>
/// <strong></strong>: # $% ^ & * - = + {} [] :; '< >,.? \/
///
/// <strong>Property</strong>: password: The root password of the login node. The length is 8 to 20 characters and must contain all three types of characters: uppercase and lowercase letters, numbers and special symbols. Special symbols can be: () ~!
/// </remarks>
[JsiiProperty(name: "password", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Password
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IClusterCredentialsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCredentialsProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCredentialsProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: keyPairName: Key pair name. The length is 2~128 English or Chinese characters. Must begin with a lowercase letter or Chinese, not http:\/\/ or https:\/\/. You can include a number, a semi-colon (:), an underscore (_), or a dash (-).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "keyPairName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? KeyPairName
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong></strong>: # $% ^ & * - = + {} [] :; '< >,.? \/
///
/// <strong>Property</strong>: password: The root password of the login node. The length is 8 to 20 characters and must contain all three types of characters: uppercase and lowercase letters, numbers and special symbols. Special symbols can be: () ~!
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "password", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Password
{
get => GetInstanceProperty<object?>();
}
}
}
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCredentialsProperty")]
public class ClusterCredentialsProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCredentialsProperty
{
private object? _keyPairName;
/// <remarks>
/// <strong>Property</strong>: keyPairName: Key pair name. The length is 2~128 English or Chinese characters. Must begin with a lowercase letter or Chinese, not http:\/\/ or https:\/\/. You can include a number, a semi-colon (:), an underscore (_), or a dash (-).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "keyPairName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? KeyPairName
{
get => _keyPairName;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_keyPairName = value;
}
}
private object? _password;
/// <remarks>
/// <strong></strong>: # $% ^ & * - = + {} [] :; '< >,.? \/
///
/// <strong>Property</strong>: password: The root password of the login node. The length is 8 to 20 characters and must contain all three types of characters: uppercase and lowercase letters, numbers and special symbols. Special symbols can be: () ~!
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "password", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Password
{
get => _password;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_password = value;
}
}
}
[JsiiInterface(nativeType: typeof(IClusterCustomConfigurationProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCustomConfigurationProperty")]
public interface IClusterCustomConfigurationProperty
{
/// <remarks>
/// <strong>Property</strong>: args: Execution parameters for the script after installation.
/// </remarks>
[JsiiProperty(name: "args", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Args
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: script: Where to download the post-processing script.
/// </remarks>
[JsiiProperty(name: "script", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Script
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IClusterCustomConfigurationProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCustomConfigurationProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCustomConfigurationProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: args: Execution parameters for the script after installation.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "args", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Args
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: script: Where to download the post-processing script.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "script", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Script
{
get => GetInstanceProperty<object?>();
}
}
}
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ClusterCustomConfigurationProperty")]
public class ClusterCustomConfigurationProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IClusterCustomConfigurationProperty
{
private object? _args;
/// <remarks>
/// <strong>Property</strong>: args: Execution parameters for the script after installation.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "args", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Args
{
get => _args;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_args = value;
}
}
private object? _script;
/// <remarks>
/// <strong>Property</strong>: script: Where to download the post-processing script.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "script", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Script
{
get => _script;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_script = value;
}
}
}
[JsiiInterface(nativeType: typeof(IComputeNodesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ComputeNodesProperty")]
public interface IComputeNodesProperty
{
/// <remarks>
/// <strong>Property</strong>: imageId: ECS image ID.
/// </remarks>
[JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object ImageId
{
get;
}
/// <remarks>
/// <strong>Property</strong>: instanceType: ECS instance type.
/// </remarks>
[JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object InstanceType
{
get;
}
/// <remarks>
/// <strong>Property</strong>: systemDisk: Node system disk configuration details.
/// </remarks>
[JsiiProperty(name: "systemDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SystemDiskProperty\"}]}}")]
object SystemDisk
{
get;
}
/// <remarks>
/// <strong>Property</strong>: dataDisks: Data disk information collection list.
/// </remarks>
[JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? DataDisks
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: duration: Retention time, in hours, for a preemptive instance. Default value: 1. Valid values:
/// - 1: Aliyun will ensure that the instance will run for 1 hour after creation and will not be released automatically; After more than one hour, the system automatically compares the bid with the market price and checks the resource inventory to decide whether to hold or reclaim the instance.
/// - 0: After the creation, Aliyun does not guarantee that the instance will run for 1 hour. The system will automatically compare the bid price with the market price and check the resource inventory to determine the holding and recycling of the instance.
/// Aliyun will send you a notification through ECS system event 5 minutes before instance collection. Preemptive instances are charged per second, and it is recommended that you choose the appropriate retention time based on the specific task execution time.
/// </remarks>
[JsiiProperty(name: "duration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Duration
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: enableHt: Whether to enable the hyper-threading feature. Valid values:
/// - true: Enable the hyper-threading feature.
/// - false: Disable the hyper-threading feature.
/// </remarks>
[JsiiProperty(name: "enableHt", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? EnableHt
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: spotPriceLimit: Sets the maximum hourly price for the instance. Up to three decimal places are supported, and the parameter SpotStrategy takes effect with a value of SpotWithPriceLimit.
/// </remarks>
[JsiiProperty(name: "spotPriceLimit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? SpotPriceLimit
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: spotStrategy: The bidding strategy for pay-as-you-go instances. Applies when the parameter InstanceChargeType is PostPaid. Valid values:
/// - NoSpot: Normal pay-as-you-go instance
/// - SpotWithPriceLimit: A preemptive instance of setting a cap price.
/// - SpotAsPriceGo: The system automatically bids, following the current market actual price.
/// Default value: NoSpot
/// </remarks>
[JsiiProperty(name: "spotStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? SpotStrategy
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IComputeNodesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ComputeNodesProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IComputeNodesProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: imageId: ECS image ID.
/// </remarks>
[JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object ImageId
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: instanceType: ECS instance type.
/// </remarks>
[JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object InstanceType
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: systemDisk: Node system disk configuration details.
/// </remarks>
[JsiiProperty(name: "systemDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SystemDiskProperty\"}]}}")]
public object SystemDisk
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: dataDisks: Data disk information collection list.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? DataDisks
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: duration: Retention time, in hours, for a preemptive instance. Default value: 1. Valid values:
/// - 1: Aliyun will ensure that the instance will run for 1 hour after creation and will not be released automatically; After more than one hour, the system automatically compares the bid with the market price and checks the resource inventory to decide whether to hold or reclaim the instance.
/// - 0: After the creation, Aliyun does not guarantee that the instance will run for 1 hour. The system will automatically compare the bid price with the market price and check the resource inventory to determine the holding and recycling of the instance.
/// Aliyun will send you a notification through ECS system event 5 minutes before instance collection. Preemptive instances are charged per second, and it is recommended that you choose the appropriate retention time based on the specific task execution time.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "duration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Duration
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: enableHt: Whether to enable the hyper-threading feature. Valid values:
/// - true: Enable the hyper-threading feature.
/// - false: Disable the hyper-threading feature.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableHt", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableHt
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: spotPriceLimit: Sets the maximum hourly price for the instance. Up to three decimal places are supported, and the parameter SpotStrategy takes effect with a value of SpotWithPriceLimit.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "spotPriceLimit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? SpotPriceLimit
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: spotStrategy: The bidding strategy for pay-as-you-go instances. Applies when the parameter InstanceChargeType is PostPaid. Valid values:
/// - NoSpot: Normal pay-as-you-go instance
/// - SpotWithPriceLimit: A preemptive instance of setting a cap price.
/// - SpotAsPriceGo: The system automatically bids, following the current market actual price.
/// Default value: NoSpot
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "spotStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? SpotStrategy
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ComputeNodesProperty")]
public class ComputeNodesProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IComputeNodesProperty
{
private object _imageId;
/// <remarks>
/// <strong>Property</strong>: imageId: ECS image ID.
/// </remarks>
[JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object ImageId
{
get => _imageId;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_imageId = value;
}
}
private object _instanceType;
/// <remarks>
/// <strong>Property</strong>: instanceType: ECS instance type.
/// </remarks>
[JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object InstanceType
{
get => _instanceType;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_instanceType = value;
}
}
private object _systemDisk;
/// <remarks>
/// <strong>Property</strong>: systemDisk: Node system disk configuration details.
/// </remarks>
[JsiiProperty(name: "systemDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SystemDiskProperty\"}]}}")]
public object SystemDisk
{
get => _systemDisk;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISystemDiskProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISystemDiskProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISystemDiskProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_systemDisk = value;
}
}
private object? _dataDisks;
/// <remarks>
/// <strong>Property</strong>: dataDisks: Data disk information collection list.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? DataDisks
{
get => _dataDisks;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDataDisksProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDataDisksProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDataDisksProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
_dataDisks = value;
}
}
private object? _duration;
/// <remarks>
/// <strong>Property</strong>: duration: Retention time, in hours, for a preemptive instance. Default value: 1. Valid values:
/// - 1: Aliyun will ensure that the instance will run for 1 hour after creation and will not be released automatically; After more than one hour, the system automatically compares the bid with the market price and checks the resource inventory to decide whether to hold or reclaim the instance.
/// - 0: After the creation, Aliyun does not guarantee that the instance will run for 1 hour. The system will automatically compare the bid price with the market price and check the resource inventory to determine the holding and recycling of the instance.
/// Aliyun will send you a notification through ECS system event 5 minutes before instance collection. Preemptive instances are charged per second, and it is recommended that you choose the appropriate retention time based on the specific task execution time.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "duration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Duration
{
get => _duration;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_duration = value;
}
}
private object? _enableHt;
/// <remarks>
/// <strong>Property</strong>: enableHt: Whether to enable the hyper-threading feature. Valid values:
/// - true: Enable the hyper-threading feature.
/// - false: Disable the hyper-threading feature.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableHt", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableHt
{
get => _enableHt;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_enableHt = value;
}
}
private object? _spotPriceLimit;
/// <remarks>
/// <strong>Property</strong>: spotPriceLimit: Sets the maximum hourly price for the instance. Up to three decimal places are supported, and the parameter SpotStrategy takes effect with a value of SpotWithPriceLimit.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "spotPriceLimit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? SpotPriceLimit
{
get => _spotPriceLimit;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_spotPriceLimit = value;
}
}
private object? _spotStrategy;
/// <remarks>
/// <strong>Property</strong>: spotStrategy: The bidding strategy for pay-as-you-go instances. Applies when the parameter InstanceChargeType is PostPaid. Valid values:
/// - NoSpot: Normal pay-as-you-go instance
/// - SpotWithPriceLimit: A preemptive instance of setting a cap price.
/// - SpotAsPriceGo: The system automatically bids, following the current market actual price.
/// Default value: NoSpot
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "spotStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? SpotStrategy
{
get => _spotStrategy;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_spotStrategy = value;
}
}
}
[JsiiInterface(nativeType: typeof(IDNSProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.DNSProperty")]
public interface IDNSProperty
{
/// <remarks>
/// <strong>Property</strong>: type: DNS type.
/// </remarks>
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Type
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: version: DNS version.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Version
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IDNSProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.DNSProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDNSProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: type: DNS type.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Type
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: version: DNS version.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Version
{
get => GetInstanceProperty<object?>();
}
}
}
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.DNSProperty")]
public class DNSProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDNSProperty
{
private object? _type;
/// <remarks>
/// <strong>Property</strong>: type: DNS type.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Type
{
get => _type;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_type = value;
}
}
private object? _version;
/// <remarks>
/// <strong>Property</strong>: version: DNS version.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Version
{
get => _version;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_version = value;
}
}
}
[JsiiInterface(nativeType: typeof(IDataDisksProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.DataDisksProperty")]
public interface IDataDisksProperty
{
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Category
{
get;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the data disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768.
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Size
{
get;
}
/// <remarks>
/// <strong>Property</strong>: deleteWithInstance: Specifies whether to release the data disk when the instance is released. Valid values:
/// - true (default): The data disk is released when the instance is released. - false: The data disk is retained when the instance is released.
/// </remarks>
[JsiiProperty(name: "deleteWithInstance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? DeleteWithInstance
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as data disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Level
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: mountDir: The mount directory of the data disk. The value must start with a forward slash (\/).
/// </remarks>
[JsiiProperty(name: "mountDir", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MountDir
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IDataDisksProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.DataDisksProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDataDisksProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the data disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768.
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: deleteWithInstance: Specifies whether to release the data disk when the instance is released. Valid values:
/// - true (default): The data disk is released when the instance is released. - false: The data disk is retained when the instance is released.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "deleteWithInstance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? DeleteWithInstance
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as data disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: mountDir: The mount directory of the data disk. The value must start with a forward slash (\/).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountDir", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountDir
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.DataDisksProperty")]
public class DataDisksProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDataDisksProperty
{
private object _category;
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => _category;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_category = value;
}
}
private object _size;
/// <remarks>
/// <strong>Property</strong>: size: The size of the data disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768.
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => _size;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_size = value;
}
}
private object? _deleteWithInstance;
/// <remarks>
/// <strong>Property</strong>: deleteWithInstance: Specifies whether to release the data disk when the instance is released. Valid values:
/// - true (default): The data disk is released when the instance is released. - false: The data disk is retained when the instance is released.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "deleteWithInstance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? DeleteWithInstance
{
get => _deleteWithInstance;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_deleteWithInstance = value;
}
}
private object? _level;
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as data disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => _level;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_level = value;
}
}
private object? _mountDir;
/// <remarks>
/// <strong>Property</strong>: mountDir: The mount directory of the data disk. The value must start with a forward slash (\/).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountDir", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountDir
{
get => _mountDir;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_mountDir = value;
}
}
}
[JsiiInterface(nativeType: typeof(IDirectoryServiceProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.DirectoryServiceProperty")]
public interface IDirectoryServiceProperty
{
/// <remarks>
/// <strong>Property</strong>: type: Domain account type.
/// </remarks>
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Type
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: version: Domain account version.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Version
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IDirectoryServiceProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.DirectoryServiceProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDirectoryServiceProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: type: Domain account type.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Type
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: version: Domain account version.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Version
{
get => GetInstanceProperty<object?>();
}
}
}
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.DirectoryServiceProperty")]
public class DirectoryServiceProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDirectoryServiceProperty
{
private object? _type;
/// <remarks>
/// <strong>Property</strong>: type: Domain account type.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Type
{
get => _type;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_type = value;
}
}
private object? _version;
/// <remarks>
/// <strong>Property</strong>: version: Domain account version.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Version
{
get => _version;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_version = value;
}
}
}
[JsiiInterface(nativeType: typeof(IManagerNodeDataDisksProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeDataDisksProperty")]
public interface IManagerNodeDataDisksProperty
{
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Category
{
get;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the data disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768.
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Size
{
get;
}
/// <remarks>
/// <strong>Property</strong>: deleteWithInstance: Specifies whether to release the data disk when the instance is released. Valid values:
/// - true (default): The data disk is released when the instance is released. - false: The data disk is retained when the instance is released.
/// </remarks>
[JsiiProperty(name: "deleteWithInstance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? DeleteWithInstance
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as data disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Level
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: mountDir: The mount directory of the data disk. The value must start with a forward slash (\/).
/// </remarks>
[JsiiProperty(name: "mountDir", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MountDir
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IManagerNodeDataDisksProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeDataDisksProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeDataDisksProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the data disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768.
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: deleteWithInstance: Specifies whether to release the data disk when the instance is released. Valid values:
/// - true (default): The data disk is released when the instance is released. - false: The data disk is retained when the instance is released.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "deleteWithInstance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? DeleteWithInstance
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as data disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: mountDir: The mount directory of the data disk. The value must start with a forward slash (\/).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountDir", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountDir
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeDataDisksProperty")]
public class ManagerNodeDataDisksProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeDataDisksProperty
{
private object _category;
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => _category;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_category = value;
}
}
private object _size;
/// <remarks>
/// <strong>Property</strong>: size: The size of the data disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768.
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => _size;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_size = value;
}
}
private object? _deleteWithInstance;
/// <remarks>
/// <strong>Property</strong>: deleteWithInstance: Specifies whether to release the data disk when the instance is released. Valid values:
/// - true (default): The data disk is released when the instance is released. - false: The data disk is retained when the instance is released.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "deleteWithInstance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? DeleteWithInstance
{
get => _deleteWithInstance;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_deleteWithInstance = value;
}
}
private object? _level;
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as data disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => _level;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_level = value;
}
}
private object? _mountDir;
/// <remarks>
/// <strong>Property</strong>: mountDir: The mount directory of the data disk. The value must start with a forward slash (\/).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountDir", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountDir
{
get => _mountDir;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_mountDir = value;
}
}
}
[JsiiInterface(nativeType: typeof(IManagerNodeProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeProperty")]
public interface IManagerNodeProperty
{
/// <remarks>
/// <strong>Property</strong>: imageId: ECS image ID.
/// </remarks>
[JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object ImageId
{
get;
}
/// <remarks>
/// <strong>Property</strong>: instanceType: ECS instance type.
/// </remarks>
[JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object InstanceType
{
get;
}
/// <remarks>
/// <strong>Property</strong>: systemDisk: Node system disk configuration details.
/// </remarks>
[JsiiProperty(name: "systemDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeSystemDiskProperty\"}]}}")]
object SystemDisk
{
get;
}
/// <remarks>
/// <strong>Property</strong>: autoRenew: Whether to automatically renew. The InstanceChargeType parameter takes effect when it has a value of PrePaid. Valid values:
/// - true: Automatic renewal.
/// - false: No automatic renewal.
/// Default value: false
/// </remarks>
[JsiiProperty(name: "autoRenew", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? AutoRenew
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: autoRenewPeriod: Length of renewal for a single automatic renewal. Valid values:
/// - When PeriodUnit=Week: 1, 2, 3.
/// - When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.
/// Default value: 1
/// </remarks>
[JsiiProperty(name: "autoRenewPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? AutoRenewPeriod
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: dataDisks: Data disk information collection list.
/// </remarks>
[JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeDataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? DataDisks
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: enableHt: Whether to enable the hyper-threading feature. Valid values:
/// - true: Enable the hyper-threading feature.
/// - false: Disable the hyper-threading feature.
/// </remarks>
[JsiiProperty(name: "enableHt", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? EnableHt
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: instanceChargeType: How the instance is paid. Valid values:
/// - PrePaid: A year and a month.
/// - PostPaid: pay-as-you-go
/// Default value: PostPaid
/// You must confirm that your account supports balance payment or credit payment, otherwise an error message with InvalidPayMethod will be returned.
/// </remarks>
[JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? InstanceChargeType
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: period: The duration of the purchase of the resource in units specified by PeriodUnit. It is required when InstanceChargeType is set to PrePaid. Once DedicatedHostId is specified, the value cannot exceed the subscription duration of the dedicated host. Valid values:
/// - When PeriodUnit=Week, Period value: 1, 2, 3, 4.
/// - When PeriodUnit=Month, Period value: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60.
/// </remarks>
[JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Period
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: periodUnit: A unit of time for annual and monthly billing. Valid values: Week, Month (default).
/// </remarks>
[JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? PeriodUnit
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IManagerNodeProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: imageId: ECS image ID.
/// </remarks>
[JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object ImageId
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: instanceType: ECS instance type.
/// </remarks>
[JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object InstanceType
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: systemDisk: Node system disk configuration details.
/// </remarks>
[JsiiProperty(name: "systemDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeSystemDiskProperty\"}]}}")]
public object SystemDisk
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: autoRenew: Whether to automatically renew. The InstanceChargeType parameter takes effect when it has a value of PrePaid. Valid values:
/// - true: Automatic renewal.
/// - false: No automatic renewal.
/// Default value: false
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "autoRenew", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? AutoRenew
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: autoRenewPeriod: Length of renewal for a single automatic renewal. Valid values:
/// - When PeriodUnit=Week: 1, 2, 3.
/// - When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.
/// Default value: 1
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "autoRenewPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? AutoRenewPeriod
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: dataDisks: Data disk information collection list.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeDataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? DataDisks
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: enableHt: Whether to enable the hyper-threading feature. Valid values:
/// - true: Enable the hyper-threading feature.
/// - false: Disable the hyper-threading feature.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableHt", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableHt
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: instanceChargeType: How the instance is paid. Valid values:
/// - PrePaid: A year and a month.
/// - PostPaid: pay-as-you-go
/// Default value: PostPaid
/// You must confirm that your account supports balance payment or credit payment, otherwise an error message with InvalidPayMethod will be returned.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? InstanceChargeType
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: period: The duration of the purchase of the resource in units specified by PeriodUnit. It is required when InstanceChargeType is set to PrePaid. Once DedicatedHostId is specified, the value cannot exceed the subscription duration of the dedicated host. Valid values:
/// - When PeriodUnit=Week, Period value: 1, 2, 3, 4.
/// - When PeriodUnit=Month, Period value: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Period
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: periodUnit: A unit of time for annual and monthly billing. Valid values: Week, Month (default).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? PeriodUnit
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeProperty")]
public class ManagerNodeProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeProperty
{
private object _imageId;
/// <remarks>
/// <strong>Property</strong>: imageId: ECS image ID.
/// </remarks>
[JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object ImageId
{
get => _imageId;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_imageId = value;
}
}
private object _instanceType;
/// <remarks>
/// <strong>Property</strong>: instanceType: ECS instance type.
/// </remarks>
[JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object InstanceType
{
get => _instanceType;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_instanceType = value;
}
}
private object _systemDisk;
/// <remarks>
/// <strong>Property</strong>: systemDisk: Node system disk configuration details.
/// </remarks>
[JsiiProperty(name: "systemDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeSystemDiskProperty\"}]}}")]
public object SystemDisk
{
get => _systemDisk;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeSystemDiskProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeSystemDiskProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeSystemDiskProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_systemDisk = value;
}
}
private object? _autoRenew;
/// <remarks>
/// <strong>Property</strong>: autoRenew: Whether to automatically renew. The InstanceChargeType parameter takes effect when it has a value of PrePaid. Valid values:
/// - true: Automatic renewal.
/// - false: No automatic renewal.
/// Default value: false
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "autoRenew", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? AutoRenew
{
get => _autoRenew;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_autoRenew = value;
}
}
private object? _autoRenewPeriod;
/// <remarks>
/// <strong>Property</strong>: autoRenewPeriod: Length of renewal for a single automatic renewal. Valid values:
/// - When PeriodUnit=Week: 1, 2, 3.
/// - When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.
/// Default value: 1
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "autoRenewPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? AutoRenewPeriod
{
get => _autoRenewPeriod;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_autoRenewPeriod = value;
}
}
private object? _dataDisks;
/// <remarks>
/// <strong>Property</strong>: dataDisks: Data disk information collection list.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeDataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? DataDisks
{
get => _dataDisks;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeDataDisksProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeDataDisksProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeDataDisksProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
_dataDisks = value;
}
}
private object? _enableHt;
/// <remarks>
/// <strong>Property</strong>: enableHt: Whether to enable the hyper-threading feature. Valid values:
/// - true: Enable the hyper-threading feature.
/// - false: Disable the hyper-threading feature.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableHt", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableHt
{
get => _enableHt;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_enableHt = value;
}
}
private object? _instanceChargeType;
/// <remarks>
/// <strong>Property</strong>: instanceChargeType: How the instance is paid. Valid values:
/// - PrePaid: A year and a month.
/// - PostPaid: pay-as-you-go
/// Default value: PostPaid
/// You must confirm that your account supports balance payment or credit payment, otherwise an error message with InvalidPayMethod will be returned.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? InstanceChargeType
{
get => _instanceChargeType;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_instanceChargeType = value;
}
}
private object? _period;
/// <remarks>
/// <strong>Property</strong>: period: The duration of the purchase of the resource in units specified by PeriodUnit. It is required when InstanceChargeType is set to PrePaid. Once DedicatedHostId is specified, the value cannot exceed the subscription duration of the dedicated host. Valid values:
/// - When PeriodUnit=Week, Period value: 1, 2, 3, 4.
/// - When PeriodUnit=Month, Period value: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Period
{
get => _period;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_period = value;
}
}
private object? _periodUnit;
/// <remarks>
/// <strong>Property</strong>: periodUnit: A unit of time for annual and monthly billing. Valid values: Week, Month (default).
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? PeriodUnit
{
get => _periodUnit;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_periodUnit = value;
}
}
}
[JsiiInterface(nativeType: typeof(IManagerNodeSystemDiskProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeSystemDiskProperty")]
public interface IManagerNodeSystemDiskProperty
{
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud: basic disk.
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Category
{
get;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the system disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// - cloud: 40 ~ 500.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Size
{
get;
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as system disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Level
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IManagerNodeSystemDiskProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeSystemDiskProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeSystemDiskProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud: basic disk.
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the system disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// - cloud: 40 ~ 500.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as system disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeSystemDiskProperty")]
public class ManagerNodeSystemDiskProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeSystemDiskProperty
{
private object _category;
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud: basic disk.
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => _category;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_category = value;
}
}
private object _size;
/// <remarks>
/// <strong>Property</strong>: size: The size of the system disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// - cloud: 40 ~ 500.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => _size;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_size = value;
}
}
private object? _level;
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as system disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => _level;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_level = value;
}
}
}
[JsiiInterface(nativeType: typeof(IManagerProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerProperty")]
public interface IManagerProperty
{
/// <remarks>
/// <strong>Property</strong>: directoryService: Domain account service configuration information.
/// </remarks>
[JsiiProperty(name: "directoryService", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DirectoryServiceProperty\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? DirectoryService
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: dns: DNS service configuration information.
/// </remarks>
[JsiiProperty(name: "dns", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DNSProperty\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Dns
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: managerNode: Public description of ECS resources with parameters such as payment type, instance specification, image, system disk, and data disk
/// </remarks>
[JsiiProperty(name: "managerNode", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeProperty\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? ManagerNode
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: scheduler: Scheduler service configuration information.
/// </remarks>
[JsiiProperty(name: "scheduler", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SchedulerProperty\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Scheduler
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IManagerProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: directoryService: Domain account service configuration information.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "directoryService", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DirectoryServiceProperty\"}]}}", isOptional: true)]
public object? DirectoryService
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: dns: DNS service configuration information.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "dns", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DNSProperty\"}]}}", isOptional: true)]
public object? Dns
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: managerNode: Public description of ECS resources with parameters such as payment type, instance specification, image, system disk, and data disk
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "managerNode", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeProperty\"}]}}", isOptional: true)]
public object? ManagerNode
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: scheduler: Scheduler service configuration information.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "scheduler", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SchedulerProperty\"}]}}", isOptional: true)]
public object? Scheduler
{
get => GetInstanceProperty<object?>();
}
}
}
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerProperty")]
public class ManagerProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerProperty
{
private object? _directoryService;
/// <remarks>
/// <strong>Property</strong>: directoryService: Domain account service configuration information.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "directoryService", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DirectoryServiceProperty\"}]}}", isOptional: true)]
public object? DirectoryService
{
get => _directoryService;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDirectoryServiceProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDirectoryServiceProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_directoryService = value;
}
}
private object? _dns;
/// <remarks>
/// <strong>Property</strong>: dns: DNS service configuration information.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "dns", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.DNSProperty\"}]}}", isOptional: true)]
public object? Dns
{
get => _dns;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDNSProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IDNSProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_dns = value;
}
}
private object? _managerNode;
/// <remarks>
/// <strong>Property</strong>: managerNode: Public description of ECS resources with parameters such as payment type, instance specification, image, system disk, and data disk
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "managerNode", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ManagerNodeProperty\"}]}}", isOptional: true)]
public object? ManagerNode
{
get => _managerNode;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IManagerNodeProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_managerNode = value;
}
}
private object? _scheduler;
/// <remarks>
/// <strong>Property</strong>: scheduler: Scheduler service configuration information.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "scheduler", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.SchedulerProperty\"}]}}", isOptional: true)]
public object? Scheduler
{
get => _scheduler;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISchedulerProperty cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISchedulerProperty).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_scheduler = value;
}
}
}
[JsiiInterface(nativeType: typeof(IQueuesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.QueuesProperty")]
public interface IQueuesProperty
{
/// <remarks>
/// <strong>Property</strong>: queueName: Queue name. The length is from 1 to 15 characters. It supports characters in the Unicode letter class (including English and numbers), and can include half-angular periods (.).
/// </remarks>
[JsiiProperty(name: "queueName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object QueueName
{
get;
}
/// <remarks>
/// <strong>Property</strong>: allocationStrategy: The allocation strategy of the queue.
/// </remarks>
[JsiiProperty(name: "allocationStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? AllocationStrategy
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: computeNodes: List of compute nodes in the queue. Range from 0 to 10.
/// </remarks>
[JsiiProperty(name: "computeNodes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ComputeNodesProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? ComputeNodes
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: enableScaleIn: Whether to enable automatic shrinkage. Valid values:
/// - true: enables automatic shrinkage.
/// - false: disables automatic shrinkage.
/// </remarks>
[JsiiProperty(name: "enableScaleIn", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? EnableScaleIn
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: enableScaleOut: Whether to enable automatic scaling. Valid values:
/// - true: enables automatic scaling.
/// - false: disables automatic scaling.
/// </remarks>
[JsiiProperty(name: "enableScaleOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? EnableScaleOut
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: hostnamePrefix: The hostname prefix of the compute nodes in the queue.
/// </remarks>
[JsiiProperty(name: "hostnamePrefix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? HostnamePrefix
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: hostnameSuffix: The hostname suffix of the compute nodes in the queue.
/// </remarks>
[JsiiProperty(name: "hostnameSuffix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? HostnameSuffix
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: initialCount: The initial number of nodes in the queue.
/// </remarks>
[JsiiProperty(name: "initialCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? InitialCount
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: interConnect: Type of network between nodes in the queue. Valid values: vpc, eRDMA.
/// </remarks>
[JsiiProperty(name: "interConnect", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? InterConnect
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: keepAliveNodes: List of nodes in the queue with deletion protection enabled.
/// </remarks>
[JsiiProperty(name: "keepAliveNodes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? KeepAliveNodes
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: maxCount: The maximum number of nodes in the queue.
/// </remarks>
[JsiiProperty(name: "maxCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MaxCount
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: maxCountPerCycle: The number of computing nodes that the queue can maximally expand in each scaling round.
/// </remarks>
[JsiiProperty(name: "maxCountPerCycle", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MaxCountPerCycle
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: minCount: The minimum number of nodes in the queue.
/// </remarks>
[JsiiProperty(name: "minCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MinCount
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: ramRole: The RAM role name attached to the compute nodes of the queue.
/// </remarks>
[JsiiProperty(name: "ramRole", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? RamRole
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: vSwitchIds: List of virtual switches available to compute nodes in the queue. Range from 1 to 5.
/// </remarks>
[JsiiProperty(name: "vSwitchIds", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? VSwitchIds
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(IQueuesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.QueuesProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IQueuesProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: queueName: Queue name. The length is from 1 to 15 characters. It supports characters in the Unicode letter class (including English and numbers), and can include half-angular periods (.).
/// </remarks>
[JsiiProperty(name: "queueName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object QueueName
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: allocationStrategy: The allocation strategy of the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "allocationStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? AllocationStrategy
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: computeNodes: List of compute nodes in the queue. Range from 0 to 10.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "computeNodes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ComputeNodesProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? ComputeNodes
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: enableScaleIn: Whether to enable automatic shrinkage. Valid values:
/// - true: enables automatic shrinkage.
/// - false: disables automatic shrinkage.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableScaleIn", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableScaleIn
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: enableScaleOut: Whether to enable automatic scaling. Valid values:
/// - true: enables automatic scaling.
/// - false: disables automatic scaling.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableScaleOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableScaleOut
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: hostnamePrefix: The hostname prefix of the compute nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "hostnamePrefix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? HostnamePrefix
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: hostnameSuffix: The hostname suffix of the compute nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "hostnameSuffix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? HostnameSuffix
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: initialCount: The initial number of nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "initialCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? InitialCount
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: interConnect: Type of network between nodes in the queue. Valid values: vpc, eRDMA.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "interConnect", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? InterConnect
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: keepAliveNodes: List of nodes in the queue with deletion protection enabled.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "keepAliveNodes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? KeepAliveNodes
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: maxCount: The maximum number of nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "maxCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MaxCount
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: maxCountPerCycle: The number of computing nodes that the queue can maximally expand in each scaling round.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "maxCountPerCycle", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MaxCountPerCycle
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: minCount: The minimum number of nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "minCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MinCount
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: ramRole: The RAM role name attached to the compute nodes of the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "ramRole", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? RamRole
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: vSwitchIds: List of virtual switches available to compute nodes in the queue. Range from 1 to 5.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "vSwitchIds", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? VSwitchIds
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.QueuesProperty")]
public class QueuesProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IQueuesProperty
{
private object _queueName;
/// <remarks>
/// <strong>Property</strong>: queueName: Queue name. The length is from 1 to 15 characters. It supports characters in the Unicode letter class (including English and numbers), and can include half-angular periods (.).
/// </remarks>
[JsiiProperty(name: "queueName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object QueueName
{
get => _queueName;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_queueName = value;
}
}
private object? _allocationStrategy;
/// <remarks>
/// <strong>Property</strong>: allocationStrategy: The allocation strategy of the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "allocationStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? AllocationStrategy
{
get => _allocationStrategy;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_allocationStrategy = value;
}
}
private object? _computeNodes;
/// <remarks>
/// <strong>Property</strong>: computeNodes: List of compute nodes in the queue. Range from 0 to 10.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "computeNodes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ehpc.RosClusterV2.ComputeNodesProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? ComputeNodes
{
get => _computeNodes;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IComputeNodesProperty cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IComputeNodesProperty).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.IComputeNodesProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
_computeNodes = value;
}
}
private object? _enableScaleIn;
/// <remarks>
/// <strong>Property</strong>: enableScaleIn: Whether to enable automatic shrinkage. Valid values:
/// - true: enables automatic shrinkage.
/// - false: disables automatic shrinkage.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableScaleIn", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableScaleIn
{
get => _enableScaleIn;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_enableScaleIn = value;
}
}
private object? _enableScaleOut;
/// <remarks>
/// <strong>Property</strong>: enableScaleOut: Whether to enable automatic scaling. Valid values:
/// - true: enables automatic scaling.
/// - false: disables automatic scaling.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "enableScaleOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? EnableScaleOut
{
get => _enableScaleOut;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case bool cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_enableScaleOut = value;
}
}
private object? _hostnamePrefix;
/// <remarks>
/// <strong>Property</strong>: hostnamePrefix: The hostname prefix of the compute nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "hostnamePrefix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? HostnamePrefix
{
get => _hostnamePrefix;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_hostnamePrefix = value;
}
}
private object? _hostnameSuffix;
/// <remarks>
/// <strong>Property</strong>: hostnameSuffix: The hostname suffix of the compute nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "hostnameSuffix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? HostnameSuffix
{
get => _hostnameSuffix;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_hostnameSuffix = value;
}
}
private object? _initialCount;
/// <remarks>
/// <strong>Property</strong>: initialCount: The initial number of nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "initialCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? InitialCount
{
get => _initialCount;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_initialCount = value;
}
}
private object? _interConnect;
/// <remarks>
/// <strong>Property</strong>: interConnect: Type of network between nodes in the queue. Valid values: vpc, eRDMA.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "interConnect", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? InterConnect
{
get => _interConnect;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_interConnect = value;
}
}
private object? _keepAliveNodes;
/// <remarks>
/// <strong>Property</strong>: keepAliveNodes: List of nodes in the queue with deletion protection enabled.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "keepAliveNodes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? KeepAliveNodes
{
get => _keepAliveNodes;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case string cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
_keepAliveNodes = value;
}
}
private object? _maxCount;
/// <remarks>
/// <strong>Property</strong>: maxCount: The maximum number of nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "maxCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MaxCount
{
get => _maxCount;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_maxCount = value;
}
}
private object? _maxCountPerCycle;
/// <remarks>
/// <strong>Property</strong>: maxCountPerCycle: The number of computing nodes that the queue can maximally expand in each scaling round.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "maxCountPerCycle", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MaxCountPerCycle
{
get => _maxCountPerCycle;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_maxCountPerCycle = value;
}
}
private object? _minCount;
/// <remarks>
/// <strong>Property</strong>: minCount: The minimum number of nodes in the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "minCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MinCount
{
get => _minCount;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_minCount = value;
}
}
private object? _ramRole;
/// <remarks>
/// <strong>Property</strong>: ramRole: The RAM role name attached to the compute nodes of the queue.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "ramRole", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? RamRole
{
get => _ramRole;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_ramRole = value;
}
}
private object? _vSwitchIds;
/// <remarks>
/// <strong>Property</strong>: vSwitchIds: List of virtual switches available to compute nodes in the queue. Range from 1 to 5.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "vSwitchIds", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)]
public object? VSwitchIds
{
get => _vSwitchIds;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case object[] cast_cd4240:
for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++)
{
switch (cast_cd4240[__idx_f64a5c])
{
case string cast_201718:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value));
}
}
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value));
}
}
_vSwitchIds = value;
}
}
}
[JsiiInterface(nativeType: typeof(ISchedulerProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.SchedulerProperty")]
public interface ISchedulerProperty
{
/// <remarks>
/// <strong>Property</strong>: type: Scheduler type. Valid values:
/// - SLURM
/// - PBS
/// - OPENGRIDSCHEDULER
/// - LSF_PLUGIN
/// - PBS_PLUGIN
/// </remarks>
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Type
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: version: Scheduler version.
/// </remarks>
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Version
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(ISchedulerProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.SchedulerProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISchedulerProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: type: Scheduler type. Valid values:
/// - SLURM
/// - PBS
/// - OPENGRIDSCHEDULER
/// - LSF_PLUGIN
/// - PBS_PLUGIN
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Type
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: version: Scheduler version.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Version
{
get => GetInstanceProperty<object?>();
}
}
}
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.SchedulerProperty")]
public class SchedulerProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISchedulerProperty
{
private object? _type;
/// <remarks>
/// <strong>Property</strong>: type: Scheduler type. Valid values:
/// - SLURM
/// - PBS
/// - OPENGRIDSCHEDULER
/// - LSF_PLUGIN
/// - PBS_PLUGIN
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Type
{
get => _type;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_type = value;
}
}
private object? _version;
/// <remarks>
/// <strong>Property</strong>: version: Scheduler version.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Version
{
get => _version;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_version = value;
}
}
}
[JsiiInterface(nativeType: typeof(ISharedStoragesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.SharedStoragesProperty")]
public interface ISharedStoragesProperty
{
/// <remarks>
/// <strong>Property</strong>: fileSystemId: The ID of the file system.
/// </remarks>
[JsiiProperty(name: "fileSystemId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object FileSystemId
{
get;
}
/// <remarks>
/// <strong>Property</strong>: mountTargetDomain: The mount target domain of the file system.
/// </remarks>
[JsiiProperty(name: "mountTargetDomain", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object MountTargetDomain
{
get;
}
/// <remarks>
/// <strong>Property</strong>: mountDirectory: The local mount directory to mount the file system.
/// </remarks>
[JsiiProperty(name: "mountDirectory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MountDirectory
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: mountOptions: The mount options of the file system.
/// </remarks>
[JsiiProperty(name: "mountOptions", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? MountOptions
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: nasDirectory: Mounted filesystems require mounted remote directories.
/// </remarks>
[JsiiProperty(name: "nasDirectory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? NasDirectory
{
get
{
return null;
}
}
/// <remarks>
/// <strong>Property</strong>: protocolType: The protocol type of the file system. Valid values: NFS, SMB.
/// </remarks>
[JsiiProperty(name: "protocolType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? ProtocolType
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(ISharedStoragesProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.SharedStoragesProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISharedStoragesProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: fileSystemId: The ID of the file system.
/// </remarks>
[JsiiProperty(name: "fileSystemId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object FileSystemId
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: mountTargetDomain: The mount target domain of the file system.
/// </remarks>
[JsiiProperty(name: "mountTargetDomain", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object MountTargetDomain
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: mountDirectory: The local mount directory to mount the file system.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountDirectory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountDirectory
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: mountOptions: The mount options of the file system.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountOptions", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountOptions
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: nasDirectory: Mounted filesystems require mounted remote directories.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "nasDirectory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? NasDirectory
{
get => GetInstanceProperty<object?>();
}
/// <remarks>
/// <strong>Property</strong>: protocolType: The protocol type of the file system. Valid values: NFS, SMB.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "protocolType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? ProtocolType
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.SharedStoragesProperty")]
public class SharedStoragesProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISharedStoragesProperty
{
private object _fileSystemId;
/// <remarks>
/// <strong>Property</strong>: fileSystemId: The ID of the file system.
/// </remarks>
[JsiiProperty(name: "fileSystemId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object FileSystemId
{
get => _fileSystemId;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_fileSystemId = value;
}
}
private object _mountTargetDomain;
/// <remarks>
/// <strong>Property</strong>: mountTargetDomain: The mount target domain of the file system.
/// </remarks>
[JsiiProperty(name: "mountTargetDomain", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object MountTargetDomain
{
get => _mountTargetDomain;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_mountTargetDomain = value;
}
}
private object? _mountDirectory;
/// <remarks>
/// <strong>Property</strong>: mountDirectory: The local mount directory to mount the file system.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountDirectory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountDirectory
{
get => _mountDirectory;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_mountDirectory = value;
}
}
private object? _mountOptions;
/// <remarks>
/// <strong>Property</strong>: mountOptions: The mount options of the file system.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "mountOptions", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? MountOptions
{
get => _mountOptions;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_mountOptions = value;
}
}
private object? _nasDirectory;
/// <remarks>
/// <strong>Property</strong>: nasDirectory: Mounted filesystems require mounted remote directories.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "nasDirectory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? NasDirectory
{
get => _nasDirectory;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_nasDirectory = value;
}
}
private object? _protocolType;
/// <remarks>
/// <strong>Property</strong>: protocolType: The protocol type of the file system. Valid values: NFS, SMB.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "protocolType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? ProtocolType
{
get => _protocolType;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_protocolType = value;
}
}
}
[JsiiInterface(nativeType: typeof(ISystemDiskProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.SystemDiskProperty")]
public interface ISystemDiskProperty
{
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud: basic disk.
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Category
{
get;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the system disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// - cloud: 40 ~ 500.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Size
{
get;
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as system disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Level
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(ISystemDiskProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.SystemDiskProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISystemDiskProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud: basic disk.
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: size: The size of the system disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// - cloud: 40 ~ 500.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as system disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.SystemDiskProperty")]
public class SystemDiskProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ISystemDiskProperty
{
private object _category;
/// <remarks>
/// <strong>Property</strong>: category: The type of data disk. Valid values:
/// cloud: basic disk.
/// cloud_efficiency: ultra disk.
/// cloud_ssd: standard SSD.
/// cloud_essd: enhanced SSD.
/// </remarks>
[JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Category
{
get => _category;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_category = value;
}
}
private object _size;
/// <remarks>
/// <strong>Property</strong>: size: The size of the system disk, in GiB. Valid values:
/// - cloud_efficiency: 40 ~ 32768.
/// - cloud_ssd: 40 ~ 32768
/// - cloud_essd: PL0: 40 ~ 65,536; PL1: 40 ~ 65,536; PL2: 461 ~ 65,536; PL3: 1261 ~ 65,536.
/// - cloud: 40 ~ 500.
/// </remarks>
[JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Size
{
get => _size;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case double cast_cd4240:
break;
case byte cast_cd4240:
break;
case decimal cast_cd4240:
break;
case float cast_cd4240:
break;
case int cast_cd4240:
break;
case long cast_cd4240:
break;
case sbyte cast_cd4240:
break;
case short cast_cd4240:
break;
case uint cast_cd4240:
break;
case ulong cast_cd4240:
break;
case ushort cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_size = value;
}
}
private object? _level;
/// <remarks>
/// <strong>Property</strong>: level: When creating ESSD cloud disk as system disk, set the performance level of cloud disk. Valid values:
/// - PL0: The highest random read and write IOPS of a single disk is 10,000.
/// - PL1 (default) : The maximum random read\/write IOPS of a single disk is 50,000.
/// - PL2: The highest random read and write IOPS of a single disk is 100,000.
/// - PL3: The highest random read\/write IOPS of a single disk is 1 million.
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "level", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Level
{
get => _level;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_level = value;
}
}
}
[JsiiInterface(nativeType: typeof(ITagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.TagsProperty")]
public interface ITagsProperty
{
/// <remarks>
/// <strong>Property</strong>: key: undefined
/// </remarks>
[JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
object Key
{
get;
}
/// <remarks>
/// <strong>Property</strong>: value: undefined
/// </remarks>
[JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
[Amazon.JSII.Runtime.Deputy.JsiiOptional]
object? Value
{
get
{
return null;
}
}
[JsiiTypeProxy(nativeType: typeof(ITagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ehpc.RosClusterV2.TagsProperty")]
internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ITagsProperty
{
private _Proxy(ByRefValue reference): base(reference)
{
}
/// <remarks>
/// <strong>Property</strong>: key: undefined
/// </remarks>
[JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Key
{
get => GetInstanceProperty<object>()!;
}
/// <remarks>
/// <strong>Property</strong>: value: undefined
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Value
{
get => GetInstanceProperty<object?>();
}
}
}
#pragma warning disable CS8618
[JsiiByValue(fqn: "@alicloud/ros-cdk-ehpc.RosClusterV2.TagsProperty")]
public class TagsProperty : AlibabaCloud.SDK.ROS.CDK.Ehpc.RosClusterV2.ITagsProperty
{
private object _key;
/// <remarks>
/// <strong>Property</strong>: key: undefined
/// </remarks>
[JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")]
public object Key
{
get => _key;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value));
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_key = value;
}
}
private object? _value;
/// <remarks>
/// <strong>Property</strong>: value: undefined
/// </remarks>
[JsiiOptional]
[JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)]
public object? Value
{
get => _value;
set
{
if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
{
switch (value)
{
case string cast_cd4240:
break;
case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240:
break;
case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240:
// Not enough information to type-check...
break;
case null:
break;
default:
throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value));
}
}
_value = value;
}
}
}
}
}