multiple-languages/dotnet/AlibabaCloud.SDK.ROS.CDK.Ecs/AlibabaCloud/SDK/ROS/CDK/Ecs/RosAutoProvisioningGroup.cs (3,868 lines of code) (raw):

using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AlibabaCloud.SDK.ROS.CDK.Ecs { /// <summary>This class is a base encapsulation around the ROS resource type `ALIYUN::ECS::AutoProvisioningGroup`, which is used to create an auto provisioning group.</summary> /// <remarks> /// <strong>Note</strong>: This class does not contain additional functions, so it is recommended to use the `AutoProvisioningGroup` class instead of this class for a more convenient development experience. /// See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-autoprovisioninggroup /// </remarks> [JsiiClass(nativeType: typeof(AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup", 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-ecs.RosAutoProvisioningGroupProps\"}},{\"name\":\"enableResourcePropertyConstraint\",\"type\":{\"primitive\":\"boolean\"}}]")] public class RosAutoProvisioningGroup : 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 RosAutoProvisioningGroup(AlibabaCloud.SDK.ROS.CDK.Core.Construct scope, string id, AlibabaCloud.SDK.ROS.CDK.Ecs.IRosAutoProvisioningGroupProps 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.Ecs.IRosAutoProvisioningGroupProps 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 RosAutoProvisioningGroup(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 RosAutoProvisioningGroup(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.Ecs.RosAutoProvisioningGroup))!; /// <remarks> /// <strong>Attribute</strong>: AutoProvisioningGroupId: The ID of the auto provisioning group. /// </remarks> [JsiiProperty(name: "attrAutoProvisioningGroupId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrAutoProvisioningGroupId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: AutoProvisioningGroupName: The name of the auto provisioning group. /// </remarks> [JsiiProperty(name: "attrAutoProvisioningGroupName", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrAutoProvisioningGroupName { 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>>()!; } [JsiiProperty(name: "enableResourcePropertyConstraint", typeJson: "{\"primitive\":\"boolean\"}")] public virtual bool EnableResourcePropertyConstraint { get => GetInstanceProperty<bool>()!; set => SetInstanceProperty(value); } /// <remarks> /// <strong>Property</strong>: totalTargetCapacity: The total target capacity of the auto provisioning group. The target capacity consists /// of the following three parts: /// The target capacity of pay-as-you-go instances specified by the PayAsYouGoTargetCapacity parameter /// The target capacity of preemptible instances specified by the SpotTargetCapacity parameter /// The supplemental capacity besides PayAsYouGoTargetCapacity and SpotTargetCapacity /// </remarks> [JsiiProperty(name: "totalTargetCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public virtual object TotalTargetCapacity { 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>: autoProvisioningGroupName: The name of the auto provisioning group to be created. It must be 2 to 128 characters /// in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. /// It can contain letters, digits, colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoProvisioningGroupName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? AutoProvisioningGroupName { 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>: autoProvisioningGroupType: The type of the auto provisioning group. Valid values: /// request: One-time delivery. After the auto provisioning group is started, it only attempts /// to create an instance cluster once. If the cluster fails to be created, the group /// does not try again. /// maintain: The continuous delivery and maintain capacity type. After the auto provisioning group /// is started, it continuously attempts to create and maintain the instance cluster. /// The auto provisioning group compares the real-time and target capacity of the cluster. /// If the cluster does not meet the target capacity, the group will create instances /// until the cluster meets the target capacity. /// Default value: maintain /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoProvisioningGroupType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? AutoProvisioningGroupType { 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>: checkExecutionStatus: Whether check execution status. If set true, ROS will check the state of AutoProvisioningGroup to be fulfilled. Otherwise ROS will regard AutoProvisioningGroup create failed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "checkExecutionStatus", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? CheckExecutionStatus { 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>: dataDiskConfig: List of instance data disk information. /// </remarks> [JsiiOptional] [JsiiProperty(name: "dataDiskConfig", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskConfigProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? DataDiskConfig { 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.Ecs.RosAutoProvisioningGroup.IDataDiskConfigProperty 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.Ecs.RosAutoProvisioningGroup.IDataDiskConfigProperty).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.Ecs.RosAutoProvisioningGroup.IDataDiskConfigProperty).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>: defaultTargetCapacityType: The type of supplemental instances. When the total value of PayAsYouGoTargetCapacity and SpotTargetCapacity is smaller than the value of TotalTargetCapacity, the auto provisioning group will create instances of the specified type to meet /// the capacity requirements. Valid values: /// PayAsYouGo: Pay-as-you-go instances. /// Spot: Preemptible instances. /// Default value: Spot /// </remarks> [JsiiOptional] [JsiiProperty(name: "defaultTargetCapacityType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DefaultTargetCapacityType { 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>: description: The description of the auto provisioning group. /// </remarks> [JsiiOptional] [JsiiProperty(name: "description", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Description { 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>: excessCapacityTerminationPolicy: The shutdown policy for excess preemptible instances followed when the capacity of /// the auto provisioning group exceeds the target capacity. Valid values: /// no-termination: Excess preemptible instances are not shut down. /// termination: Excess preemptible instances are to be shut down. The action to be performed on these /// shutdown instances is specified by the SpotInstanceInterruptionBehavior parameter. /// Default value: no-termination /// </remarks> [JsiiOptional] [JsiiProperty(name: "excessCapacityTerminationPolicy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ExcessCapacityTerminationPolicy { 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>: launchConfiguration: /// </remarks> [JsiiOptional] [JsiiProperty(name: "launchConfiguration", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchConfigurationProperty\"}]}}", isOptional: true)] public virtual object? LaunchConfiguration { 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.Ecs.RosAutoProvisioningGroup.ILaunchConfigurationProperty 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.Ecs.RosAutoProvisioningGroup.ILaunchConfigurationProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: launchTemplateConfig: /// </remarks> [JsiiOptional] [JsiiProperty(name: "launchTemplateConfig", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchTemplateConfigProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? LaunchTemplateConfig { 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.Ecs.RosAutoProvisioningGroup.ILaunchTemplateConfigProperty 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.Ecs.RosAutoProvisioningGroup.ILaunchTemplateConfigProperty).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.Ecs.RosAutoProvisioningGroup.ILaunchTemplateConfigProperty).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>: launchTemplateId: The ID of the instance launch template associated with the auto provisioning group. /// You can call the DescribeLaunchTemplates operation to query available instance launch templates. /// An auto provisioning group can be associated with only one instance launch template. /// But you can configure multiple extended configurations for the launch template through /// the LaunchTemplateConfig parameter. /// </remarks> [JsiiOptional] [JsiiProperty(name: "launchTemplateId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? LaunchTemplateId { 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>: launchTemplateVersion: The version of the instance launch template associated with the auto provisioning /// group. You can call the DescribeLaunchTemplateVersions operation to query the versions of available instance launch templates. /// </remarks> [JsiiOptional] [JsiiProperty(name: "launchTemplateVersion", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? LaunchTemplateVersion { 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>: maxSpotPrice: The global maximum price for preemptible instances in the auto provisioning group. /// If both the MaxSpotPrice and LaunchTemplateConfig.N.MaxPrice parameters are specified, the maximum price is the lower value of the two. /// </remarks> [JsiiOptional] [JsiiProperty(name: "maxSpotPrice", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? MaxSpotPrice { 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>: minTargetCapacity: The target minimum capacity of the elastic supply group. Value range: Positive integer. /// Once you have set this parameter, note that: /// Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect. /// If the inventory of instances in the current domain is less than this value, the call to the interface will fail and no instance will be created. /// If the instance inventory in the current domain is greater than the parameter value, the instance is created normally according to the other parameter values that have been set. /// </remarks> [JsiiOptional] [JsiiProperty(name: "minTargetCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? MinTargetCapacity { 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>: payAsYouGoAllocationStrategy: The scale-out policy for pay-as-you-go instances. Valid values: /// lowest-price: The cost optimization policy the auto provisioning group follows to select instance /// types of the lowest cost to create instances. /// prioritized: The priority-based policy the auto provisioning group follows to create instances. /// The priority of an instance type is specified by the LaunchTemplateConfig.N.Priority parameter. /// Default value: lowest-price /// </remarks> [JsiiOptional] [JsiiProperty(name: "payAsYouGoAllocationStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? PayAsYouGoAllocationStrategy { 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>: payAsYouGoTargetCapacity: The target capacity of pay-as-you-go instances in the auto provisioning group. /// </remarks> [JsiiOptional] [JsiiProperty(name: "payAsYouGoTargetCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? PayAsYouGoTargetCapacity { 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>: resourceGroupId: The resource group ID. /// </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>: resourcePoolOptions: Resource pooling policy to use when creating an instance. Once you have set this parameter, note that: /// This parameter only applies if a pay-as-you-go instance is created. /// Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect. /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourcePoolOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.ResourcePoolOptionsProperty\"}]}}", isOptional: true)] public virtual object? ResourcePoolOptions { 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.Ecs.RosAutoProvisioningGroup.IResourcePoolOptionsProperty 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.Ecs.RosAutoProvisioningGroup.IResourcePoolOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: spotAllocationStrategy: The scale-out policy for preemptible instances. Valid values: /// lowest-price: The cost optimization policy the auto provisioning group follows to select instance /// types of the lowest cost to create instances. /// diversified: The distribution balancing policy the auto provisioning group follows to evenly create /// instances across zones specified in multiple extended template configurations. /// Default value: lowest-price /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotAllocationStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotAllocationStrategy { 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>: spotInstanceInterruptionBehavior: The default behavior after preemptible instances are shut down. Value values: /// stop: stops preemptible instances. /// terminate: releases preemptible instances. /// Default value: stop /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotInstanceInterruptionBehavior", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotInstanceInterruptionBehavior { 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>: spotInstancePoolsToUseCount: This parameter takes effect when the SpotAllocationStrategy parameter is set to lowest-price. The auto provisioning group selects instance types of the lowest cost to create /// instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotInstancePoolsToUseCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotInstancePoolsToUseCount { 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>: spotTargetCapacity: The target capacity of preemptible instances in the auto provisioning group. /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotTargetCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotTargetCapacity { 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>: systemDiskConfig: List of instance system disk information. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskConfig", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.SystemDiskConfigProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? SystemDiskConfig { 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.Ecs.RosAutoProvisioningGroup.ISystemDiskConfigProperty 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.Ecs.RosAutoProvisioningGroup.ISystemDiskConfigProperty).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.Ecs.RosAutoProvisioningGroup.ISystemDiskConfigProperty).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>: terminateInstances: Specifies whether to release instances of the auto provisioning group. Valid values: /// true /// false /// Default: false /// </remarks> [JsiiOptional] [JsiiProperty(name: "terminateInstances", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? TerminateInstances { 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>: terminateInstancesWithExpiration: The shutdown policy for preemptible instances when the auto provisioning group expires. /// Valid values: /// true: shuts down preemptible instances. The action to be performed on these shutdown instances /// is specified by the SpotInstanceInterruptionBehavior parameter. /// false: does not shut down preemptible instances. /// Default: false /// </remarks> [JsiiOptional] [JsiiProperty(name: "terminateInstancesWithExpiration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? TerminateInstancesWithExpiration { 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>: validFrom: The time when the auto provisioning group is started. The period of time between this /// point in time and the point in time specified by the ValidUntil parameter is the effective time period of the auto provisioning group. /// By default, an auto provisioning group is immediately started after creation. /// </remarks> [JsiiOptional] [JsiiProperty(name: "validFrom", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ValidFrom { 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>: validUntil: The time when the auto provisioning group expires. The period of time between this /// point in time and the point in time specified by the ValidFrom parameter is the effective time period of the auto provisioning group. /// By default, an auto provisioning group never expires. /// </remarks> [JsiiOptional] [JsiiProperty(name: "validUntil", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ValidUntil { 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); } } [JsiiInterface(nativeType: typeof(IDataDiskConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskConfigProperty")] public interface IDataDiskConfigProperty { /// <remarks> /// <strong>Property</strong>: diskCategory: The category of the data disk. /// </remarks> [JsiiProperty(name: "diskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object DiskCategory { get; } [JsiiTypeProxy(nativeType: typeof(IDataDiskConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskConfigProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.IDataDiskConfigProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: diskCategory: The category of the data disk. /// </remarks> [JsiiProperty(name: "diskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object DiskCategory { get => GetInstanceProperty<object>()!; } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskConfigProperty")] public class DataDiskConfigProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.IDataDiskConfigProperty { private object _diskCategory; /// <remarks> /// <strong>Property</strong>: diskCategory: The category of the data disk. /// </remarks> [JsiiProperty(name: "diskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object DiskCategory { get => _diskCategory; 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)); } } _diskCategory = value; } } } [JsiiInterface(nativeType: typeof(IDataDiskProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskProperty")] public interface IDataDiskProperty { /// <remarks> /// <strong>Property</strong>: burstingEnabled: Specifies whether to enable the bursting feature for the data disk. /// </remarks> [JsiiProperty(name: "burstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? BurstingEnabled { get { return null; } } /// <remarks> /// <strong>Property</strong>: category: The category of data disk. Valid values: /// cloud_efficiency: ultra disk /// cloud_ssd: standard SSD /// cloud_essd: ESSD /// cloud: basic disk /// </remarks> [JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Category { get { return null; } } /// <remarks> /// <strong>Property</strong>: deleteWithInstance: Specifies whether to release data disk when the instance is released. Default value: true /// </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>: description: The description of data disk N. The description must be 2 to 256 characters in length and cannot start with http:\/\/ or https:\/\/. /// </remarks> [JsiiProperty(name: "description", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Description { get { return null; } } /// <remarks> /// <strong>Property</strong>: device: The mount point of the data disk. When specifying both the launch template and the launch configuration information, the launch template is preferred. /// </remarks> [JsiiProperty(name: "device", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Device { get { return null; } } /// <remarks> /// <strong>Property</strong>: diskName: The name of data disk N. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. It can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiProperty(name: "diskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DiskName { get { return null; } } /// <remarks> /// <strong>Property</strong>: encrypted: Specifies whether to encrypt data disk. Default value: false /// </remarks> [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Encrypted { get { return null; } } /// <remarks> /// <strong>Property</strong>: internetChargeType: The billing method for network usage. Default value: PayByTraffic. Valid values: /// PayByBandwidth /// PayByTraffic /// </remarks> [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InternetChargeType { get { return null; } } /// <remarks> /// <strong>Property</strong>: kmsKeyId: The ID of the KMS key to be used by data disk /// </remarks> [JsiiProperty(name: "kmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? KmsKeyId { get { return null; } } /// <remarks> /// <strong>Property</strong>: performanceLevel: The performance level of the ESSD used as data disk. Default value: PL1. Valid values: /// PL0: A single ESSD can deliver up to 10,000 random read\/write IOPS. /// PL1: A single ESSD can deliver up to 50,000 random read\/write IOPS. /// PL2: A single ESSD can deliver up to 100,000 random read\/write IOPS. /// PL3: A single ESSD can deliver up to 1,000,000 random read\/write IOPS. /// </remarks> [JsiiProperty(name: "performanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? PerformanceLevel { get { return null; } } /// <remarks> /// <strong>Property</strong>: provisionedIops: ESSD AutoPL preconfigured read and write IOPS for cloud disk. Possible values: 0-min {50,000, 1000* capacity - baseline performance}. /// Baseline performance =min{1,800+50* capacity, 50000}. /// </remarks> [JsiiProperty(name: "provisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ProvisionedIops { get { return null; } } /// <remarks> /// <strong>Property</strong>: size: The size of data disk /// </remarks> [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Size { get { return null; } } /// <remarks> /// <strong>Property</strong>: snapshotId: The ID of the snapshot used to create data disk /// </remarks> [JsiiProperty(name: "snapshotId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SnapshotId { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IDataDiskProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.IDataDiskProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: burstingEnabled: Specifies whether to enable the bursting feature for the data disk. /// </remarks> [JsiiOptional] [JsiiProperty(name: "burstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? BurstingEnabled { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: category: The category of data disk. Valid values: /// cloud_efficiency: ultra disk /// cloud_ssd: standard SSD /// cloud_essd: ESSD /// cloud: basic disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Category { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: deleteWithInstance: Specifies whether to release data disk when the instance is released. Default value: true /// </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>: description: The description of data disk N. The description must be 2 to 256 characters in length and cannot start with http:\/\/ or https:\/\/. /// </remarks> [JsiiOptional] [JsiiProperty(name: "description", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Description { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: device: The mount point of the data disk. When specifying both the launch template and the launch configuration information, the launch template is preferred. /// </remarks> [JsiiOptional] [JsiiProperty(name: "device", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Device { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: diskName: The name of data disk N. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. It can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "diskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DiskName { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: encrypted: Specifies whether to encrypt data disk. Default value: false /// </remarks> [JsiiOptional] [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Encrypted { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: internetChargeType: The billing method for network usage. Default value: PayByTraffic. Valid values: /// PayByBandwidth /// PayByTraffic /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetChargeType { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: kmsKeyId: The ID of the KMS key to be used by data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "kmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? KmsKeyId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: performanceLevel: The performance level of the ESSD used as data disk. Default value: PL1. Valid values: /// PL0: A single ESSD can deliver up to 10,000 random read\/write IOPS. /// PL1: A single ESSD can deliver up to 50,000 random read\/write IOPS. /// PL2: A single ESSD can deliver up to 100,000 random read\/write IOPS. /// PL3: A single ESSD can deliver up to 1,000,000 random read\/write IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "performanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PerformanceLevel { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: provisionedIops: ESSD AutoPL preconfigured read and write IOPS for cloud disk. Possible values: 0-min {50,000, 1000* capacity - baseline performance}. /// Baseline performance =min{1,800+50* capacity, 50000}. /// </remarks> [JsiiOptional] [JsiiProperty(name: "provisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ProvisionedIops { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: size: The size of data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Size { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: snapshotId: The ID of the snapshot used to create data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "snapshotId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SnapshotId { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskProperty")] public class DataDiskProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.IDataDiskProperty { private object? _burstingEnabled; /// <remarks> /// <strong>Property</strong>: burstingEnabled: Specifies whether to enable the bursting feature for the data disk. /// </remarks> [JsiiOptional] [JsiiProperty(name: "burstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? BurstingEnabled { get => _burstingEnabled; 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)); } } _burstingEnabled = value; } } private object? _category; /// <remarks> /// <strong>Property</strong>: category: The category of data disk. Valid values: /// cloud_efficiency: ultra disk /// cloud_ssd: standard SSD /// cloud_essd: ESSD /// cloud: basic disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "category", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] 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: 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)); } } _category = value; } } private object? _deleteWithInstance; /// <remarks> /// <strong>Property</strong>: deleteWithInstance: Specifies whether to release data disk when the instance is released. Default value: true /// </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? _description; /// <remarks> /// <strong>Property</strong>: description: The description of data disk N. The description must be 2 to 256 characters in length and cannot start with http:\/\/ or https:\/\/. /// </remarks> [JsiiOptional] [JsiiProperty(name: "description", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Description { get => _description; 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)); } } _description = value; } } private object? _device; /// <remarks> /// <strong>Property</strong>: device: The mount point of the data disk. When specifying both the launch template and the launch configuration information, the launch template is preferred. /// </remarks> [JsiiOptional] [JsiiProperty(name: "device", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Device { get => _device; 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)); } } _device = value; } } private object? _diskName; /// <remarks> /// <strong>Property</strong>: diskName: The name of data disk N. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. It can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "diskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DiskName { get => _diskName; 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)); } } _diskName = value; } } private object? _encrypted; /// <remarks> /// <strong>Property</strong>: encrypted: Specifies whether to encrypt data disk. Default value: false /// </remarks> [JsiiOptional] [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Encrypted { get => _encrypted; 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)); } } _encrypted = value; } } private object? _internetChargeType; /// <remarks> /// <strong>Property</strong>: internetChargeType: The billing method for network usage. Default value: PayByTraffic. Valid values: /// PayByBandwidth /// PayByTraffic /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetChargeType { get => _internetChargeType; 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)); } } _internetChargeType = value; } } private object? _kmsKeyId; /// <remarks> /// <strong>Property</strong>: kmsKeyId: The ID of the KMS key to be used by data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "kmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? KmsKeyId { get => _kmsKeyId; 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)); } } _kmsKeyId = value; } } private object? _performanceLevel; /// <remarks> /// <strong>Property</strong>: performanceLevel: The performance level of the ESSD used as data disk. Default value: PL1. Valid values: /// PL0: A single ESSD can deliver up to 10,000 random read\/write IOPS. /// PL1: A single ESSD can deliver up to 50,000 random read\/write IOPS. /// PL2: A single ESSD can deliver up to 100,000 random read\/write IOPS. /// PL3: A single ESSD can deliver up to 1,000,000 random read\/write IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "performanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PerformanceLevel { get => _performanceLevel; 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)); } } _performanceLevel = value; } } private object? _provisionedIops; /// <remarks> /// <strong>Property</strong>: provisionedIops: ESSD AutoPL preconfigured read and write IOPS for cloud disk. Possible values: 0-min {50,000, 1000* capacity - baseline performance}. /// Baseline performance =min{1,800+50* capacity, 50000}. /// </remarks> [JsiiOptional] [JsiiProperty(name: "provisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ProvisionedIops { get => _provisionedIops; 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)); } } _provisionedIops = value; } } private object? _size; /// <remarks> /// <strong>Property</strong>: size: The size of data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] 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: 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)); } } _size = value; } } private object? _snapshotId; /// <remarks> /// <strong>Property</strong>: snapshotId: The ID of the snapshot used to create data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "snapshotId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SnapshotId { get => _snapshotId; 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)); } } _snapshotId = value; } } } [JsiiInterface(nativeType: typeof(ILaunchConfigurationProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchConfigurationProperty")] public interface ILaunchConfigurationProperty { /// <remarks> /// <strong>Property</strong>: imageId: Image ID. /// </remarks> [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object ImageId { get; } /// <remarks> /// <strong>Property</strong>: securityGroupId: Security group ID. /// </remarks> [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object SecurityGroupId { get; } /// <remarks> /// <strong>Property</strong>: autoReleaseTime: The auto release time of the instance. /// </remarks> [JsiiProperty(name: "autoReleaseTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? AutoReleaseTime { get { return null; } } /// <remarks> /// <strong>Property</strong>: creditSpecification: The performance mode of the burstable instance. Valid values: /// Standard: the standard mode. For more information, see the "Standard mode" section of the Burstable instances topic. /// Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section of the Burstable instances topic. /// </remarks> [JsiiProperty(name: "creditSpecification", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? CreditSpecification { get { return null; } } /// <remarks> /// <strong>Property</strong>: dataDisk: Data disk /// </remarks> [JsiiProperty(name: "dataDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DataDisk { get { return null; } } /// <remarks> /// <strong>Property</strong>: deploymentSetId: The deployment set ID. /// </remarks> [JsiiProperty(name: "deploymentSetId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DeploymentSetId { get { return null; } } /// <remarks> /// <strong>Property</strong>: hostName: The hostname of the instance. /// </remarks> [JsiiProperty(name: "hostName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? HostName { get { return null; } } /// <remarks> /// <strong>Property</strong>: hostNames: Specify different host names for one or more instances. The limitations are as follows: /// Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect. /// N is the number of instances, ranging from 1 to 1000 and matching the TotalTargetCapacity parameter. /// Half-angular period (.) The and dash (-) are not allowed to start or end characters, nor can they be used continuously. /// Windows example: Character length 2 to 15, does not support half-corner period (.) It can't be all numbers. Allows upper - and lowercase letters, numbers, and a dash (-). /// Other type instances (Linux, etc.) : Character lengths from 2 to 64, support multiple half-angular periods (.) Half-angular period (.) Each paragraph is allowed to contain upper - and lowercase letters, numbers, and a dash (-). /// Does not support at the same time set up LaunchConfiguration. The HostName and LaunchConfiguration. HostNames. N, otherwise it will return an error message. /// When specifying both the launch template and the launch configuration information, the launch template is preferred. /// </remarks> [JsiiProperty(name: "hostNames", 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? HostNames { get { return null; } } /// <remarks> /// <strong>Property</strong>: imageFamily: The image family. /// </remarks> [JsiiProperty(name: "imageFamily", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ImageFamily { get { return null; } } /// <remarks> /// <strong>Property</strong>: instanceDescription: The description of the instance. /// </remarks> [JsiiProperty(name: "instanceDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InstanceDescription { get { return null; } } /// <remarks> /// <strong>Property</strong>: instanceName: The name of the instance. /// </remarks> [JsiiProperty(name: "instanceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InstanceName { get { return null; } } /// <remarks> /// <strong>Property</strong>: internetChargeType: The billing method for network usage. Default value: PayByTraffic. Valid values: /// PayByBandwidth /// PayByTraffic /// </remarks> [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InternetChargeType { get { return null; } } /// <remarks> /// <strong>Property</strong>: internetMaxBandwidthOut: The maximum outbound public bandwidth. Unit: Mbit\/s. Valid values: 0 to 100. Default value: 0. /// </remarks> [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InternetMaxBandwidthOut { get { return null; } } /// <remarks> /// <strong>Property</strong>: ioOptimized: Specifies whether the instance is I\/O optimized. Valid values: /// none: The instance is not I\/O optimized. /// optimized: The instance is I\/O optimized. /// </remarks> [JsiiProperty(name: "ioOptimized", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? IoOptimized { get { return null; } } /// <remarks> /// <strong>Property</strong>: keyPairName: The name of the key pair to be bound to the instance. /// </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>Property</strong>: passwordInherit: Specifies whether to use the password preset in the image. /// </remarks> [JsiiProperty(name: "passwordInherit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? PasswordInherit { get { return null; } } /// <remarks> /// <strong>Property</strong>: ramRoleName: The name of the RAM role. /// </remarks> [JsiiProperty(name: "ramRoleName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? RamRoleName { get { return null; } } /// <remarks> /// <strong>Property</strong>: resourceGroupId: The ID of the resource group to which to assign the instance. /// </remarks> [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ResourceGroupId { get { return null; } } /// <remarks> /// <strong>Property</strong>: securityEnhancementStrategy: Specifies whether to enable security hardening. Valid values: /// Active: Security hardening is enabled. This value is applicable only to public images. /// Deactive: Security hardening is disabled. This value is applicable to all image types. /// </remarks> [JsiiProperty(name: "securityEnhancementStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SecurityEnhancementStrategy { get { return null; } } /// <remarks> /// <strong>Property</strong>: securityGroupIds: A list of security groups to which the instance belongs. /// </remarks> [JsiiProperty(name: "securityGroupIds", 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? SecurityGroupIds { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskBurstingEnabled: Specifies whether bursting is enabled. /// </remarks> [JsiiProperty(name: "systemDiskBurstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskBurstingEnabled { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskCategory: The category of the system disk. Valid values: /// cloud_efficiency: ultra disk /// cloud_ssd: standard SSD /// cloud_essd: enhanced SSD (ESSD) /// cloud: basic disk /// </remarks> [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskCategory { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskDescription: The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:\/\/ or https:\/\/. /// </remarks> [JsiiProperty(name: "systemDiskDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskDescription { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskEncrypted: Specifies whether the disk is encrypted. /// </remarks> [JsiiProperty(name: "systemDiskEncrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskEncrypted { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskKmsKeyId: The ID of the KMS key. /// </remarks> [JsiiProperty(name: "systemDiskKmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskKmsKeyId { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskName: The name of the system disk. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. It can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiProperty(name: "systemDiskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskName { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskPerformanceLevel: The performance level of the ESSD used as the system disk. Default value: PL0. Valid values: /// PL0: A single ESSD can deliver up to 10,000 random read\/write IOPS. /// PL1: A single ESSD can deliver up to 50,000 random read\/write IOPS. /// PL2: A single ESSD can deliver up to 100,000 random read\/write IOPS. /// PL3: A single ESSD can deliver up to 1,000,000 random read\/write IOPS. /// </remarks> [JsiiProperty(name: "systemDiskPerformanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskPerformanceLevel { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskProvisionedIops: The provisioned IOPS. /// </remarks> [JsiiProperty(name: "systemDiskProvisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskProvisionedIops { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskSize: The size of the system disk. Unit: GiB. Valid values: 20 to 500. /// </remarks> [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskSize { get { return null; } } /// <remarks> /// <strong>Property</strong>: tag: /// </remarks> [JsiiProperty(name: "tag", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-core.RosTag\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Tag { get { return null; } } /// <remarks> /// <strong>Property</strong>: userData: The user data of the instance. /// </remarks> [JsiiProperty(name: "userData", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? UserData { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ILaunchConfigurationProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchConfigurationProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ILaunchConfigurationProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: imageId: 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>: securityGroupId: Security group ID. /// </remarks> [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object SecurityGroupId { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: autoReleaseTime: The auto release time of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoReleaseTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? AutoReleaseTime { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: creditSpecification: The performance mode of the burstable instance. Valid values: /// Standard: the standard mode. For more information, see the "Standard mode" section of the Burstable instances topic. /// Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section of the Burstable instances topic. /// </remarks> [JsiiOptional] [JsiiProperty(name: "creditSpecification", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? CreditSpecification { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: dataDisk: Data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "dataDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? DataDisk { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: deploymentSetId: The deployment set ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deploymentSetId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DeploymentSetId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: hostName: The hostname of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "hostName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? HostName { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: hostNames: Specify different host names for one or more instances. The limitations are as follows: /// Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect. /// N is the number of instances, ranging from 1 to 1000 and matching the TotalTargetCapacity parameter. /// Half-angular period (.) The and dash (-) are not allowed to start or end characters, nor can they be used continuously. /// Windows example: Character length 2 to 15, does not support half-corner period (.) It can't be all numbers. Allows upper - and lowercase letters, numbers, and a dash (-). /// Other type instances (Linux, etc.) : Character lengths from 2 to 64, support multiple half-angular periods (.) Half-angular period (.) Each paragraph is allowed to contain upper - and lowercase letters, numbers, and a dash (-). /// Does not support at the same time set up LaunchConfiguration. The HostName and LaunchConfiguration. HostNames. N, otherwise it will return an error message. /// When specifying both the launch template and the launch configuration information, the launch template is preferred. /// </remarks> [JsiiOptional] [JsiiProperty(name: "hostNames", 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? HostNames { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: imageFamily: The image family. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageFamily", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ImageFamily { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: instanceDescription: The description of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceDescription { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: instanceName: The name of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceName { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: internetChargeType: The billing method for network usage. Default value: PayByTraffic. Valid values: /// PayByBandwidth /// PayByTraffic /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetChargeType { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: internetMaxBandwidthOut: The maximum outbound public bandwidth. Unit: Mbit\/s. Valid values: 0 to 100. Default value: 0. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetMaxBandwidthOut { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: ioOptimized: Specifies whether the instance is I\/O optimized. Valid values: /// none: The instance is not I\/O optimized. /// optimized: The instance is I\/O optimized. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ioOptimized", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? IoOptimized { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: keyPairName: The name of the key pair to be bound to the instance. /// </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>Property</strong>: passwordInherit: Specifies whether to use the password preset in the image. /// </remarks> [JsiiOptional] [JsiiProperty(name: "passwordInherit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PasswordInherit { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: ramRoleName: The name of the RAM role. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ramRoleName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? RamRoleName { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: resourceGroupId: The ID of the resource group to which to assign the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ResourceGroupId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: securityEnhancementStrategy: Specifies whether to enable security hardening. Valid values: /// Active: Security hardening is enabled. This value is applicable only to public images. /// Deactive: Security hardening is disabled. This value is applicable to all image types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityEnhancementStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SecurityEnhancementStrategy { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: securityGroupIds: A list of security groups to which the instance belongs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupIds", 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? SecurityGroupIds { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskBurstingEnabled: Specifies whether bursting is enabled. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskBurstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskBurstingEnabled { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskCategory: The category of the system disk. Valid values: /// cloud_efficiency: ultra disk /// cloud_ssd: standard SSD /// cloud_essd: enhanced SSD (ESSD) /// cloud: basic disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskCategory { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskDescription: The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:\/\/ or https:\/\/. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskDescription { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskEncrypted: Specifies whether the disk is encrypted. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskEncrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskEncrypted { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskKmsKeyId: The ID of the KMS key. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskKmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskKmsKeyId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskName: The name of the system disk. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. It can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskName { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskPerformanceLevel: The performance level of the ESSD used as the system disk. Default value: PL0. Valid values: /// PL0: A single ESSD can deliver up to 10,000 random read\/write IOPS. /// PL1: A single ESSD can deliver up to 50,000 random read\/write IOPS. /// PL2: A single ESSD can deliver up to 100,000 random read\/write IOPS. /// PL3: A single ESSD can deliver up to 1,000,000 random read\/write IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskPerformanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskPerformanceLevel { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskProvisionedIops: The provisioned IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskProvisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskProvisionedIops { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskSize: The size of the system disk. Unit: GiB. Valid values: 20 to 500. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskSize { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: tag: /// </remarks> [JsiiOptional] [JsiiProperty(name: "tag", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-core.RosTag\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Tag { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: userData: The user data of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "userData", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? UserData { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchConfigurationProperty")] public class LaunchConfigurationProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ILaunchConfigurationProperty { private object _imageId; /// <remarks> /// <strong>Property</strong>: imageId: 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 _securityGroupId; /// <remarks> /// <strong>Property</strong>: securityGroupId: Security group ID. /// </remarks> [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object SecurityGroupId { get => _securityGroupId; 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)); } } _securityGroupId = value; } } private object? _autoReleaseTime; /// <remarks> /// <strong>Property</strong>: autoReleaseTime: The auto release time of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoReleaseTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? AutoReleaseTime { get => _autoReleaseTime; 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)); } } _autoReleaseTime = value; } } private object? _creditSpecification; /// <remarks> /// <strong>Property</strong>: creditSpecification: The performance mode of the burstable instance. Valid values: /// Standard: the standard mode. For more information, see the "Standard mode" section of the Burstable instances topic. /// Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section of the Burstable instances topic. /// </remarks> [JsiiOptional] [JsiiProperty(name: "creditSpecification", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? CreditSpecification { get => _creditSpecification; 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)); } } _creditSpecification = value; } } private object? _dataDisk; /// <remarks> /// <strong>Property</strong>: dataDisk: Data disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "dataDisk", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.DataDiskProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? DataDisk { get => _dataDisk; 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.Ecs.RosAutoProvisioningGroup.IDataDiskProperty 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.Ecs.RosAutoProvisioningGroup.IDataDiskProperty).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.Ecs.RosAutoProvisioningGroup.IDataDiskProperty).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)); } } _dataDisk = value; } } private object? _deploymentSetId; /// <remarks> /// <strong>Property</strong>: deploymentSetId: The deployment set ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deploymentSetId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DeploymentSetId { get => _deploymentSetId; 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)); } } _deploymentSetId = value; } } private object? _hostName; /// <remarks> /// <strong>Property</strong>: hostName: The hostname of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "hostName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? HostName { get => _hostName; 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)); } } _hostName = value; } } private object? _hostNames; /// <remarks> /// <strong>Property</strong>: hostNames: Specify different host names for one or more instances. The limitations are as follows: /// Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect. /// N is the number of instances, ranging from 1 to 1000 and matching the TotalTargetCapacity parameter. /// Half-angular period (.) The and dash (-) are not allowed to start or end characters, nor can they be used continuously. /// Windows example: Character length 2 to 15, does not support half-corner period (.) It can't be all numbers. Allows upper - and lowercase letters, numbers, and a dash (-). /// Other type instances (Linux, etc.) : Character lengths from 2 to 64, support multiple half-angular periods (.) Half-angular period (.) Each paragraph is allowed to contain upper - and lowercase letters, numbers, and a dash (-). /// Does not support at the same time set up LaunchConfiguration. The HostName and LaunchConfiguration. HostNames. N, otherwise it will return an error message. /// When specifying both the launch template and the launch configuration information, the launch template is preferred. /// </remarks> [JsiiOptional] [JsiiProperty(name: "hostNames", 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? HostNames { get => _hostNames; 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)); } } _hostNames = value; } } private object? _imageFamily; /// <remarks> /// <strong>Property</strong>: imageFamily: The image family. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageFamily", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ImageFamily { get => _imageFamily; 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)); } } _imageFamily = value; } } private object? _instanceDescription; /// <remarks> /// <strong>Property</strong>: instanceDescription: The description of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceDescription { get => _instanceDescription; 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)); } } _instanceDescription = value; } } private object? _instanceName; /// <remarks> /// <strong>Property</strong>: instanceName: The name of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceName { get => _instanceName; 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)); } } _instanceName = value; } } private object? _internetChargeType; /// <remarks> /// <strong>Property</strong>: internetChargeType: The billing method for network usage. Default value: PayByTraffic. Valid values: /// PayByBandwidth /// PayByTraffic /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetChargeType { get => _internetChargeType; 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)); } } _internetChargeType = value; } } private object? _internetMaxBandwidthOut; /// <remarks> /// <strong>Property</strong>: internetMaxBandwidthOut: The maximum outbound public bandwidth. Unit: Mbit\/s. Valid values: 0 to 100. Default value: 0. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetMaxBandwidthOut { get => _internetMaxBandwidthOut; 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)); } } _internetMaxBandwidthOut = value; } } private object? _ioOptimized; /// <remarks> /// <strong>Property</strong>: ioOptimized: Specifies whether the instance is I\/O optimized. Valid values: /// none: The instance is not I\/O optimized. /// optimized: The instance is I\/O optimized. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ioOptimized", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? IoOptimized { get => _ioOptimized; 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)); } } _ioOptimized = value; } } private object? _keyPairName; /// <remarks> /// <strong>Property</strong>: keyPairName: The name of the key pair to be bound to the instance. /// </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? _passwordInherit; /// <remarks> /// <strong>Property</strong>: passwordInherit: Specifies whether to use the password preset in the image. /// </remarks> [JsiiOptional] [JsiiProperty(name: "passwordInherit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PasswordInherit { get => _passwordInherit; 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)); } } _passwordInherit = value; } } private object? _ramRoleName; /// <remarks> /// <strong>Property</strong>: ramRoleName: The name of the RAM role. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ramRoleName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? RamRoleName { get => _ramRoleName; 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)); } } _ramRoleName = value; } } private object? _resourceGroupId; /// <remarks> /// <strong>Property</strong>: resourceGroupId: The ID of the resource group to which to assign the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ResourceGroupId { get => _resourceGroupId; 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)); } } _resourceGroupId = value; } } private object? _securityEnhancementStrategy; /// <remarks> /// <strong>Property</strong>: securityEnhancementStrategy: Specifies whether to enable security hardening. Valid values: /// Active: Security hardening is enabled. This value is applicable only to public images. /// Deactive: Security hardening is disabled. This value is applicable to all image types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityEnhancementStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SecurityEnhancementStrategy { get => _securityEnhancementStrategy; 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)); } } _securityEnhancementStrategy = value; } } private object? _securityGroupIds; /// <remarks> /// <strong>Property</strong>: securityGroupIds: A list of security groups to which the instance belongs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupIds", 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? SecurityGroupIds { get => _securityGroupIds; 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)); } } _securityGroupIds = value; } } private object? _systemDiskBurstingEnabled; /// <remarks> /// <strong>Property</strong>: systemDiskBurstingEnabled: Specifies whether bursting is enabled. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskBurstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskBurstingEnabled { get => _systemDiskBurstingEnabled; 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)); } } _systemDiskBurstingEnabled = value; } } private object? _systemDiskCategory; /// <remarks> /// <strong>Property</strong>: systemDiskCategory: The category of the system disk. Valid values: /// cloud_efficiency: ultra disk /// cloud_ssd: standard SSD /// cloud_essd: enhanced SSD (ESSD) /// cloud: basic disk /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskCategory { get => _systemDiskCategory; 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)); } } _systemDiskCategory = value; } } private object? _systemDiskDescription; /// <remarks> /// <strong>Property</strong>: systemDiskDescription: The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:\/\/ or https:\/\/. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskDescription { get => _systemDiskDescription; 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)); } } _systemDiskDescription = value; } } private object? _systemDiskEncrypted; /// <remarks> /// <strong>Property</strong>: systemDiskEncrypted: Specifies whether the disk is encrypted. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskEncrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskEncrypted { get => _systemDiskEncrypted; 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)); } } _systemDiskEncrypted = value; } } private object? _systemDiskKmsKeyId; /// <remarks> /// <strong>Property</strong>: systemDiskKmsKeyId: The ID of the KMS key. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskKmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskKmsKeyId { get => _systemDiskKmsKeyId; 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)); } } _systemDiskKmsKeyId = value; } } private object? _systemDiskName; /// <remarks> /// <strong>Property</strong>: systemDiskName: The name of the system disk. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:\/\/ or https:\/\/. It can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskName { get => _systemDiskName; 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)); } } _systemDiskName = value; } } private object? _systemDiskPerformanceLevel; /// <remarks> /// <strong>Property</strong>: systemDiskPerformanceLevel: The performance level of the ESSD used as the system disk. Default value: PL0. Valid values: /// PL0: A single ESSD can deliver up to 10,000 random read\/write IOPS. /// PL1: A single ESSD can deliver up to 50,000 random read\/write IOPS. /// PL2: A single ESSD can deliver up to 100,000 random read\/write IOPS. /// PL3: A single ESSD can deliver up to 1,000,000 random read\/write IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskPerformanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskPerformanceLevel { get => _systemDiskPerformanceLevel; 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)); } } _systemDiskPerformanceLevel = value; } } private object? _systemDiskProvisionedIops; /// <remarks> /// <strong>Property</strong>: systemDiskProvisionedIops: The provisioned IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskProvisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskProvisionedIops { get => _systemDiskProvisionedIops; 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)); } } _systemDiskProvisionedIops = value; } } private object? _systemDiskSize; /// <remarks> /// <strong>Property</strong>: systemDiskSize: The size of the system disk. Unit: GiB. Valid values: 20 to 500. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskSize { get => _systemDiskSize; 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)); } } _systemDiskSize = value; } } private object? _tag; /// <remarks> /// <strong>Property</strong>: tag: /// </remarks> [JsiiOptional] [JsiiProperty(name: "tag", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-core.RosTag\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Tag { get => _tag; 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.Core.IRosTag 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.Core.IRosTag).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.Core.IRosTag).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)); } } _tag = value; } } private object? _userData; /// <remarks> /// <strong>Property</strong>: userData: The user data of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "userData", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? UserData { get => _userData; 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)); } } _userData = value; } } } [JsiiInterface(nativeType: typeof(ILaunchTemplateConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchTemplateConfigProperty")] public interface ILaunchTemplateConfigProperty { /// <remarks> /// <strong>Property</strong>: vSwitchId: The ID of the VSwitch in the Nth extended configurations of the launch template. /// </remarks> [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object VSwitchId { get; } /// <remarks> /// <strong>Property</strong>: architectures: The architectures. /// </remarks> [JsiiProperty(name: "architectures", 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? Architectures { get { return null; } } /// <remarks> /// <strong>Property</strong>: burstablePerformance: Whether it is a performance burst instance specification. Valid values: /// - Exclude: The performance burst instance specification is not included. /// - Include: Contains the performance burst instance specification. /// - Required: Contains only the performance burst instance specification. /// Default value: Include /// </remarks> [JsiiProperty(name: "burstablePerformance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? BurstablePerformance { get { return null; } } /// <remarks> /// <strong>Property</strong>: cores: The cores. /// </remarks> [JsiiProperty(name: "cores", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Cores { get { return null; } } /// <remarks> /// <strong>Property</strong>: excludedInstanceTypes: The excluded instance types. /// </remarks> [JsiiProperty(name: "excludedInstanceTypes", 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? ExcludedInstanceTypes { get { return null; } } /// <remarks> /// <strong>Property</strong>: imageId: The image ID. /// </remarks> [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ImageId { get { return null; } } /// <remarks> /// <strong>Property</strong>: instanceFamilyLevel: Instance specification family level, used to filter the range of instance specifications that meet the requirements. Valid values: /// - EntryLevel: This is the shared instance specification. The cost is lower, but the performance of instance calculation cannot be guaranteed to be stable. It is suitable for business scenarios with low CPU usage at ordinary times. /// - EnterpriseLevel: Enterprise level. Stable performance, resource exclusive, suitable for high stability requirements of business scenarios. /// - CreditEntryLevel: Credit entry level, that is, burst performance instance. CPU credits are used to ensure the computing performance, which is suitable for the situation of low CPU utilization and occasional burst CPU utilization. /// </remarks> [JsiiProperty(name: "instanceFamilyLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InstanceFamilyLevel { get { return null; } } /// <remarks> /// <strong>Property</strong>: instanceType: The instance type of the Nth extended configurations of the launch template. /// </remarks> [JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InstanceType { get { return null; } } /// <remarks> /// <strong>Property</strong>: maxPrice: The maximum price of the instance type specified in the Nth extended configurations /// of the launch template. /// </remarks> [JsiiProperty(name: "maxPrice", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? MaxPrice { get { return null; } } /// <remarks> /// <strong>Property</strong>: memories: The memories. /// </remarks> [JsiiProperty(name: "memories", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Memories { get { return null; } } /// <remarks> /// <strong>Property</strong>: priority: The priority of the instance type specified in the Nth extended configurations of /// the launch template. A value of 0 indicates the highest priority. /// </remarks> [JsiiProperty(name: "priority", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Priority { get { return null; } } /// <remarks> /// <strong>Property</strong>: weightedCapacity: The weight of the instance type specified in the Nth extended configurations of the /// launch template. /// The weight is calculated based on the computing power of a specified instance type /// and the minimum computing power of a single node of the cluster. A greater weight /// indicates that the instance has more computing power, and as a result fewer instances /// are required. /// For example, when the minimum computing power of a single node is 8 vCPUs and 60 GiB /// of memory, the weight of the instance type with 8 vCPUs and 60 GiB of memory is 1, /// and the weight of the instance type with 16 vCPUs and 120 GiB of memory is 2. /// </remarks> [JsiiProperty(name: "weightedCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? WeightedCapacity { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ILaunchTemplateConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchTemplateConfigProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ILaunchTemplateConfigProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: vSwitchId: The ID of the VSwitch in the Nth extended configurations of the launch template. /// </remarks> [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object VSwitchId { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: architectures: The architectures. /// </remarks> [JsiiOptional] [JsiiProperty(name: "architectures", 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? Architectures { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: burstablePerformance: Whether it is a performance burst instance specification. Valid values: /// - Exclude: The performance burst instance specification is not included. /// - Include: Contains the performance burst instance specification. /// - Required: Contains only the performance burst instance specification. /// Default value: Include /// </remarks> [JsiiOptional] [JsiiProperty(name: "burstablePerformance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? BurstablePerformance { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: cores: The cores. /// </remarks> [JsiiOptional] [JsiiProperty(name: "cores", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Cores { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: excludedInstanceTypes: The excluded instance types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "excludedInstanceTypes", 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? ExcludedInstanceTypes { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: imageId: The image ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ImageId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: instanceFamilyLevel: Instance specification family level, used to filter the range of instance specifications that meet the requirements. Valid values: /// - EntryLevel: This is the shared instance specification. The cost is lower, but the performance of instance calculation cannot be guaranteed to be stable. It is suitable for business scenarios with low CPU usage at ordinary times. /// - EnterpriseLevel: Enterprise level. Stable performance, resource exclusive, suitable for high stability requirements of business scenarios. /// - CreditEntryLevel: Credit entry level, that is, burst performance instance. CPU credits are used to ensure the computing performance, which is suitable for the situation of low CPU utilization and occasional burst CPU utilization. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceFamilyLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceFamilyLevel { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: instanceType: The instance type of the Nth extended configurations of the launch template. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceType { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: maxPrice: The maximum price of the instance type specified in the Nth extended configurations /// of the launch template. /// </remarks> [JsiiOptional] [JsiiProperty(name: "maxPrice", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? MaxPrice { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: memories: The memories. /// </remarks> [JsiiOptional] [JsiiProperty(name: "memories", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Memories { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: priority: The priority of the instance type specified in the Nth extended configurations of /// the launch template. A value of 0 indicates the highest priority. /// </remarks> [JsiiOptional] [JsiiProperty(name: "priority", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Priority { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: weightedCapacity: The weight of the instance type specified in the Nth extended configurations of the /// launch template. /// The weight is calculated based on the computing power of a specified instance type /// and the minimum computing power of a single node of the cluster. A greater weight /// indicates that the instance has more computing power, and as a result fewer instances /// are required. /// For example, when the minimum computing power of a single node is 8 vCPUs and 60 GiB /// of memory, the weight of the instance type with 8 vCPUs and 60 GiB of memory is 1, /// and the weight of the instance type with 16 vCPUs and 120 GiB of memory is 2. /// </remarks> [JsiiOptional] [JsiiProperty(name: "weightedCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? WeightedCapacity { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.LaunchTemplateConfigProperty")] public class LaunchTemplateConfigProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ILaunchTemplateConfigProperty { private object _vSwitchId; /// <remarks> /// <strong>Property</strong>: vSwitchId: The ID of the VSwitch in the Nth extended configurations of the launch template. /// </remarks> [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object VSwitchId { get => _vSwitchId; 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)); } } _vSwitchId = value; } } private object? _architectures; /// <remarks> /// <strong>Property</strong>: architectures: The architectures. /// </remarks> [JsiiOptional] [JsiiProperty(name: "architectures", 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? Architectures { get => _architectures; 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)); } } _architectures = value; } } private object? _burstablePerformance; /// <remarks> /// <strong>Property</strong>: burstablePerformance: Whether it is a performance burst instance specification. Valid values: /// - Exclude: The performance burst instance specification is not included. /// - Include: Contains the performance burst instance specification. /// - Required: Contains only the performance burst instance specification. /// Default value: Include /// </remarks> [JsiiOptional] [JsiiProperty(name: "burstablePerformance", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? BurstablePerformance { get => _burstablePerformance; 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)); } } _burstablePerformance = value; } } private object? _cores; /// <remarks> /// <strong>Property</strong>: cores: The cores. /// </remarks> [JsiiOptional] [JsiiProperty(name: "cores", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Cores { get => _cores; 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 double cast_201718: break; case byte cast_201718: break; case decimal cast_201718: break; case float cast_201718: break; case int cast_201718: break; case long cast_201718: break; case sbyte cast_201718: break; case short cast_201718: break; case uint cast_201718: break; case ulong cast_201718: break; case ushort 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: double, {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: double, {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)); } } _cores = value; } } private object? _excludedInstanceTypes; /// <remarks> /// <strong>Property</strong>: excludedInstanceTypes: The excluded instance types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "excludedInstanceTypes", 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? ExcludedInstanceTypes { get => _excludedInstanceTypes; 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)); } } _excludedInstanceTypes = value; } } private object? _imageId; /// <remarks> /// <strong>Property</strong>: imageId: The image ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] 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: 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)); } } _imageId = value; } } private object? _instanceFamilyLevel; /// <remarks> /// <strong>Property</strong>: instanceFamilyLevel: Instance specification family level, used to filter the range of instance specifications that meet the requirements. Valid values: /// - EntryLevel: This is the shared instance specification. The cost is lower, but the performance of instance calculation cannot be guaranteed to be stable. It is suitable for business scenarios with low CPU usage at ordinary times. /// - EnterpriseLevel: Enterprise level. Stable performance, resource exclusive, suitable for high stability requirements of business scenarios. /// - CreditEntryLevel: Credit entry level, that is, burst performance instance. CPU credits are used to ensure the computing performance, which is suitable for the situation of low CPU utilization and occasional burst CPU utilization. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceFamilyLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceFamilyLevel { get => _instanceFamilyLevel; 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)); } } _instanceFamilyLevel = value; } } private object? _instanceType; /// <remarks> /// <strong>Property</strong>: instanceType: The instance type of the Nth extended configurations of the launch template. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] 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: 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)); } } _instanceType = value; } } private object? _maxPrice; /// <remarks> /// <strong>Property</strong>: maxPrice: The maximum price of the instance type specified in the Nth extended configurations /// of the launch template. /// </remarks> [JsiiOptional] [JsiiProperty(name: "maxPrice", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? MaxPrice { get => _maxPrice; 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)); } } _maxPrice = value; } } private object? _memories; /// <remarks> /// <strong>Property</strong>: memories: The memories. /// </remarks> [JsiiOptional] [JsiiProperty(name: "memories", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Memories { get => _memories; 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 double cast_201718: break; case byte cast_201718: break; case decimal cast_201718: break; case float cast_201718: break; case int cast_201718: break; case long cast_201718: break; case sbyte cast_201718: break; case short cast_201718: break; case uint cast_201718: break; case ulong cast_201718: break; case ushort 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: double, {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: double, {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)); } } _memories = value; } } private object? _priority; /// <remarks> /// <strong>Property</strong>: priority: The priority of the instance type specified in the Nth extended configurations of /// the launch template. A value of 0 indicates the highest priority. /// </remarks> [JsiiOptional] [JsiiProperty(name: "priority", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Priority { get => _priority; 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)); } } _priority = value; } } private object? _weightedCapacity; /// <remarks> /// <strong>Property</strong>: weightedCapacity: The weight of the instance type specified in the Nth extended configurations of the /// launch template. /// The weight is calculated based on the computing power of a specified instance type /// and the minimum computing power of a single node of the cluster. A greater weight /// indicates that the instance has more computing power, and as a result fewer instances /// are required. /// For example, when the minimum computing power of a single node is 8 vCPUs and 60 GiB /// of memory, the weight of the instance type with 8 vCPUs and 60 GiB of memory is 1, /// and the weight of the instance type with 16 vCPUs and 120 GiB of memory is 2. /// </remarks> [JsiiOptional] [JsiiProperty(name: "weightedCapacity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? WeightedCapacity { get => _weightedCapacity; 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)); } } _weightedCapacity = value; } } } [JsiiInterface(nativeType: typeof(IResourcePoolOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.ResourcePoolOptionsProperty")] public interface IResourcePoolOptionsProperty { /// <remarks> /// <strong>Property</strong>: privatePoolIds: Private pool ID. That is, elastic guarantee service ID or capacity reservation service ID. This parameter can only be passed to the Target mode private pool ID. /// </remarks> [JsiiProperty(name: "privatePoolIds", 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? PrivatePoolIds { get { return null; } } /// <remarks> /// <strong>Property</strong>: strategy: The resource pool includes the private pool and the public pool generated after the elastic guarantee service or capacity reservation service is in effect, which can be selected when the instance is started. Range: /// PrivatePoolFirst: Private pools take precedence Choosing this strategy, when specifying the ResourcePoolOptions. PrivatePoolIds, using the specified priority private pool. If the private pool is not specified or the designated private pool has insufficient capacity, the open type private pool will be matched automatically. If there is no eligible private pool, the instance is created using the public pool. /// PrivatePoolOnly: Private pools only Choosing this strategy, you must specify ResourcePoolOptions. PrivatePoolIds. If the specified private pool capacity is insufficient, the instance will fail to start. /// PublicPoolOnly: Creates instances using a public pool. /// Default value: PublicPoolOnly /// </remarks> [JsiiProperty(name: "strategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Strategy { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IResourcePoolOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.ResourcePoolOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.IResourcePoolOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: privatePoolIds: Private pool ID. That is, elastic guarantee service ID or capacity reservation service ID. This parameter can only be passed to the Target mode private pool ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "privatePoolIds", 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? PrivatePoolIds { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: strategy: The resource pool includes the private pool and the public pool generated after the elastic guarantee service or capacity reservation service is in effect, which can be selected when the instance is started. Range: /// PrivatePoolFirst: Private pools take precedence Choosing this strategy, when specifying the ResourcePoolOptions. PrivatePoolIds, using the specified priority private pool. If the private pool is not specified or the designated private pool has insufficient capacity, the open type private pool will be matched automatically. If there is no eligible private pool, the instance is created using the public pool. /// PrivatePoolOnly: Private pools only Choosing this strategy, you must specify ResourcePoolOptions. PrivatePoolIds. If the specified private pool capacity is insufficient, the instance will fail to start. /// PublicPoolOnly: Creates instances using a public pool. /// Default value: PublicPoolOnly /// </remarks> [JsiiOptional] [JsiiProperty(name: "strategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Strategy { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.ResourcePoolOptionsProperty")] public class ResourcePoolOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.IResourcePoolOptionsProperty { private object? _privatePoolIds; /// <remarks> /// <strong>Property</strong>: privatePoolIds: Private pool ID. That is, elastic guarantee service ID or capacity reservation service ID. This parameter can only be passed to the Target mode private pool ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "privatePoolIds", 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? PrivatePoolIds { get => _privatePoolIds; 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)); } } _privatePoolIds = value; } } private object? _strategy; /// <remarks> /// <strong>Property</strong>: strategy: The resource pool includes the private pool and the public pool generated after the elastic guarantee service or capacity reservation service is in effect, which can be selected when the instance is started. Range: /// PrivatePoolFirst: Private pools take precedence Choosing this strategy, when specifying the ResourcePoolOptions. PrivatePoolIds, using the specified priority private pool. If the private pool is not specified or the designated private pool has insufficient capacity, the open type private pool will be matched automatically. If there is no eligible private pool, the instance is created using the public pool. /// PrivatePoolOnly: Private pools only Choosing this strategy, you must specify ResourcePoolOptions. PrivatePoolIds. If the specified private pool capacity is insufficient, the instance will fail to start. /// PublicPoolOnly: Creates instances using a public pool. /// Default value: PublicPoolOnly /// </remarks> [JsiiOptional] [JsiiProperty(name: "strategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Strategy { get => _strategy; 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)); } } _strategy = value; } } } [JsiiInterface(nativeType: typeof(ISystemDiskConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.SystemDiskConfigProperty")] public interface ISystemDiskConfigProperty { /// <remarks> /// <strong>Property</strong>: diskCategory: The category of the system disk. /// </remarks> [JsiiProperty(name: "diskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object DiskCategory { get; } [JsiiTypeProxy(nativeType: typeof(ISystemDiskConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.SystemDiskConfigProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ISystemDiskConfigProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: diskCategory: The category of the system disk. /// </remarks> [JsiiProperty(name: "diskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object DiskCategory { get => GetInstanceProperty<object>()!; } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.SystemDiskConfigProperty")] public class SystemDiskConfigProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ISystemDiskConfigProperty { private object _diskCategory; /// <remarks> /// <strong>Property</strong>: diskCategory: The category of the system disk. /// </remarks> [JsiiProperty(name: "diskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object DiskCategory { get => _diskCategory; 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)); } } _diskCategory = value; } } } [JsiiInterface(nativeType: typeof(ITagProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.TagProperty")] public interface ITagProperty { /// <remarks> /// <strong>Property</strong>: key: The tag key of the instance. /// </remarks> [JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Key { get; } /// <remarks> /// <strong>Property</strong>: value: The tag value of the instance. /// </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(ITagProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosAutoProvisioningGroup.TagProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ITagProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: key: The tag key of the instance. /// </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: The tag value of the instance. /// </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-ecs.RosAutoProvisioningGroup.TagProperty")] public class TagProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosAutoProvisioningGroup.ITagProperty { private object _key; /// <remarks> /// <strong>Property</strong>: key: The tag key of the instance. /// </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: The tag value of the instance. /// </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; } } } } }