multiple-languages/dotnet/AlibabaCloud.SDK.ROS.CDK.Ecs/AlibabaCloud/SDK/ROS/CDK/Ecs/RosInstanceGroup.cs (4,370 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::InstanceGroup`, which is used to create Elastic Compute Service (ECS) instances that have the same configurations.</summary> /// <remarks> /// <strong>Note</strong>: This class does not contain additional functions, so it is recommended to use the `InstanceGroup` class instead of this class for a more convenient development experience. /// See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-instancegroup /// </remarks> [JsiiClass(nativeType: typeof(AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup", 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.RosInstanceGroupProps\"}},{\"name\":\"enableResourcePropertyConstraint\",\"type\":{\"primitive\":\"boolean\"}}]")] public class RosInstanceGroup : 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 RosInstanceGroup(AlibabaCloud.SDK.ROS.CDK.Core.Construct scope, string id, AlibabaCloud.SDK.ROS.CDK.Ecs.IRosInstanceGroupProps 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.IRosInstanceGroupProps 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 RosInstanceGroup(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 RosInstanceGroup(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.RosInstanceGroup))!; /// <remarks> /// <strong>Attribute</strong>: HostNames: Host names of created instances. /// </remarks> [JsiiProperty(name: "attrHostNames", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrHostNames { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: InnerIps: Inner IP address list of the specified instances. Only for classical instances. /// </remarks> [JsiiProperty(name: "attrInnerIps", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrInnerIps { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: InstanceIds: The instance id list of created ecs instances /// </remarks> [JsiiProperty(name: "attrInstanceIds", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrInstanceIds { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: Ipv6Addresses: IPv6 addresses list of created ecs instances. Note: The return type is a two-tier list. If the instance does not have any IPv6 address, the element at the corresponding position in the list is null. If all instances does not have any IPv address, will return null. /// </remarks> [JsiiProperty(name: "attrIpv6Addresses", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrIpv6Addresses { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: Ipv6AddressIds: IPv6 address IDs list of created ecs instances. Note: The return type is a two-tier list.If the instance does not have any IPv6 address, the element at the corresponding position in the list is null. If all instances does not have any IPv address, will return null. /// </remarks> [JsiiProperty(name: "attrIpv6AddressIds", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrIpv6AddressIds { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: OrderId: The order id list of created instance. /// </remarks> [JsiiProperty(name: "attrOrderId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrOrderId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: PrivateIps: Private IP address list of created ecs instances. Only for VPC instance. /// </remarks> [JsiiProperty(name: "attrPrivateIps", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrPrivateIps { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: PublicIps: Public IP address list of created ecs instances. /// </remarks> [JsiiProperty(name: "attrPublicIps", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrPublicIps { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: ZoneIds: Zone id of created instances. /// </remarks> [JsiiProperty(name: "attrZoneIds", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrZoneIds { 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>: instanceType: Ecs instance supported instance type, make sure it should be correct. /// </remarks> [JsiiProperty(name: "instanceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public virtual object InstanceType { 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>: maxAmount: Max number of instances to create, should be bigger than 'MinAmount' and smaller than 1000. /// </remarks> [JsiiProperty(name: "maxAmount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public virtual object MaxAmount { 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: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: affinity: Specifies whether to associate the instance on a dedicated host with the dedicated host. Valid values: /// - **default**: does not associate the ECS instance with the dedicated host. When you start an instance that was stopped in economical mode, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool if the available resources of the original dedicated host are insufficient. /// - **host**: associates the ECS instance with the dedicated host. When you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the available resources of the original dedicated host are insufficient, the instance cannot start. /// Default value: **default**. /// </remarks> [JsiiOptional] [JsiiProperty(name: "affinity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Affinity { 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>: allocatePublicIp: The public ip for ecs instance, if properties is true, will allocate public ip. If property InternetMaxBandwidthOut set to 0, it will not assign public ip. /// </remarks> [JsiiOptional] [JsiiProperty(name: "allocatePublicIp", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? AllocatePublicIp { 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>: autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time. format is 'yyyy-MM-ddTHH:mm:ssZ'. Not bigger than 3 years from this day onwards /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoReleaseTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? AutoReleaseTime { 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>: autoRenew: Whether renew the fee automatically? When the parameter InstanceChargeType is PrePaid, it will take effect. Range of value:True: automatic renewal.False: no automatic renewal. Default value is False.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoRenew", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? AutoRenew { 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>: autoRenewPeriod: The time period of auto renew. When the parameter InstanceChargeType is PrePaid, it will take effect.It could be 1, 2, 3, 6, 12, 24, 36, 48, 60. Default value is 1.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoRenewPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? AutoRenewPeriod { 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>: cpuOptions: Cpu options. /// </remarks> [JsiiOptional] [JsiiProperty(name: "cpuOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.CpuOptionsProperty\"}]}}", isOptional: true)] public virtual object? CpuOptions { 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.RosInstanceGroup.ICpuOptionsProperty 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.RosInstanceGroup.ICpuOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: creditSpecification: The performance mode of the burstable instance. Valid values: /// - **Standard**: the standard mode. /// - **Unlimited**: the unlimited mode. /// </remarks> [JsiiOptional] [JsiiProperty(name: "creditSpecification", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? CreditSpecification { 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>: dedicatedHostId: which dedicated host will be deployed /// </remarks> [JsiiOptional] [JsiiProperty(name: "dedicatedHostId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DedicatedHostId { 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>: deletionForce: Whether force delete the instance. Default value is false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deletionForce", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DeletionForce { 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>: deletionProtection: Whether an instance can be released manually through the console or API, deletion protection only support postPaid instance /// </remarks> [JsiiOptional] [JsiiProperty(name: "deletionProtection", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DeletionProtection { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case bool cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: deploymentSetGroupNo: The number of the deployment set group to which to deploy the instance. If the deployment set specified by **DeploymentSetId** uses the high availability group strategy (AvailabilityGroup), you can use **DeploymentSetGroupNo** to specify a deployment set group in the deployment set. Valid values: 1 to 7. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deploymentSetGroupNo", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DeploymentSetGroupNo { 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>: deploymentSetId: Deployment set ID. The change of the property does not affect existing instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deploymentSetId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DeploymentSetId { 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: Description of the instance, [2, 256] characters. Do not fill or empty, the default is empty. Old instances will not be changed. /// </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>: diskMappings: Disk mappings to attach to instance. Max support 16 disks. /// If the image contains a data disk, you can specify other parameters of the data disk via the same value of parameter "Device". If parameter "Category" is not specified, it will be cloud_efficiency instead of "Category" of data disk in the image.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "diskMappings", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.DiskMappingsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? DiskMappings { 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.RosInstanceGroup.IDiskMappingsProperty 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.RosInstanceGroup.IDiskMappingsProperty).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.RosInstanceGroup.IDiskMappingsProperty).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>: eniMappings: NetworkInterface to attach to instance. Max support 2 ENIs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "eniMappings", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.EniMappingsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? EniMappings { 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.RosInstanceGroup.IEniMappingsProperty 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.RosInstanceGroup.IEniMappingsProperty).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.RosInstanceGroup.IEniMappingsProperty).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>: hostName: Host name of created ecs instance. at least 2 characters, and '.' '-' Is not the first and last characters as hostname, not continuous use. Windows platform can be up to 15 characters, allowing letters (without limiting case), numbers and '-', and does not support the number of points, not all is digital ('.').Other (Linux, etc.) platform up to 64 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components. /// Support to use the regular expression to set the different instance name for each ECS instance. HostName could be specified as 'name_prefix[begin_number,bits]name_suffix', such as 'host[123,4]tail'. If you creates 3 instances with hostname 'host[123,4]tail', all the host names of instances are host0123tail, host0124tail, host0125tail. The 'name_prefix[begin_number,bits]name_suffix' should follow those rules: /// 1. 'name_prefix' is required. /// 2. 'name_suffix' is optional. /// 3. The name regular expression can't include any spaces. /// 4. The 'bits' must be in range [1, 6]. /// 5. The 'begin_number' must be in range [0, 999999]. /// 6. You could only specify 'begin_number'. The 'bits' will be set as 6 by default. /// 7. You also could only specify the [] or [,]. The 'begin_number' will be set as 0 by default, the 'bits' will be set as 6 by default. /// 8. If the bits of 'begin_number' is less than the 'bits' you specified, like [1234,1], the 'bits' will be set as 6 by default. /// The host name is specified by regular expression works after restart instance manually. /// </remarks> [JsiiOptional] [JsiiProperty(name: "hostName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? HostName { 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>: hostNames: The hostname of instance N. You can use this parameter to specify different hostnames for multiple instances. Take note of the following items: /// - The maximum value of N must be the same as the Amount value. For example, if you set Amount to 2, you can use HostNames.1 and HostNames.2 to specify hostnames for the individual instances. Examples: HostNames.1=test1 and HostNames.2=test2. /// - You cannot specify both HostName and HostNames.N. /// - The hostname cannot start or end with a period (.) or hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-). /// - For Windows instances, the hostname must be 2 to 15 characters in length and cannot contain periods (.) or contain only digits. The hostname can contain letters, digits, and hyphens (-). /// - For instances that run other operating systems such as Linux, the hostname must be 2 to 64 characters in length. You can use periods (.) to separate a hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-). /// </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 virtual object? HostNames { 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 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)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: hpcClusterId: The HPC cluster ID to which the instance belongs.The change of the property does not affect existing instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "hpcClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? HpcClusterId { 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>: httpEndpoint: Specifies whether the access channel is enabled for instance metadata. Valid values: /// - **enabled** /// - **disabled** /// Default value: **enabled**. /// </remarks> [JsiiOptional] [JsiiProperty(name: "httpEndpoint", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? HttpEndpoint { 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>: httpTokens: Specifies whether the security hardening mode (IMDSv2) is forcefully used to access instance metadata. Valid values: /// - **optional**: does not forcefully use the security-enhanced mode (IMDSv2). /// - **required**: forcefully uses the security-enhanced mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. /// Default value: **optional**. /// </remarks> [JsiiOptional] [JsiiProperty(name: "httpTokens", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? HttpTokens { 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>: imageFamily: The name of the image family. You can set this parameter to obtain the latest available custom image from the specified image family to create the instance. /// - **ImageFamily** must be empty if **ImageId** is specified. /// - **ImageFamily** can be specified if **ImageId** is not specified. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageFamily", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ImageFamily { 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>: imageId: Image ID to create ecs instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ImageId { 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>: imageOptions: Image options. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.ImageOptionsProperty\"}]}}", isOptional: true)] public virtual object? ImageOptions { 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.RosInstanceGroup.IImageOptionsProperty 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.RosInstanceGroup.IImageOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: instanceChargeType: Instance Charge type, allowed value: Prepaid and Postpaid. If specified Prepaid, please ensure you have sufficient balance in your account. Or instance creation will be failure. Default value is Postpaid.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? InstanceChargeType { 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>: instanceName: Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. /// Support to use the regular expression to set the different instance name for each ECS instance. InstanceName could be specified as 'name_prefix[begin_number,bits]name_suffix', such as 'testinstance[123,4]tail'. If you creates 3 instances with the instance name 'testinstance[123,4]tail', all the instances' names are testinstance0123tail, testinstance0124tail, testinstance0125tail. /// The 'name_prefix[begin_number,bits]name_suffix' should follow those rules: /// 1. 'name_prefix' is required. /// 2. 'name_suffix' is optional. /// 3. The name regular expression can't include any spaces. /// 4. The 'bits' must be in range [1, 6]. /// 5. The 'begin_number' must be in range [0, 999999]. /// 6. You could only specify 'begin_number'. The 'bits' will be set as 6 by default. /// 7. You also could only specify the [] or [,]. The 'begin_number' will be set as 0 by default, the 'bits' will be set as 6 by default. /// 8. If the bits of 'begin_number' is less than the 'bits' you specified, like [1234,1], the 'bits' will be set as 6 by default. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? InstanceName { 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>: internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. Default is PayByTraffic /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? InternetChargeType { 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>: internetMaxBandwidthOut: Set internet output bandwidth of instance. Unit is Mbps(Mega bit per second). Range is [0,200]. Default is 1.While the property is not 0, public ip will be assigned for instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? InternetMaxBandwidthOut { 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>: ioOptimized: The 'optimized' instance can provide better IO performance. Support 'none' and 'optimized' only, default is 'optimized'. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ioOptimized", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? IoOptimized { 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>: ipv6AddressCount: Specifies the number of randomly generated IPv6 addresses for the elastic NIC. /// Note You cannot specify the parameters Ipv6Addresses and Ipv6AddressCount at the same time. /// The change of the property does not affect existing instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ipv6AddressCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Ipv6AddressCount { 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>: ipv6Addresses: Specify one or more IPv6 addresses for the elastic NIC. Currently, the maximum list size is 1. Example value: 2001:db8:1234:1a00::*** . /// Note You cannot specify the parameters Ipv6Addresses and Ipv6AddressCount at the same time. /// The change of the property does not affect existing instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ipv6Addresses", typeJson: "{\"union\":{\"types\":[{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Ipv6Addresses { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case object[] 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: object[], {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: keyPairName: SSH key pair name.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "keyPairName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? KeyPairName { 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>: launchTemplateId: ID of launch template. Launch template id or name must be specified to use launch template /// </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>: launchTemplateName: Name of launch template. Launch template id or name must be specified to use launch template /// </remarks> [JsiiOptional] [JsiiProperty(name: "launchTemplateName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? LaunchTemplateName { 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: Version of launch template. Default version is used if version is not specified. /// </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>: networkInterfaceQueueNumber: The number of queues supported by the primary ENI. Take note of the following items: /// - The value of this parameter cannot exceed the maximum number of queues per ENI allowed for the instance type. /// - The total number of queues for all ENIs on the instance cannot exceed the queue quota for the instance type. /// - If NetworkInterface.N.InstanceType is set to Primary, you cannot specify NetworkInterfaceQueueNumber but can specify NetworkInterface.N.QueueNumber /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceQueueNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? NetworkInterfaceQueueNumber { 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>: networkOptions: Network options. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.NetworkOptionsProperty\"}]}}", isOptional: true)] public virtual object? NetworkOptions { 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.RosInstanceGroup.INetworkOptionsProperty 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.RosInstanceGroup.INetworkOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: networkType: Instance network type. Support 'vpc' and 'classic', for compatible reason, default is 'classic'. If vswitch id and vpc id is specified, the property will be forced to be set to 'vpc' /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? NetworkType { 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>: password: Password of created ecs instance. Must contain at least 3 types of special character, lower character, upper character, number. /// </remarks> [JsiiOptional] [JsiiProperty(name: "password", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Password { 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>: passwordInherit: Specifies whether to use the password preset in the image. To use the PasswordInherit parameter, the Password parameter must be empty and you must make sure that the selected image has a password configured. /// </remarks> [JsiiOptional] [JsiiProperty(name: "passwordInherit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? PasswordInherit { 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>: period: Prepaid time period. Unit is month, it could be from 1 to 9 or 12, 24, 36, 48, 60. Default value is 1.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Period { 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>: periodUnit: Unit of prepaid time period, it could be Week\/Month\/Year. Default value is Month.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? PeriodUnit { 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>: privateIpAddress: Private IP for the instance created. Only works for VPC instance and cannot duplicated with existing instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "privateIpAddress", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? PrivateIpAddress { 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>: privatePoolOptions: The options of the private pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "privatePoolOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.PrivatePoolOptionsProperty\"}]}}", isOptional: true)] public virtual object? PrivatePoolOptions { 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.RosInstanceGroup.IPrivatePoolOptionsProperty 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.RosInstanceGroup.IPrivatePoolOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: ramRoleName: Instance RAM role name. The name is provided and maintained by Resource Access Management (RAM) and can be queried using ListRoles. For more information, see RAM API CreateRole and ListRoles. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ramRoleName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? RamRoleName { 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: 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>: schedulerOptions: undefined /// </remarks> [JsiiOptional] [JsiiProperty(name: "schedulerOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.SchedulerOptionsProperty\"}]}}", isOptional: true)] public virtual object? SchedulerOptions { 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.RosInstanceGroup.ISchedulerOptionsProperty 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.RosInstanceGroup.ISchedulerOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: securityEnhancementStrategy: /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityEnhancementStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SecurityEnhancementStrategy { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: securityGroupId: Security group to create ecs instance. For classic instance need the security group not belong to VPC, for VPC instance, please make sure the security group belong to specified VPC. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SecurityGroupId { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: securityGroupIds: The IDs of security groups N to which the instance belongs. The valid values of N are based on the maximum number of security groups to which an instance can belong. For more information, see Security group limits.Note: You cannot specify both SecurityGroupId and SecurityGroupIds at the same time. /// </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 virtual object? SecurityGroupIds { 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 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)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: securityOptions: Security options. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.SecurityOptionsProperty\"}]}}", isOptional: true)] public virtual object? SecurityOptions { 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.RosInstanceGroup.ISecurityOptionsProperty 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.RosInstanceGroup.ISecurityOptionsProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: spotDuration: The protection period of the preemptible instance. Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6. /// Protection periods of 2, 3, 4, 5, and 6 hours are in invitational preview. If you want to set this parameter to one of these values, submit a ticket. /// If this parameter is set to 0, no protection period is configured for the preemptible instance. /// Default value: 1. /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotDuration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotDuration { 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>: spotInterruptionBehavior: The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate, which specifies to release the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotInterruptionBehavior", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotInterruptionBehavior { 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>: spotPriceLimit: The hourly price threshold of a instance, and it takes effect only when parameter InstanceChargeType is PostPaid. Three decimals is allowed at most. /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotPriceLimit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotPriceLimit { 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>: spotStrategy: The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter InstanceChargeType is PostPaid. Value range: "NoSpot: A regular Pay-As-You-Go instance", "SpotWithPriceLimit: A price threshold for a spot instance, ""SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance. "Default value: NoSpot. /// </remarks> [JsiiOptional] [JsiiProperty(name: "spotStrategy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SpotStrategy { 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>: storageSetId: The storage set ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "storageSetId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? StorageSetId { 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>: storageSetPartitionNumber: The maximum number of partitions in the storage set. The value must be greater than or equal to 2. /// </remarks> [JsiiOptional] [JsiiProperty(name: "storageSetPartitionNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? StorageSetPartitionNumber { 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>: systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskAutoSnapshotPolicyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskAutoSnapshotPolicyId { 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>: systemDiskBurstingEnabled: Whether enable bursting. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskBurstingEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskBurstingEnabled { 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>: systemDiskCategory: Category of system disk. Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto|cloud_essd_entry.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskCategory { 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>: systemDiskDescription: Description of created system disk.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskDescription", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskDescription { 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>: systemDiskDiskName: Name of created system disk.Old instances will not be changed. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskDiskName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskDiskName { 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>: systemDiskEncryptAlgorithm: The algorithm to use to encrypt the system disk. Valid values: /// - aes-256 /// - sm4-128 /// Default value: aes-256. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskEncryptAlgorithm", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskEncryptAlgorithm { 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>: systemDiskEncrypted: Specifies whether to encrypt the system disk. Valid values: /// - true: encrypts the system disk. /// - false: does not encrypt the system disk. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskEncrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskEncrypted { 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>: systemDiskKmsKeyId: The ID of the KMS key to use for the system disk. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskKmsKeyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskKmsKeyId { 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>: systemDiskPerformanceLevel: The performance level of the enhanced SSD used as the system disk.Default value: PL1. Valid values:PL0: A single enhanced SSD delivers up to 10,000 random read\/write IOPS.PL1: A single enhanced SSD delivers up to 50,000 random read\/write IOPS.PL2: A single enhanced SSD delivers up to 100,000 random read\/write IOPS.PL3: A single enhanced SSD delivers 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 virtual object? SystemDiskPerformanceLevel { 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>: systemDiskProvisionedIops: Provisioning IOPS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskProvisionedIops", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskProvisionedIops { 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>: systemDiskSize: Disk size of the system disk, range from 20 to 500 GB. If you specify with your own image, make sure the system disk size bigger than image size. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskSize { 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>: systemDiskStorageClusterId: The ID of the dedicated block storage cluster. If you want to use disks in a dedicated block storage cluster as system disks when you create instances, you must specify this parameter. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskStorageClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SystemDiskStorageClusterId { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required. /// </remarks> [JsiiOptional] [JsiiProperty(name: "tags", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@alicloud/ros-cdk-ecs.RosInstanceGroup.TagsProperty\"},\"kind\":\"array\"}}", isOptional: true)] public virtual AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ITagsProperty[]? Tags { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ITagsProperty[]?>(); set => SetInstanceProperty(value); } /// <remarks> /// <strong>Property</strong>: tenancy: Specifies whether to create the instance on a dedicated host. Valid values: /// - **default**: creates the instance on a non-dedicated host. /// - **host**: creates the instance on a dedicated host. If you do not specify **DedicatedHostId**, Alibaba Cloud selects a dedicated host for the instance. /// Default value: **default**. /// </remarks> [JsiiOptional] [JsiiProperty(name: "tenancy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Tenancy { 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>: uniqueSuffix: Specifies whether to automatically append incremental suffixes to the hostname specified by the **HostName** parameter and to the instance name specified by the **InstanceName** parameter when you batch create instances. The incremental suffixes can range from 001 to 999. Valid values: /// - **true**: appends incremental suffixes to the hostname and the instance name. /// - **false**: does not append incremental suffixes to the hostname or the instance name. /// Default value: **false**. /// When the **HostName** or **InstanceName** value is set in the name_prefix[begin_number,bits] format without a suffix (name_suffix), the **UniqueSuffix** parameter does not take effect. The names are sorted in the specified sequence. /// </remarks> [JsiiOptional] [JsiiProperty(name: "uniqueSuffix", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? UniqueSuffix { 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>: updatePolicy: Specify the policy at update. /// The value can be 'ForNewInstances' or 'ForAllInstances'. /// If UpdatePolicy is 'ForAllInstance', The updatable parameters are InstanceType, ImageId, SystemDiskSize, SystemDiskCategory, Password, UserData,InternetChargeType, InternetMaxBandwidthOut, InternetMaxBandwidthIn. /// The default is 'ForNewInstances' /// </remarks> [JsiiOptional] [JsiiProperty(name: "updatePolicy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? UpdatePolicy { 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>: useAdditionalService: Specifies whether to use the system configurations for virtual machines provided by Alibaba Cloud. System configurations for Windows: NTP and KMS. System configurations for Linux: NTP and YUM. /// </remarks> [JsiiOptional] [JsiiProperty(name: "useAdditionalService", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? UseAdditionalService { 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>: userData: User data to pass to instance. [1, 16KB] characters.User data should not be base64 encoded. If you want to pass base64 encoded string to the property, use function Fn::Base64Decode to decode the base64 string first. /// </remarks> [JsiiOptional] [JsiiProperty(name: "userData", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? UserData { 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>: vpcId: The VPC id to create ecs instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "vpcId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? VpcId { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: 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>: vSwitchId: The vSwitch Id to create ecs instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? VSwitchId { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: 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>: zoneId: The ID of the zone to which the instance belongs. For more information, /// call the DescribeZones operation to query the most recent zone list. /// Default value is empty, which means random selection. /// </remarks> [JsiiOptional] [JsiiProperty(name: "zoneId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ZoneId { 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>: zoneIds: Zone ids for query parameters /// </remarks> [JsiiOptional] [JsiiProperty(name: "zoneIds", 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 virtual object? ZoneIds { 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 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)); } } SetInstanceProperty(value); } } [JsiiInterface(nativeType: typeof(ICpuOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.CpuOptionsProperty")] public interface ICpuOptionsProperty { /// <remarks> /// <strong>Property</strong>: core: The number of CPU cores. This parameter cannot be specified but only uses its default value. /// </remarks> [JsiiProperty(name: "core", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Core { get { return null; } } /// <remarks> /// <strong>Property</strong>: threadsPerCore: The number of threads per CPU core. The following formula is used to calculate the number of vCPUs of the instance: CpuOptions.Core value × CpuOptions.ThreadsPerCore value. /// - If CpuOptionsThreadPerCore is set to 1, hyperthreading is disabled. /// - This parameter is applicable only to specific instance types. /// </remarks> [JsiiProperty(name: "threadsPerCore", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ThreadsPerCore { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ICpuOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.CpuOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ICpuOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: core: The number of CPU cores. This parameter cannot be specified but only uses its default value. /// </remarks> [JsiiOptional] [JsiiProperty(name: "core", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Core { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: threadsPerCore: The number of threads per CPU core. The following formula is used to calculate the number of vCPUs of the instance: CpuOptions.Core value × CpuOptions.ThreadsPerCore value. /// - If CpuOptionsThreadPerCore is set to 1, hyperthreading is disabled. /// - This parameter is applicable only to specific instance types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "threadsPerCore", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ThreadsPerCore { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.CpuOptionsProperty")] public class CpuOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ICpuOptionsProperty { private object? _core; /// <remarks> /// <strong>Property</strong>: core: The number of CPU cores. This parameter cannot be specified but only uses its default value. /// </remarks> [JsiiOptional] [JsiiProperty(name: "core", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Core { get => _core; 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)); } } _core = value; } } private object? _threadsPerCore; /// <remarks> /// <strong>Property</strong>: threadsPerCore: The number of threads per CPU core. The following formula is used to calculate the number of vCPUs of the instance: CpuOptions.Core value × CpuOptions.ThreadsPerCore value. /// - If CpuOptionsThreadPerCore is set to 1, hyperthreading is disabled. /// - This parameter is applicable only to specific instance types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "threadsPerCore", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ThreadsPerCore { get => _threadsPerCore; 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)); } } _threadsPerCore = value; } } } [JsiiInterface(nativeType: typeof(IDiskMappingsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.DiskMappingsProperty")] public interface IDiskMappingsProperty { /// <remarks> /// <strong>Property</strong>: size: The size of the volume, unit in GB.Value range: cloud: [5,2000], cloud_efficiency: [20,32768], cloud_ssd: [20,32768], cloud_essd: [20,32768], ephemeral_ssd: [5,800].The value should be equal to or greater than the specific snapshot. /// </remarks> [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Size { get; } /// <remarks> /// <strong>Property</strong>: autoSnapshotPolicyId: Auto snapshot policy ID. /// </remarks> [JsiiProperty(name: "autoSnapshotPolicyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? AutoSnapshotPolicyId { get { return null; } } /// <remarks> /// <strong>Property</strong>: burstingEnabled: Whether enable bursting. /// </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 volume type.Now support: cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto. Default is cloud_efficiency. /// </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>: description: Description of the disk, [2, 256] characters. Do not fill or empty, the default is empty. /// </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 device where the volume is exposed on the instance. could be \/dev\/xvd[a-z]. If not specification, will use default value. /// </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: Display name of the disk, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. /// </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: Whether the data disk is encrypted or not. Options: /// true: Encrypted. /// false: Not encrypted. /// Default value: false. /// </remarks> [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Encrypted { get { return null; } } /// <remarks> /// <strong>Property</strong>: kmsKeyId: The KMS key ID for the 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 enhanced SSD used as the Nth data disk.Default value: PL1. Valid values:PL0: A single enhanced SSD delivers up to 10,000 random read\/write IOPS.PL1: A single enhanced SSD delivers up to 50,000 random read\/write IOPS.PL2: A single enhanced SSD delivers up to 100,000 random read\/write IOPS.PL3: A single enhanced SSD delivers 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: Provisioning IOPS. /// </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>: snapshotId: ID of the snapshot to create the volume. /// </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; } } /// <remarks> /// <strong>Property</strong>: storageClusterId: The ID of the dedicated block storage cluster to which data disk N belongs. If you want to use a disk in a dedicated block storage cluster as data disk N when you create the instance, you must specify this parameter. /// </remarks> [JsiiProperty(name: "storageClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? StorageClusterId { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IDiskMappingsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.DiskMappingsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IDiskMappingsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: size: The size of the volume, unit in GB.Value range: cloud: [5,2000], cloud_efficiency: [20,32768], cloud_ssd: [20,32768], cloud_essd: [20,32768], ephemeral_ssd: [5,800].The value should be equal to or greater than the specific snapshot. /// </remarks> [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Size { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: autoSnapshotPolicyId: Auto snapshot policy ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoSnapshotPolicyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? AutoSnapshotPolicyId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: burstingEnabled: Whether enable bursting. /// </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 volume type.Now support: cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto. Default is cloud_efficiency. /// </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>: description: Description of the disk, [2, 256] characters. Do not fill or empty, the default is empty. /// </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 device where the volume is exposed on the instance. could be \/dev\/xvd[a-z]. If not specification, will use default value. /// </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: Display name of the disk, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. /// </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: Whether the data disk is encrypted or not. Options: /// true: Encrypted. /// false: Not encrypted. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Encrypted { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: kmsKeyId: The KMS key ID for the 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 enhanced SSD used as the Nth data disk.Default value: PL1. Valid values:PL0: A single enhanced SSD delivers up to 10,000 random read\/write IOPS.PL1: A single enhanced SSD delivers up to 50,000 random read\/write IOPS.PL2: A single enhanced SSD delivers up to 100,000 random read\/write IOPS.PL3: A single enhanced SSD delivers 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: Provisioning IOPS. /// </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>: snapshotId: ID of the snapshot to create the volume. /// </remarks> [JsiiOptional] [JsiiProperty(name: "snapshotId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SnapshotId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: storageClusterId: The ID of the dedicated block storage cluster to which data disk N belongs. If you want to use a disk in a dedicated block storage cluster as data disk N when you create the instance, you must specify this parameter. /// </remarks> [JsiiOptional] [JsiiProperty(name: "storageClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? StorageClusterId { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.DiskMappingsProperty")] public class DiskMappingsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IDiskMappingsProperty { private object _size; /// <remarks> /// <strong>Property</strong>: size: The size of the volume, unit in GB.Value range: cloud: [5,2000], cloud_efficiency: [20,32768], cloud_ssd: [20,32768], cloud_essd: [20,32768], ephemeral_ssd: [5,800].The value should be equal to or greater than the specific snapshot. /// </remarks> [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Size { get => _size; 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)); } } _size = value; } } private object? _autoSnapshotPolicyId; /// <remarks> /// <strong>Property</strong>: autoSnapshotPolicyId: Auto snapshot policy ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "autoSnapshotPolicyId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? AutoSnapshotPolicyId { get => _autoSnapshotPolicyId; 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)); } } _autoSnapshotPolicyId = value; } } private object? _burstingEnabled; /// <remarks> /// <strong>Property</strong>: burstingEnabled: Whether enable bursting. /// </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 volume type.Now support: cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto. Default is cloud_efficiency. /// </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? _description; /// <remarks> /// <strong>Property</strong>: description: Description of the disk, [2, 256] characters. Do not fill or empty, the default is empty. /// </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 device where the volume is exposed on the instance. could be \/dev\/xvd[a-z]. If not specification, will use default value. /// </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: Display name of the disk, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. /// </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: Whether the data disk is encrypted or not. Options: /// true: Encrypted. /// false: Not encrypted. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Encrypted { get => _encrypted; 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)); } } _encrypted = value; } } private object? _kmsKeyId; /// <remarks> /// <strong>Property</strong>: kmsKeyId: The KMS key ID for the 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 enhanced SSD used as the Nth data disk.Default value: PL1. Valid values:PL0: A single enhanced SSD delivers up to 10,000 random read\/write IOPS.PL1: A single enhanced SSD delivers up to 50,000 random read\/write IOPS.PL2: A single enhanced SSD delivers up to 100,000 random read\/write IOPS.PL3: A single enhanced SSD delivers 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: Provisioning IOPS. /// </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? _snapshotId; /// <remarks> /// <strong>Property</strong>: snapshotId: ID of the snapshot to create the volume. /// </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; } } private object? _storageClusterId; /// <remarks> /// <strong>Property</strong>: storageClusterId: The ID of the dedicated block storage cluster to which data disk N belongs. If you want to use a disk in a dedicated block storage cluster as data disk N when you create the instance, you must specify this parameter. /// </remarks> [JsiiOptional] [JsiiProperty(name: "storageClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? StorageClusterId { get => _storageClusterId; 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)); } } _storageClusterId = value; } } } [JsiiInterface(nativeType: typeof(IEniMappingsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.EniMappingsProperty")] public interface IEniMappingsProperty { /// <remarks> /// <strong>Property</strong>: deleteOnRelease: Specifies whether to retain the ENI when the associated instance is released. Valid values: /// - **true** /// - **false** /// Default value: **true**. /// **Note**: This parameter takes effect only for secondary ENIs. /// </remarks> [JsiiProperty(name: "deleteOnRelease", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DeleteOnRelease { get { return null; } } /// <remarks> /// <strong>Property</strong>: description: Description of your ENI. It is a string of [2, 256] English or Chinese characters. /// </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>: instanceType: The type of ENI. Default value: Secondary. /// </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>: ipv6AddressCount: The number of randomly generated IPv6 addresses that are assigned to the ENI. /// </remarks> [JsiiProperty(name: "ipv6AddressCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Ipv6AddressCount { get { return null; } } /// <remarks> /// <strong>Property</strong>: ipv6Addresses: The IPv6 address N to assign to the ENI. /// </remarks> [JsiiProperty(name: "ipv6Addresses", 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? Ipv6Addresses { get { return null; } } /// <remarks> /// <strong>Property</strong>: networkCardIndex: The index of the network card for ENI N. /// Take note of the following items: /// - You can specify network card indexes only for instances of specific instance types. /// - When NetworkInterface.N.InstanceType is set to **Primary**, you can set **NetworkInterface.N.NetworkCardIndex** only to 0 for instance types that support network cards. /// - When **NetworkInterface.N.InstanceType** is set to **Secondary** or left empty, you can set **NetworkInterface.N.NetworkCardIndex** based on instance types if the instance types support network cards. /// </remarks> [JsiiProperty(name: "networkCardIndex", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? NetworkCardIndex { get { return null; } } /// <remarks> /// <strong>Property</strong>: networkInterfaceId: The ID of the ENI to attach to the instance. /// **Note**: This parameter takes effect only for secondary ENIs. /// </remarks> [JsiiProperty(name: "networkInterfaceId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? NetworkInterfaceId { get { return null; } } /// <remarks> /// <strong>Property</strong>: networkInterfaceName: Name of your ENI. It is a string of [2, 128] Chinese or English characters. It must begin with a letter and can contain numbers, underscores (_), colons (:), or hyphens (-). /// </remarks> [JsiiProperty(name: "networkInterfaceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? NetworkInterfaceName { get { return null; } } /// <remarks> /// <strong>Property</strong>: networkInterfaceTrafficMode: The communication mode of the ENI. Valid values: /// Standard: uses the TCP communication mode. /// HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode. /// </remarks> [JsiiProperty(name: "networkInterfaceTrafficMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? NetworkInterfaceTrafficMode { get { return null; } } /// <remarks> /// <strong>Property</strong>: primaryIpAddress: The primary private IP address of the ENI. The specified IP address must have the same Host ID as the VSwitch. If no IP addresses are specified, a random network ID is assigned for the ENI. /// </remarks> [JsiiProperty(name: "primaryIpAddress", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? PrimaryIpAddress { get { return null; } } /// <remarks> /// <strong>Property</strong>: queueNumber: The number of queues that are supported by the ENI. Valid values: 1 to 2048. /// When you attach the ENI to an instance, make sure that the value of this parameter is less than the maximum number of queues per ENI that is allowed for the instance type. To view the maximum number of queues per ENI allowed for an instance type, you can call DescribeInstanceTypes and then check the return value of MaximumQueueNumberPerEni. /// By default, this parameter is empty. If you do not specify this parameter, the default number of queues per ENI for the instance type of an instance is used when you attach the ENI to the instance. To learn about the default number of queues per ENI for an instance type, you can call DescribeInstanceTypes and then check the return value of SecondaryEniQueueNumber. /// </remarks> [JsiiProperty(name: "queueNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? QueueNumber { get { return null; } } /// <remarks> /// <strong>Property</strong>: queuePairNumber: The number of queues supported by the ERI. /// </remarks> [JsiiProperty(name: "queuePairNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? QueuePairNumber { get { return null; } } /// <remarks> /// <strong>Property</strong>: securityGroupId: The ID of the security group that the ENI joins. The security group and the ENI must be in a same VPC. /// </remarks> [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SecurityGroupId { get { return null; } } /// <remarks> /// <strong>Property</strong>: securityGroupIds: The IDs of security groups to which to assign ENI /// Note: You cannot specify both SecurityGroupId and SecurityGroupIds at the same time. /// </remarks> [JsiiProperty(name: "securityGroupIds", typeJson: "{\"union\":{\"types\":[{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SecurityGroupIds { get { return null; } } /// <remarks> /// <strong>Property</strong>: vSwitchId: VSwitch ID of the specified VPC. Specifies the switch ID for the VPC. /// </remarks> [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? VSwitchId { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IEniMappingsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.EniMappingsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IEniMappingsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: deleteOnRelease: Specifies whether to retain the ENI when the associated instance is released. Valid values: /// - **true** /// - **false** /// Default value: **true**. /// **Note**: This parameter takes effect only for secondary ENIs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deleteOnRelease", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DeleteOnRelease { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: description: Description of your ENI. It is a string of [2, 256] English or Chinese characters. /// </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>: instanceType: The type of ENI. Default value: Secondary. /// </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>: ipv6AddressCount: The number of randomly generated IPv6 addresses that are assigned to the ENI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ipv6AddressCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Ipv6AddressCount { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: ipv6Addresses: The IPv6 address N to assign to the ENI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ipv6Addresses", 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? Ipv6Addresses { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: networkCardIndex: The index of the network card for ENI N. /// Take note of the following items: /// - You can specify network card indexes only for instances of specific instance types. /// - When NetworkInterface.N.InstanceType is set to **Primary**, you can set **NetworkInterface.N.NetworkCardIndex** only to 0 for instance types that support network cards. /// - When **NetworkInterface.N.InstanceType** is set to **Secondary** or left empty, you can set **NetworkInterface.N.NetworkCardIndex** based on instance types if the instance types support network cards. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkCardIndex", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkCardIndex { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: networkInterfaceId: The ID of the ENI to attach to the instance. /// **Note**: This parameter takes effect only for secondary ENIs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkInterfaceId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: networkInterfaceName: Name of your ENI. It is a string of [2, 128] Chinese or English characters. It must begin with a letter and can contain numbers, underscores (_), colons (:), or hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkInterfaceName { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: networkInterfaceTrafficMode: The communication mode of the ENI. Valid values: /// Standard: uses the TCP communication mode. /// HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceTrafficMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkInterfaceTrafficMode { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: primaryIpAddress: The primary private IP address of the ENI. The specified IP address must have the same Host ID as the VSwitch. If no IP addresses are specified, a random network ID is assigned for the ENI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "primaryIpAddress", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PrimaryIpAddress { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: queueNumber: The number of queues that are supported by the ENI. Valid values: 1 to 2048. /// When you attach the ENI to an instance, make sure that the value of this parameter is less than the maximum number of queues per ENI that is allowed for the instance type. To view the maximum number of queues per ENI allowed for an instance type, you can call DescribeInstanceTypes and then check the return value of MaximumQueueNumberPerEni. /// By default, this parameter is empty. If you do not specify this parameter, the default number of queues per ENI for the instance type of an instance is used when you attach the ENI to the instance. To learn about the default number of queues per ENI for an instance type, you can call DescribeInstanceTypes and then check the return value of SecondaryEniQueueNumber. /// </remarks> [JsiiOptional] [JsiiProperty(name: "queueNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? QueueNumber { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: queuePairNumber: The number of queues supported by the ERI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "queuePairNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? QueuePairNumber { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: securityGroupId: The ID of the security group that the ENI joins. The security group and the ENI must be in a same VPC. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SecurityGroupId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: securityGroupIds: The IDs of security groups to which to assign ENI /// Note: You cannot specify both SecurityGroupId and SecurityGroupIds at the same time. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupIds", typeJson: "{\"union\":{\"types\":[{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SecurityGroupIds { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: vSwitchId: VSwitch ID of the specified VPC. Specifies the switch ID for the VPC. /// </remarks> [JsiiOptional] [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? VSwitchId { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.EniMappingsProperty")] public class EniMappingsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IEniMappingsProperty { private object? _deleteOnRelease; /// <remarks> /// <strong>Property</strong>: deleteOnRelease: Specifies whether to retain the ENI when the associated instance is released. Valid values: /// - **true** /// - **false** /// Default value: **true**. /// **Note**: This parameter takes effect only for secondary ENIs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deleteOnRelease", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DeleteOnRelease { get => _deleteOnRelease; 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)); } } _deleteOnRelease = value; } } private object? _description; /// <remarks> /// <strong>Property</strong>: description: Description of your ENI. It is a string of [2, 256] English or Chinese characters. /// </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? _instanceType; /// <remarks> /// <strong>Property</strong>: instanceType: The type of ENI. Default value: Secondary. /// </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? _ipv6AddressCount; /// <remarks> /// <strong>Property</strong>: ipv6AddressCount: The number of randomly generated IPv6 addresses that are assigned to the ENI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ipv6AddressCount", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Ipv6AddressCount { get => _ipv6AddressCount; 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)); } } _ipv6AddressCount = value; } } private object? _ipv6Addresses; /// <remarks> /// <strong>Property</strong>: ipv6Addresses: The IPv6 address N to assign to the ENI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "ipv6Addresses", 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? Ipv6Addresses { get => _ipv6Addresses; 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)); } } _ipv6Addresses = value; } } private object? _networkCardIndex; /// <remarks> /// <strong>Property</strong>: networkCardIndex: The index of the network card for ENI N. /// Take note of the following items: /// - You can specify network card indexes only for instances of specific instance types. /// - When NetworkInterface.N.InstanceType is set to **Primary**, you can set **NetworkInterface.N.NetworkCardIndex** only to 0 for instance types that support network cards. /// - When **NetworkInterface.N.InstanceType** is set to **Secondary** or left empty, you can set **NetworkInterface.N.NetworkCardIndex** based on instance types if the instance types support network cards. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkCardIndex", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkCardIndex { get => _networkCardIndex; 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)); } } _networkCardIndex = value; } } private object? _networkInterfaceId; /// <remarks> /// <strong>Property</strong>: networkInterfaceId: The ID of the ENI to attach to the instance. /// **Note**: This parameter takes effect only for secondary ENIs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkInterfaceId { get => _networkInterfaceId; 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)); } } _networkInterfaceId = value; } } private object? _networkInterfaceName; /// <remarks> /// <strong>Property</strong>: networkInterfaceName: Name of your ENI. It is a string of [2, 128] Chinese or English characters. It must begin with a letter and can contain numbers, underscores (_), colons (:), or hyphens (-). /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkInterfaceName { get => _networkInterfaceName; 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)); } } _networkInterfaceName = value; } } private object? _networkInterfaceTrafficMode; /// <remarks> /// <strong>Property</strong>: networkInterfaceTrafficMode: The communication mode of the ENI. Valid values: /// Standard: uses the TCP communication mode. /// HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode. /// </remarks> [JsiiOptional] [JsiiProperty(name: "networkInterfaceTrafficMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NetworkInterfaceTrafficMode { get => _networkInterfaceTrafficMode; 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)); } } _networkInterfaceTrafficMode = value; } } private object? _primaryIpAddress; /// <remarks> /// <strong>Property</strong>: primaryIpAddress: The primary private IP address of the ENI. The specified IP address must have the same Host ID as the VSwitch. If no IP addresses are specified, a random network ID is assigned for the ENI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "primaryIpAddress", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PrimaryIpAddress { get => _primaryIpAddress; 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)); } } _primaryIpAddress = value; } } private object? _queueNumber; /// <remarks> /// <strong>Property</strong>: queueNumber: The number of queues that are supported by the ENI. Valid values: 1 to 2048. /// When you attach the ENI to an instance, make sure that the value of this parameter is less than the maximum number of queues per ENI that is allowed for the instance type. To view the maximum number of queues per ENI allowed for an instance type, you can call DescribeInstanceTypes and then check the return value of MaximumQueueNumberPerEni. /// By default, this parameter is empty. If you do not specify this parameter, the default number of queues per ENI for the instance type of an instance is used when you attach the ENI to the instance. To learn about the default number of queues per ENI for an instance type, you can call DescribeInstanceTypes and then check the return value of SecondaryEniQueueNumber. /// </remarks> [JsiiOptional] [JsiiProperty(name: "queueNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? QueueNumber { get => _queueNumber; 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)); } } _queueNumber = value; } } private object? _queuePairNumber; /// <remarks> /// <strong>Property</strong>: queuePairNumber: The number of queues supported by the ERI. /// </remarks> [JsiiOptional] [JsiiProperty(name: "queuePairNumber", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? QueuePairNumber { get => _queuePairNumber; 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)); } } _queuePairNumber = value; } } private object? _securityGroupId; /// <remarks> /// <strong>Property</strong>: securityGroupId: The ID of the security group that the ENI joins. The security group and the ENI must be in a same VPC. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] 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: 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)); } } _securityGroupId = value; } } private object? _securityGroupIds; /// <remarks> /// <strong>Property</strong>: securityGroupIds: The IDs of security groups to which to assign ENI /// Note: You cannot specify both SecurityGroupId and SecurityGroupIds at the same time. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupIds", typeJson: "{\"union\":{\"types\":[{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SecurityGroupIds { get => _securityGroupIds; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case object[] 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: object[], {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _securityGroupIds = value; } } private object? _vSwitchId; /// <remarks> /// <strong>Property</strong>: vSwitchId: VSwitch ID of the specified VPC. Specifies the switch ID for the VPC. /// </remarks> [JsiiOptional] [JsiiProperty(name: "vSwitchId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] 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: 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)); } } _vSwitchId = value; } } } [JsiiInterface(nativeType: typeof(IImageOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.ImageOptionsProperty")] public interface IImageOptionsProperty { /// <remarks> /// <strong>Property</strong>: loginAsNonRoot: Specifies whether the instance that uses the image supports logons of the ecs-user user. Valid values: /// - true /// - false /// </remarks> [JsiiProperty(name: "loginAsNonRoot", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? LoginAsNonRoot { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IImageOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.ImageOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IImageOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: loginAsNonRoot: Specifies whether the instance that uses the image supports logons of the ecs-user user. Valid values: /// - true /// - false /// </remarks> [JsiiOptional] [JsiiProperty(name: "loginAsNonRoot", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? LoginAsNonRoot { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.ImageOptionsProperty")] public class ImageOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IImageOptionsProperty { private object? _loginAsNonRoot; /// <remarks> /// <strong>Property</strong>: loginAsNonRoot: Specifies whether the instance that uses the image supports logons of the ecs-user user. Valid values: /// - true /// - false /// </remarks> [JsiiOptional] [JsiiProperty(name: "loginAsNonRoot", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? LoginAsNonRoot { get => _loginAsNonRoot; 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)); } } _loginAsNonRoot = value; } } } [JsiiInterface(nativeType: typeof(INetworkOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.NetworkOptionsProperty")] public interface INetworkOptionsProperty { /// <remarks> /// <strong>Property</strong>: enableJumboFrame: Specifies whether to enable the Jumbo Frame feature for the instance. Valid values: /// - **false**: does not enable the Jumbo Frame feature for the instance. The maximum transmission unit (MTU) value of all ENIs on the instance is set to 1500. /// - **true**: enables the Jumbo Frame feature for the instance. The MTU value of all ENIs on the instance is set to 8500. /// Default value: true. /// **Note**: The Jumbo Frame feature is supported by only 8th-generation or later instance types. /// </remarks> [JsiiProperty(name: "enableJumboFrame", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? EnableJumboFrame { get { return null; } } [JsiiTypeProxy(nativeType: typeof(INetworkOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.NetworkOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.INetworkOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: enableJumboFrame: Specifies whether to enable the Jumbo Frame feature for the instance. Valid values: /// - **false**: does not enable the Jumbo Frame feature for the instance. The maximum transmission unit (MTU) value of all ENIs on the instance is set to 1500. /// - **true**: enables the Jumbo Frame feature for the instance. The MTU value of all ENIs on the instance is set to 8500. /// Default value: true. /// **Note**: The Jumbo Frame feature is supported by only 8th-generation or later instance types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "enableJumboFrame", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? EnableJumboFrame { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.NetworkOptionsProperty")] public class NetworkOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.INetworkOptionsProperty { private object? _enableJumboFrame; /// <remarks> /// <strong>Property</strong>: enableJumboFrame: Specifies whether to enable the Jumbo Frame feature for the instance. Valid values: /// - **false**: does not enable the Jumbo Frame feature for the instance. The maximum transmission unit (MTU) value of all ENIs on the instance is set to 1500. /// - **true**: enables the Jumbo Frame feature for the instance. The MTU value of all ENIs on the instance is set to 8500. /// Default value: true. /// **Note**: The Jumbo Frame feature is supported by only 8th-generation or later instance types. /// </remarks> [JsiiOptional] [JsiiProperty(name: "enableJumboFrame", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? EnableJumboFrame { get => _enableJumboFrame; 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)); } } _enableJumboFrame = value; } } } [JsiiInterface(nativeType: typeof(IPrivatePoolOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.PrivatePoolOptionsProperty")] public interface IPrivatePoolOptionsProperty { /// <remarks> /// <strong>Property</strong>: identity: The private pool ID. The ID of a private pool is the same as that of the elasticity assurance or capacity reservation for which the private pool is generated. /// </remarks> [JsiiProperty(name: "identity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Identity { get { return null; } } /// <remarks> /// <strong>Property</strong>: matchCriteria: The type of the private pool to use to create the instance. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool when you create an instance. Valid values: /// - **Open**: open private pool. The system selects a matching open private pool to create the instance. If no matching private pools are found, resources in the public pool are used. When you set this parameter to Open, you can leave PrivatePoolOptions.Id empty. /// - **Target**: specified private pool. The system uses the capacity in a specified private pool to create the instance. If the specified private pool is unavailable, the instance cannot be created. If you set this parameter to Target, you must specify PrivatePoolOptions.Id. /// - **None**: no private pool. The capacity in private pools is not used. /// Default value: **None**. /// In the following scenarios, PrivatePoolOptions.MatchCriteria can be set only to **None** or left empty: /// - Create a preemptible instance. /// - Create an instance in the classic network. /// - Create an instance on a dedicated host. /// </remarks> [JsiiProperty(name: "matchCriteria", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? MatchCriteria { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IPrivatePoolOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.PrivatePoolOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IPrivatePoolOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: identity: The private pool ID. The ID of a private pool is the same as that of the elasticity assurance or capacity reservation for which the private pool is generated. /// </remarks> [JsiiOptional] [JsiiProperty(name: "identity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Identity { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: matchCriteria: The type of the private pool to use to create the instance. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool when you create an instance. Valid values: /// - **Open**: open private pool. The system selects a matching open private pool to create the instance. If no matching private pools are found, resources in the public pool are used. When you set this parameter to Open, you can leave PrivatePoolOptions.Id empty. /// - **Target**: specified private pool. The system uses the capacity in a specified private pool to create the instance. If the specified private pool is unavailable, the instance cannot be created. If you set this parameter to Target, you must specify PrivatePoolOptions.Id. /// - **None**: no private pool. The capacity in private pools is not used. /// Default value: **None**. /// In the following scenarios, PrivatePoolOptions.MatchCriteria can be set only to **None** or left empty: /// - Create a preemptible instance. /// - Create an instance in the classic network. /// - Create an instance on a dedicated host. /// </remarks> [JsiiOptional] [JsiiProperty(name: "matchCriteria", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? MatchCriteria { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.PrivatePoolOptionsProperty")] public class PrivatePoolOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.IPrivatePoolOptionsProperty { private object? _identity; /// <remarks> /// <strong>Property</strong>: identity: The private pool ID. The ID of a private pool is the same as that of the elasticity assurance or capacity reservation for which the private pool is generated. /// </remarks> [JsiiOptional] [JsiiProperty(name: "identity", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Identity { get => _identity; 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)); } } _identity = value; } } private object? _matchCriteria; /// <remarks> /// <strong>Property</strong>: matchCriteria: The type of the private pool to use to create the instance. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool when you create an instance. Valid values: /// - **Open**: open private pool. The system selects a matching open private pool to create the instance. If no matching private pools are found, resources in the public pool are used. When you set this parameter to Open, you can leave PrivatePoolOptions.Id empty. /// - **Target**: specified private pool. The system uses the capacity in a specified private pool to create the instance. If the specified private pool is unavailable, the instance cannot be created. If you set this parameter to Target, you must specify PrivatePoolOptions.Id. /// - **None**: no private pool. The capacity in private pools is not used. /// Default value: **None**. /// In the following scenarios, PrivatePoolOptions.MatchCriteria can be set only to **None** or left empty: /// - Create a preemptible instance. /// - Create an instance in the classic network. /// - Create an instance on a dedicated host. /// </remarks> [JsiiOptional] [JsiiProperty(name: "matchCriteria", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? MatchCriteria { get => _matchCriteria; 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)); } } _matchCriteria = value; } } } [JsiiInterface(nativeType: typeof(ISchedulerOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.SchedulerOptionsProperty")] public interface ISchedulerOptionsProperty { /// <remarks> /// <strong>Property</strong>: dedicatedHostClusterId: The ID of the dedicated host cluster in which to create the instance. After this parameter is specified, the system selects one dedicated host from the specified cluster to create the instance. /// **Note**: This parameter is valid only when **Tenancy** is set to host. /// When you specify both **DedicatedHostId** and **SchedulerOptions.DedicatedHostClusterId**, take note of the following items: /// - If the specified dedicated host belongs to the specified dedicated host cluster, the instance is preferentially deployed on the specified dedicated host. /// - If the specified dedicated host does not belong to the specified dedicated host cluster, the instance cannot be created. /// </remarks> [JsiiProperty(name: "dedicatedHostClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DedicatedHostClusterId { get { return null; } } /// <remarks> /// <strong>Property</strong>: managedPrivateSpaceId: Managed private resource pool ID. /// </remarks> [JsiiProperty(name: "managedPrivateSpaceId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ManagedPrivateSpaceId { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ISchedulerOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.SchedulerOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ISchedulerOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: dedicatedHostClusterId: The ID of the dedicated host cluster in which to create the instance. After this parameter is specified, the system selects one dedicated host from the specified cluster to create the instance. /// **Note**: This parameter is valid only when **Tenancy** is set to host. /// When you specify both **DedicatedHostId** and **SchedulerOptions.DedicatedHostClusterId**, take note of the following items: /// - If the specified dedicated host belongs to the specified dedicated host cluster, the instance is preferentially deployed on the specified dedicated host. /// - If the specified dedicated host does not belong to the specified dedicated host cluster, the instance cannot be created. /// </remarks> [JsiiOptional] [JsiiProperty(name: "dedicatedHostClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DedicatedHostClusterId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: managedPrivateSpaceId: Managed private resource pool ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "managedPrivateSpaceId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ManagedPrivateSpaceId { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.SchedulerOptionsProperty")] public class SchedulerOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ISchedulerOptionsProperty { private object? _dedicatedHostClusterId; /// <remarks> /// <strong>Property</strong>: dedicatedHostClusterId: The ID of the dedicated host cluster in which to create the instance. After this parameter is specified, the system selects one dedicated host from the specified cluster to create the instance. /// **Note**: This parameter is valid only when **Tenancy** is set to host. /// When you specify both **DedicatedHostId** and **SchedulerOptions.DedicatedHostClusterId**, take note of the following items: /// - If the specified dedicated host belongs to the specified dedicated host cluster, the instance is preferentially deployed on the specified dedicated host. /// - If the specified dedicated host does not belong to the specified dedicated host cluster, the instance cannot be created. /// </remarks> [JsiiOptional] [JsiiProperty(name: "dedicatedHostClusterId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DedicatedHostClusterId { get => _dedicatedHostClusterId; 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)); } } _dedicatedHostClusterId = value; } } private object? _managedPrivateSpaceId; /// <remarks> /// <strong>Property</strong>: managedPrivateSpaceId: Managed private resource pool ID. /// </remarks> [JsiiOptional] [JsiiProperty(name: "managedPrivateSpaceId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ManagedPrivateSpaceId { get => _managedPrivateSpaceId; 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)); } } _managedPrivateSpaceId = value; } } } [JsiiInterface(nativeType: typeof(ISecurityOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.SecurityOptionsProperty")] public interface ISecurityOptionsProperty { /// <remarks> /// <strong>Property</strong>: trustedSystemMode: The trusted system mode. Set the value to vTPM. /// The trusted system mode supports the following instance families: /// - g7, c7, and r7 /// - Security-enhanced instance families: g7t, c7t, and r7t /// When you create instances of the preceding instance families, you must set this parameter. Take note of the following items: /// - To use Alibaba Cloud Trusted System, set this parameter to vTPM. Then, Alibaba Cloud Trusted System performs trust verifications when the instances start. /// - If you do not want to use Alibaba Cloud Trusted System, leave this parameter empty. Take note that if your created instances use an enclave-based confidential computing environment (with SecurityOptions.ConfidentialComputingMode set to Enclave), Alibaba Cloud Trusted System is enabled for the instances. /// - When you use the ECS API to create instances that use Alibaba Cloud Trusted System, you can call only the RunInstances operation. The CreateInstance operation does not support the SecurityOptions.TrustedSystemMode parameter. /// **Note**: If you have configured an instance as a trusted instance when you created the instance, you can use only an image that supports Alibaba Cloud Trusted System to replace the system disk of the instance. /// </remarks> [JsiiProperty(name: "trustedSystemMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? TrustedSystemMode { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ISecurityOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.SecurityOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ISecurityOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: trustedSystemMode: The trusted system mode. Set the value to vTPM. /// The trusted system mode supports the following instance families: /// - g7, c7, and r7 /// - Security-enhanced instance families: g7t, c7t, and r7t /// When you create instances of the preceding instance families, you must set this parameter. Take note of the following items: /// - To use Alibaba Cloud Trusted System, set this parameter to vTPM. Then, Alibaba Cloud Trusted System performs trust verifications when the instances start. /// - If you do not want to use Alibaba Cloud Trusted System, leave this parameter empty. Take note that if your created instances use an enclave-based confidential computing environment (with SecurityOptions.ConfidentialComputingMode set to Enclave), Alibaba Cloud Trusted System is enabled for the instances. /// - When you use the ECS API to create instances that use Alibaba Cloud Trusted System, you can call only the RunInstances operation. The CreateInstance operation does not support the SecurityOptions.TrustedSystemMode parameter. /// **Note**: If you have configured an instance as a trusted instance when you created the instance, you can use only an image that supports Alibaba Cloud Trusted System to replace the system disk of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "trustedSystemMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? TrustedSystemMode { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.SecurityOptionsProperty")] public class SecurityOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ISecurityOptionsProperty { private object? _trustedSystemMode; /// <remarks> /// <strong>Property</strong>: trustedSystemMode: The trusted system mode. Set the value to vTPM. /// The trusted system mode supports the following instance families: /// - g7, c7, and r7 /// - Security-enhanced instance families: g7t, c7t, and r7t /// When you create instances of the preceding instance families, you must set this parameter. Take note of the following items: /// - To use Alibaba Cloud Trusted System, set this parameter to vTPM. Then, Alibaba Cloud Trusted System performs trust verifications when the instances start. /// - If you do not want to use Alibaba Cloud Trusted System, leave this parameter empty. Take note that if your created instances use an enclave-based confidential computing environment (with SecurityOptions.ConfidentialComputingMode set to Enclave), Alibaba Cloud Trusted System is enabled for the instances. /// - When you use the ECS API to create instances that use Alibaba Cloud Trusted System, you can call only the RunInstances operation. The CreateInstance operation does not support the SecurityOptions.TrustedSystemMode parameter. /// **Note**: If you have configured an instance as a trusted instance when you created the instance, you can use only an image that supports Alibaba Cloud Trusted System to replace the system disk of the instance. /// </remarks> [JsiiOptional] [JsiiProperty(name: "trustedSystemMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? TrustedSystemMode { get => _trustedSystemMode; 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)); } } _trustedSystemMode = value; } } } [JsiiInterface(nativeType: typeof(ITagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.TagsProperty")] public interface ITagsProperty { /// <remarks> /// <strong>Property</strong>: key: undefined /// </remarks> [JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Key { get; } /// <remarks> /// <strong>Property</strong>: value: undefined /// </remarks> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Value { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ITagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-ecs.RosInstanceGroup.TagsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ITagsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: key: undefined /// </remarks> [JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Key { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: value: undefined /// </remarks> [JsiiOptional] [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Value { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-ecs.RosInstanceGroup.TagsProperty")] public class TagsProperty : AlibabaCloud.SDK.ROS.CDK.Ecs.RosInstanceGroup.ITagsProperty { private object _key; /// <remarks> /// <strong>Property</strong>: key: undefined /// </remarks> [JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Key { get => _key; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _key = value; } } private object? _value; /// <remarks> /// <strong>Property</strong>: value: undefined /// </remarks> [JsiiOptional] [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Value { get => _value; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _value = value; } } } } }