multiple-languages/dotnet/AlibabaCloud.SDK.ROS.CDK.Cs/AlibabaCloud/SDK/ROS/CDK/Cs/RosManagedKubernetesCluster.cs (3,994 lines of code) (raw):

using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AlibabaCloud.SDK.ROS.CDK.Cs { /// <summary>This class is a base encapsulation around the ROS resource type `ALIYUN::CS::ManagedKubernetesCluster`, which is used to create a Container Service for Kubernetes (ACK) managed cluster.</summary> /// <remarks> /// <strong>Note</strong>: This class does not contain additional functions, so it is recommended to use the `ManagedKubernetesCluster` class instead of this class for a more convenient development experience. /// See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-cs-managedkubernetescluster /// </remarks> [JsiiClass(nativeType: typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster", 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-cs.RosManagedKubernetesClusterProps\"}},{\"name\":\"enableResourcePropertyConstraint\",\"type\":{\"primitive\":\"boolean\"}}]")] public class RosManagedKubernetesCluster : 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 RosManagedKubernetesCluster(AlibabaCloud.SDK.ROS.CDK.Core.Construct scope, string id, AlibabaCloud.SDK.ROS.CDK.Cs.IRosManagedKubernetesClusterProps 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.Cs.IRosManagedKubernetesClusterProps 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 RosManagedKubernetesCluster(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 RosManagedKubernetesCluster(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.Cs.RosManagedKubernetesCluster))!; /// <remarks> /// <strong>Attribute</strong>: APIServerSLBId: The id of API server SLB /// </remarks> [JsiiProperty(name: "attrApiServerSlbId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrApiServerSlbId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: ClusterId: Cluster instance ID. /// </remarks> [JsiiProperty(name: "attrClusterId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrClusterId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: DefaultUserKubeConfig: Default user kubernetes config which is used for configuring cluster credentials. /// </remarks> [JsiiProperty(name: "attrDefaultUserKubeConfig", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrDefaultUserKubeConfig { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: IngressSLBId: The id of ingress SLB /// </remarks> [JsiiProperty(name: "attrIngressSlbId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrIngressSlbId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: Nodes: The list of cluster nodes. /// </remarks> [JsiiProperty(name: "attrNodes", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrNodes { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: PrivateUserKubConfig: Private user kubernetes config which is used for configuring cluster credentials. /// </remarks> [JsiiProperty(name: "attrPrivateUserKubConfig", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrPrivateUserKubConfig { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: ScalingConfigurationId: Scaling configuration id /// </remarks> [JsiiProperty(name: "attrScalingConfigurationId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrScalingConfigurationId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: ScalingGroupId: Scaling group id /// </remarks> [JsiiProperty(name: "attrScalingGroupId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrScalingGroupId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: ScalingRuleId: Scaling rule id /// </remarks> [JsiiProperty(name: "attrScalingRuleId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrScalingRuleId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: TaskId: Task ID. Automatically assigned by the system, the user queries the task status. /// </remarks> [JsiiProperty(name: "attrTaskId", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrTaskId { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Core.IResolvable>()!; } /// <remarks> /// <strong>Attribute</strong>: WorkerRamRoleName: Worker ram role name. /// </remarks> [JsiiProperty(name: "attrWorkerRamRoleName", typeJson: "{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}")] public virtual AlibabaCloud.SDK.ROS.CDK.Core.IResolvable AttrWorkerRamRoleName { 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>: name: The name of the cluster. The cluster name can use uppercase and lowercase letters, Chinese characters, numbers, and dashes. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public virtual object Name { 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>: vpcId: VPC ID. /// </remarks> [JsiiProperty(name: "vpcId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public virtual object VpcId { get => GetInstanceProperty<object>()!; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: addons: A combination of addon plugins for Kubernetes clusters. /// Network plug-in: including Flannel and Terway network plug-ins /// Log service: Optional. If the log service is not enabled, the cluster audit function cannot be used. /// Ingress: The installation of the Ingress component is enabled by default. /// </remarks> [JsiiOptional] [JsiiProperty(name: "addons", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.AddonsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? Addons { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case object[] cast_cd4240: for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++) { switch (cast_cd4240[__idx_f64a5c]) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718: break; case AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IAddonsProperty cast_201718: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IAddonsProperty).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IAddonsProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value)); } } break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: cloudMonitorFlags: Whether to install the cloud monitoring plugin: /// true: indicates installation /// false: Do not install /// Default to false /// </remarks> [JsiiOptional] [JsiiProperty(name: "cloudMonitorFlags", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? CloudMonitorFlags { 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>: clusterSpec: The managed cluster spec. Value: /// ack.pro.small: Professional hosting cluster, namely: "ACK Pro version cluster". /// ack.standard: Standard hosting cluster. /// Default value: ack.standard. The value can be empty. When it is empty, a standard managed cluster will be created. /// </remarks> [JsiiOptional] [JsiiProperty(name: "clusterSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ClusterSpec { 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>: containerCidr: The container network segment cannot conflict with the VPC network segment. When the system is selected to automatically create a VPC, the network segment 172.16.0.0\/16 is used by default. /// </remarks> [JsiiOptional] [JsiiProperty(name: "containerCidr", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ContainerCidr { 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>: controlPlaneLogComponents: List of target components for which logs need to be collected. Supports apiserver, kcm, scheduler, ccm and controlplane-events. /// </remarks> [JsiiOptional] [JsiiProperty(name: "controlPlaneLogComponents", 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? ControlPlaneLogComponents { 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>: controlPlaneLogProject: Control plane log project. If this field is not set, a log service project named k8s-log-{ClusterID} will be automatically created. /// </remarks> [JsiiOptional] [JsiiProperty(name: "controlPlaneLogProject", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ControlPlaneLogProject { 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>: controlPlaneLogTtl: Control plane log retention duration (unit: day). Default 30. /// </remarks> [JsiiOptional] [JsiiProperty(name: "controlPlaneLogTtl", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ControlPlaneLogTtl { 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>: deleteOptions: Delete options, only work for deleting resource. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deleteOptions", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DeleteOptionsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? DeleteOptions { 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.Cs.RosManagedKubernetesCluster.IDeleteOptionsProperty 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.Cs.RosManagedKubernetesCluster.IDeleteOptionsProperty).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.Cs.RosManagedKubernetesCluster.IDeleteOptionsProperty).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>: deletionProtection: Specifies whether to enable deletion protection for the cluster. /// After deletion protection is enabled, the cluster cannot be deleted /// in the ACK console or by calling API operations. Valid values:true: enables deletion protection for the cluster. /// false: disables deletion protection for the cluster. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deletionProtection", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? DeletionProtection { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case bool cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: encryptionProviderKey: The ID of the key that is managed by Key Management Service (KMS). This key is used to encrypt data disks.You can use KMS in only professional managed Kubernetes clusters. /// </remarks> [JsiiOptional] [JsiiProperty(name: "encryptionProviderKey", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? EncryptionProviderKey { 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>: endpointPublicAccess: Whether to enable the public network API Server: /// true: which means that the public network API Server is open. /// false: If set to false, the API server on the public network will not be created, only the API server on the private network will be created.Default to false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "endpointPublicAccess", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? EndpointPublicAccess { 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>: formatDisk: Specifies whether to mount a data disk to nodes that are created /// on existing Elastic Compute Service (ECS) instances. Valid values: /// true: stores the data of containers and images on a data disk. /// The original data on the disk will be overwritten. /// Back up data before you mount the disk. /// false: does not store the data of containers and images on a data disk. /// Default value: false. /// How to mount a data disk: /// If the ECS instances have data disks mounted and the file system of the last /// data disk is not initialized, the system automatically formats the data disk to ext4. /// Then, the system mounts the data disk to \/var\/lib\/docker and \/var\/lib\/kubelet. /// The system does not create or mount a new data disk if no data disk has been /// mounted to the ECS instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "formatDisk", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? FormatDisk { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case bool cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: isEnterpriseSecurityGroup: Specifies whether to create an advanced security group. /// This parameter takes effect only if security_group_id is left empty. /// Note You must specify an advanced security group for a cluster that has Terway installed. /// true: creates an advanced security group. /// false: does not create an advanced security group. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "isEnterpriseSecurityGroup", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? IsEnterpriseSecurityGroup { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case bool cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: keepInstanceName: Specifies whether to retain the names of existing ECS instances that are used in the cluster. /// true: retains the names. /// false: does not retain the names. The new names are assigned by the system. /// Default value: true. /// </remarks> [JsiiOptional] [JsiiProperty(name: "keepInstanceName", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? KeepInstanceName { 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>: keyPair: Key pair name. Specify one of KeyPair or LoginPassword. /// </remarks> [JsiiOptional] [JsiiProperty(name: "keyPair", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? KeyPair { 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>: kubernetesVersion: The version of the Kubernetes cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "kubernetesVersion", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? KubernetesVersion { 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>: loadBalancerSpec: The specification of the Server Load Balancer instance. Allowed value: slb.s1.small|slb.s2.small|slb.s2.medium|slb.s3.small|slb.s3.medium|slb.s3.large /// </remarks> [JsiiOptional] [JsiiProperty(name: "loadBalancerSpec", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? LoadBalancerSpec { 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>: loginPassword: SSH login password. Password rules are 8-30 characters and contain three items (upper and lower case letters, numbers, and special symbols). Specify one of KeyPair or LoginPassword. /// </remarks> [JsiiOptional] [JsiiProperty(name: "loginPassword", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? LoginPassword { 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>: maintenanceWindow: Cluster maintenance window. /// </remarks> [JsiiOptional] [JsiiProperty(name: "maintenanceWindow", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.MaintenanceWindowProperty\"}]}}", isOptional: true)] public virtual object? MaintenanceWindow { 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.Cs.RosManagedKubernetesCluster.IMaintenanceWindowProperty 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.Cs.RosManagedKubernetesCluster.IMaintenanceWindowProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: nodeCidrMask: The maximum number of IP addresses that can be assigned to nodes. /// This number is determined by the specified pod CIDR block. /// This parameter takes effect only if the cluster uses the Flannel plug-in.Default value: 25. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodeCidrMask", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? NodeCidrMask { 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>: nodeNameMode: A custom node name consists of a prefix, an IP substring, and a suffix. The format iscustomized,{prefix},{ip_substring},{suffix}, for example: customized,aliyun.com,5,test. /// - The prefix and suffix can contain one or more parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit. /// - The IP substring length specifies the number of digits to be truncated from the end of the node IP address. Valid values: 5 to 12. For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will be aliyun.com00055test. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodeNameMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? NodeNameMode { 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>: nodePools: The configurations of Node pools. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodePools", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? NodePools { 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.Cs.RosManagedKubernetesCluster.INodePoolsProperty 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.Cs.RosManagedKubernetesCluster.INodePoolsProperty).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.Cs.RosManagedKubernetesCluster.INodePoolsProperty).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>: osType: The type of operating system. Valid values: /// Windows /// Linux /// Default value: Linux. /// </remarks> [JsiiOptional] [JsiiProperty(name: "osType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? OsType { 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>: platform: The release version of the operating system. Valid values: /// CentOS /// AliyunLinux /// QbootAliyunLinux /// Qboot /// Windows /// WindowsCore /// Default value: CentOS. /// </remarks> [JsiiOptional] [JsiiProperty(name: "platform", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? Platform { 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>: podVswitchIds: The list of pod vSwitches. For each vSwitch that is allocated to nodes, /// you must specify at least one pod vSwitch in the same zone. /// The pod vSwitches cannot be the same as the node vSwitches. /// We recommend that you set the mask length of the CIDR block to a value no /// greater than 19 for the pod vSwitches. /// The pod_vswitch_ids parameter is required when the Terway network /// plug-in is selected for the cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "podVswitchIds", 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? PodVswitchIds { 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>: proxyMode: kube-proxy proxy mode, supports both iptables and ipvs modes. The default is iptables. /// </remarks> [JsiiOptional] [JsiiProperty(name: "proxyMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ProxyMode { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: resourceGroupId: The ID of resource group. /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ResourceGroupId { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: runtime: The container runtime of the cluster. The default runtime is Docker. /// </remarks> [JsiiOptional] [JsiiProperty(name: "runtime", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.RuntimeProperty\"}]}}", isOptional: true)] public virtual object? Runtime { 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.Cs.RosManagedKubernetesCluster.IRuntimeProperty 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.Cs.RosManagedKubernetesCluster.IRuntimeProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: securityGroupId: Specifies the ID of the security group to which the cluster ECS instance belongs. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SecurityGroupId { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: securityHardeningOs: Alibaba Cloud OS security hardening. Value: /// true: enables security hardening OS. /// false: disables security hardening OS. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "securityHardeningOs", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SecurityHardeningOs { 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>: serviceCidr: The service network segment cannot conflict with the VPC network segment and the container network segment. When the system is selected to automatically create a VPC, the network segment 172.19.0.0\/20 is used by default. /// </remarks> [JsiiOptional] [JsiiProperty(name: "serviceCidr", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? ServiceCidr { 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>: snatEntry: Whether to configure SNAT for the network. /// When a VPC can access the public network environment, set it to false. /// When an existing VPC cannot access the public network environment: /// When set to True, SNAT is configured and the public network environment can be accessed at this time. /// If set to false, it means that SNAT is not configured and the public network environment cannot be accessed at this time. /// Default to true. /// </remarks> [JsiiOptional] [JsiiProperty(name: "snatEntry", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SnatEntry { 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>: socEnabled: Valid values: /// true: enables reinforcement based on classified protection. /// false: disables reinforcement based on classified protection. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "socEnabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? SocEnabled { 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>: tags: Tag the cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "tags", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TagsProperty\"},\"kind\":\"array\"}}", isOptional: true)] public virtual AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ITagsProperty[]? Tags { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ITagsProperty[]?>(); set => SetInstanceProperty(value); } /// <remarks> /// <strong>Property</strong>: taint: It is used to mark nodes with taints. It is usually used for the scheduling strategy of Pods. The corresponding concept is: tolerance. If there is a corresponding tolerance mark on the Pods, the stain on the node can be tolerated and scheduled to the node. /// </remarks> [JsiiOptional] [JsiiProperty(name: "taint", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}},\"kind\":\"array\"}}]}}", isOptional: true)] public virtual object? Taint { get => GetInstanceProperty<object?>(); set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case System.Collections.Generic.IDictionary<string, object>[] 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}, System.Collections.Generic.IDictionary<string, object>[]; received {value.GetType().FullName}", nameof(value)); } } SetInstanceProperty(value); } } /// <remarks> /// <strong>Property</strong>: timeoutMins: Cluster resource stack creation timeout, in minutes. The default value is 60. /// </remarks> [JsiiOptional] [JsiiProperty(name: "timeoutMins", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public virtual object? TimeoutMins { 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>: userData: The user-defined data. [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>: zoneIds: Zone ids of worker node virtual switches belongs to. /// </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(IAddonsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.AddonsProperty")] public interface IAddonsProperty { /// <remarks> /// <strong>Property</strong>: name: Addon plugin name /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Name { get; } /// <remarks> /// <strong>Property</strong>: config: When the value is empty, no configuration is required. /// </remarks> [JsiiProperty(name: "config", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Config { get { return null; } } /// <remarks> /// <strong>Property</strong>: disabled: Specifies whether to disable default installation. /// </remarks> [JsiiProperty(name: "disabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Disabled { get { return null; } } /// <remarks> /// <strong>Property</strong>: version: When the value is empty, the latest version is selected by default. /// </remarks> [JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Version { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IAddonsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.AddonsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IAddonsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: name: Addon plugin name /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Name { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: config: When the value is empty, no configuration is required. /// </remarks> [JsiiOptional] [JsiiProperty(name: "config", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Config { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: disabled: Specifies whether to disable default installation. /// </remarks> [JsiiOptional] [JsiiProperty(name: "disabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Disabled { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: version: When the value is empty, the latest version is selected by default. /// </remarks> [JsiiOptional] [JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Version { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.AddonsProperty")] public class AddonsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IAddonsProperty { private object _name; /// <remarks> /// <strong>Property</strong>: name: Addon plugin name /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Name { get => _name; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _name = value; } } private object? _config; /// <remarks> /// <strong>Property</strong>: config: When the value is empty, no configuration is required. /// </remarks> [JsiiOptional] [JsiiProperty(name: "config", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Config { get => _config; 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)); } } _config = value; } } private object? _disabled; /// <remarks> /// <strong>Property</strong>: disabled: Specifies whether to disable default installation. /// </remarks> [JsiiOptional] [JsiiProperty(name: "disabled", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Disabled { get => _disabled; 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)); } } _disabled = value; } } private object? _version; /// <remarks> /// <strong>Property</strong>: version: When the value is empty, the latest version is selected by default. /// </remarks> [JsiiOptional] [JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Version { get => _version; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _version = value; } } } [JsiiInterface(nativeType: typeof(IDataDisksProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DataDisksProperty")] public interface IDataDisksProperty { /// <remarks> /// <strong>Property</strong>: autoSnapshotPolicyId: The ID of an automatic snapshot policy. Automatic backup is performed for a disk based on the specified automatic snapshot policy. /// By default, this parameter is empty. This indicates that automatic backup is disabled. /// </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>: category: The type of data disk. Valid values: /// cloud: basic disk. /// cloud_efficiency: ultra disk. /// cloud_ssd: standard SSD. /// cloud_essd: enhanced SSD. /// Default value: 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>: encrypted: Specifies whether to encrypt a data disk. Valid values: /// true: encrypts a data disk. /// false: does not encrypt a data disk. /// Default value: false. /// </remarks> [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Encrypted { get { return null; } } /// <remarks> /// <strong>Property</strong>: performanceLevel: 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> [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>: size: The size of a data disk. The size is measured in GiB. /// Valid values: 40 to 32768. /// </remarks> [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Size { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IDataDisksProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DataDisksProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDataDisksProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: autoSnapshotPolicyId: The ID of an automatic snapshot policy. Automatic backup is performed for a disk based on the specified automatic snapshot policy. /// By default, this parameter is empty. This indicates that automatic backup is disabled. /// </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>: category: The type of data disk. Valid values: /// cloud: basic disk. /// cloud_efficiency: ultra disk. /// cloud_ssd: standard SSD. /// cloud_essd: enhanced SSD. /// Default value: 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>: encrypted: Specifies whether to encrypt a data disk. Valid values: /// true: encrypts a data disk. /// false: does not encrypt a data disk. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Encrypted { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: performanceLevel: 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: "performanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PerformanceLevel { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: size: The size of a data disk. The size is measured in GiB. /// Valid values: 40 to 32768. /// </remarks> [JsiiOptional] [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Size { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DataDisksProperty")] public class DataDisksProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDataDisksProperty { private object? _autoSnapshotPolicyId; /// <remarks> /// <strong>Property</strong>: autoSnapshotPolicyId: The ID of an automatic snapshot policy. Automatic backup is performed for a disk based on the specified automatic snapshot policy. /// By default, this parameter is empty. This indicates that automatic backup is disabled. /// </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? _category; /// <remarks> /// <strong>Property</strong>: category: The type of data disk. Valid values: /// cloud: basic disk. /// cloud_efficiency: ultra disk. /// cloud_ssd: standard SSD. /// cloud_essd: enhanced SSD. /// Default value: 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? _encrypted; /// <remarks> /// <strong>Property</strong>: encrypted: Specifies whether to encrypt a data disk. Valid values: /// true: encrypts a data disk. /// false: does not encrypt a data disk. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "encrypted", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Encrypted { get => _encrypted; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case bool cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: bool, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _encrypted = value; } } private object? _performanceLevel; /// <remarks> /// <strong>Property</strong>: performanceLevel: 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: "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? _size; /// <remarks> /// <strong>Property</strong>: size: The size of a data disk. The size is measured in GiB. /// Valid values: 40 to 32768. /// </remarks> [JsiiOptional] [JsiiProperty(name: "size", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Size { get => _size; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case double cast_cd4240: break; case byte cast_cd4240: break; case decimal cast_cd4240: break; case float cast_cd4240: break; case int cast_cd4240: break; case long cast_cd4240: break; case sbyte cast_cd4240: break; case short cast_cd4240: break; case uint cast_cd4240: break; case ulong cast_cd4240: break; case ushort cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _size = value; } } } [JsiiInterface(nativeType: typeof(IDeleteOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DeleteOptionsProperty")] public interface IDeleteOptionsProperty { /// <remarks> /// <strong>Property</strong>: deleteMode: Deletion policy of this type of resource. The value can be: /// - delete: delete the resource. /// - retain: retain the resource. /// </remarks> [JsiiProperty(name: "deleteMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DeleteMode { get { return null; } } /// <remarks> /// <strong>Property</strong>: resourceType: Resource type. The value can be: /// - SLB: SLB resource created by service. It is deleted by default but can be retained /// - ALB: ALB Ingress Controller Created ALB resource. It is reserved by default and can be deleted /// - SLS_Data: log service Project used by the cluster log function. This service is reserved by default and can be deleted /// - SLS_ControlPlane: Project log service used for logs of the managed cluster control plane. This service is reserved by default and can be deleted /// - PrivateZone: ACK Serverless PrivateZone resource created in the cluster. It is reserved by default and can be deleted /// </remarks> [JsiiProperty(name: "resourceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ResourceType { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IDeleteOptionsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DeleteOptionsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDeleteOptionsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: deleteMode: Deletion policy of this type of resource. The value can be: /// - delete: delete the resource. /// - retain: retain the resource. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deleteMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DeleteMode { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: resourceType: Resource type. The value can be: /// - SLB: SLB resource created by service. It is deleted by default but can be retained /// - ALB: ALB Ingress Controller Created ALB resource. It is reserved by default and can be deleted /// - SLS_Data: log service Project used by the cluster log function. This service is reserved by default and can be deleted /// - SLS_ControlPlane: Project log service used for logs of the managed cluster control plane. This service is reserved by default and can be deleted /// - PrivateZone: ACK Serverless PrivateZone resource created in the cluster. It is reserved by default and can be deleted /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ResourceType { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DeleteOptionsProperty")] public class DeleteOptionsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDeleteOptionsProperty { private object? _deleteMode; /// <remarks> /// <strong>Property</strong>: deleteMode: Deletion policy of this type of resource. The value can be: /// - delete: delete the resource. /// - retain: retain the resource. /// </remarks> [JsiiOptional] [JsiiProperty(name: "deleteMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DeleteMode { get => _deleteMode; 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)); } } _deleteMode = value; } } private object? _resourceType; /// <remarks> /// <strong>Property</strong>: resourceType: Resource type. The value can be: /// - SLB: SLB resource created by service. It is deleted by default but can be retained /// - ALB: ALB Ingress Controller Created ALB resource. It is reserved by default and can be deleted /// - SLS_Data: log service Project used by the cluster log function. This service is reserved by default and can be deleted /// - SLS_ControlPlane: Project log service used for logs of the managed cluster control plane. This service is reserved by default and can be deleted /// - PrivateZone: ACK Serverless PrivateZone resource created in the cluster. It is reserved by default and can be deleted /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ResourceType { get => _resourceType; 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)); } } _resourceType = value; } } } [JsiiInterface(nativeType: typeof(IKubernetesConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.KubernetesConfigProperty")] public interface IKubernetesConfigProperty { /// <remarks> /// <strong>Property</strong>: runtime: The name of the container runtime. /// </remarks> [JsiiProperty(name: "runtime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Runtime { get; } /// <remarks> /// <strong>Property</strong>: runtimeVersion: The version of the container runtime. /// </remarks> [JsiiProperty(name: "runtimeVersion", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object RuntimeVersion { get; } /// <remarks> /// <strong>Property</strong>: cpuPolicy: The CPU policy. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later. Valid values: /// static: This policy allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity. /// none: This policy indicates that the default CPU affinity is used. /// Default value: none. /// </remarks> [JsiiProperty(name: "cpuPolicy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? CpuPolicy { get { return null; } } /// <remarks> /// <strong>Property</strong>: labels: You can add labels to nodes that are added to the cluster. /// </remarks> [JsiiProperty(name: "labels", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.LabelsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Labels { get { return null; } } /// <remarks> /// <strong>Property</strong>: nodeNameMode: A custom node name consists of a prefix, an IP substring, and a suffix. The format iscustomized,{prefix},{ip_substring},{suffix}, for example: customized,aliyun.com,5,test. /// - The prefix and suffix can contain one or more parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit. /// - The IP substring length specifies the number of digits to be truncated from the end of the node IP address. Valid values: 5 to 12. For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will be aliyun.com00055test. /// </remarks> [JsiiProperty(name: "nodeNameMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? NodeNameMode { get { return null; } } /// <remarks> /// <strong>Property</strong>: taints: You can add taints to nodes that are added to the cluster. /// </remarks> [JsiiProperty(name: "taints", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TaintsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Taints { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IKubernetesConfigProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.KubernetesConfigProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IKubernetesConfigProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: runtime: The name of the container runtime. /// </remarks> [JsiiProperty(name: "runtime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Runtime { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: runtimeVersion: The version of the container runtime. /// </remarks> [JsiiProperty(name: "runtimeVersion", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object RuntimeVersion { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: cpuPolicy: The CPU policy. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later. Valid values: /// static: This policy allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity. /// none: This policy indicates that the default CPU affinity is used. /// Default value: none. /// </remarks> [JsiiOptional] [JsiiProperty(name: "cpuPolicy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? CpuPolicy { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: labels: You can add labels to nodes that are added to the cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "labels", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.LabelsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Labels { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: nodeNameMode: A custom node name consists of a prefix, an IP substring, and a suffix. The format iscustomized,{prefix},{ip_substring},{suffix}, for example: customized,aliyun.com,5,test. /// - The prefix and suffix can contain one or more parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit. /// - The IP substring length specifies the number of digits to be truncated from the end of the node IP address. Valid values: 5 to 12. For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will be aliyun.com00055test. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodeNameMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NodeNameMode { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: taints: You can add taints to nodes that are added to the cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "taints", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TaintsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Taints { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.KubernetesConfigProperty")] public class KubernetesConfigProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IKubernetesConfigProperty { private object _runtime; /// <remarks> /// <strong>Property</strong>: runtime: The name of the container runtime. /// </remarks> [JsiiProperty(name: "runtime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Runtime { get => _runtime; 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)); } } _runtime = value; } } private object _runtimeVersion; /// <remarks> /// <strong>Property</strong>: runtimeVersion: The version of the container runtime. /// </remarks> [JsiiProperty(name: "runtimeVersion", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object RuntimeVersion { get => _runtimeVersion; 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)); } } _runtimeVersion = value; } } private object? _cpuPolicy; /// <remarks> /// <strong>Property</strong>: cpuPolicy: The CPU policy. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later. Valid values: /// static: This policy allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity. /// none: This policy indicates that the default CPU affinity is used. /// Default value: none. /// </remarks> [JsiiOptional] [JsiiProperty(name: "cpuPolicy", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? CpuPolicy { get => _cpuPolicy; 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)); } } _cpuPolicy = value; } } private object? _labels; /// <remarks> /// <strong>Property</strong>: labels: You can add labels to nodes that are added to the cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "labels", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.LabelsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Labels { get => _labels; 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.Cs.RosManagedKubernetesCluster.ILabelsProperty 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.Cs.RosManagedKubernetesCluster.ILabelsProperty).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.Cs.RosManagedKubernetesCluster.ILabelsProperty).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)); } } _labels = value; } } private object? _nodeNameMode; /// <remarks> /// <strong>Property</strong>: nodeNameMode: A custom node name consists of a prefix, an IP substring, and a suffix. The format iscustomized,{prefix},{ip_substring},{suffix}, for example: customized,aliyun.com,5,test. /// - The prefix and suffix can contain one or more parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit. /// - The IP substring length specifies the number of digits to be truncated from the end of the node IP address. Valid values: 5 to 12. For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will be aliyun.com00055test. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodeNameMode", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? NodeNameMode { get => _nodeNameMode; 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)); } } _nodeNameMode = value; } } private object? _taints; /// <remarks> /// <strong>Property</strong>: taints: You can add taints to nodes that are added to the cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "taints", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TaintsProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? Taints { get => _taints; 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.Cs.RosManagedKubernetesCluster.ITaintsProperty 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.Cs.RosManagedKubernetesCluster.ITaintsProperty).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.Cs.RosManagedKubernetesCluster.ITaintsProperty).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)); } } _taints = value; } } } [JsiiInterface(nativeType: typeof(ILabelsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.LabelsProperty")] public interface ILabelsProperty { /// <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\"}]}}")] object Value { get; } [JsiiTypeProxy(nativeType: typeof(ILabelsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.LabelsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ILabelsProperty { 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> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Value { get => GetInstanceProperty<object>()!; } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.LabelsProperty")] public class LabelsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ILabelsProperty { 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> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] 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: 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)); } } _value = value; } } } [JsiiInterface(nativeType: typeof(IMaintenanceWindowProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.MaintenanceWindowProperty")] public interface IMaintenanceWindowProperty { /// <remarks> /// <strong>Property</strong>: duration: Maintenance time. Value range [1,24] in hours. /// Default value: 3h /// </remarks> [JsiiProperty(name: "duration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Duration { get { return null; } } /// <remarks> /// <strong>Property</strong>: enable: Whether to open the maintenance window. Value: /// - true: Opens the maintenance window. /// - false: The maintenance window is not opened. /// Default value: false /// </remarks> [JsiiProperty(name: "enable", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Enable { get { return null; } } /// <remarks> /// <strong>Property</strong>: maintenanceTime: Maintenance start time. RFC3339 standard format. /// </remarks> [JsiiProperty(name: "maintenanceTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? MaintenanceTime { get { return null; } } /// <remarks> /// <strong>Property</strong>: recurrence: The RFC5545 Recurrence Rule currently only supports FREQ=WEEKLY and does not support specifying COUNT or UNTIL /// </remarks> [JsiiProperty(name: "recurrence", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Recurrence { get { return null; } } /// <remarks> /// <strong>Property</strong>: weeklyPeriod: Maintenance cycle. Multiple values are separated by a half-comma (,). Values: {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} /// </remarks> [JsiiProperty(name: "weeklyPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? WeeklyPeriod { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IMaintenanceWindowProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.MaintenanceWindowProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IMaintenanceWindowProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: duration: Maintenance time. Value range [1,24] in hours. /// Default value: 3h /// </remarks> [JsiiOptional] [JsiiProperty(name: "duration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Duration { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: enable: Whether to open the maintenance window. Value: /// - true: Opens the maintenance window. /// - false: The maintenance window is not opened. /// Default value: false /// </remarks> [JsiiOptional] [JsiiProperty(name: "enable", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Enable { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: maintenanceTime: Maintenance start time. RFC3339 standard format. /// </remarks> [JsiiOptional] [JsiiProperty(name: "maintenanceTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? MaintenanceTime { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: recurrence: The RFC5545 Recurrence Rule currently only supports FREQ=WEEKLY and does not support specifying COUNT or UNTIL /// </remarks> [JsiiOptional] [JsiiProperty(name: "recurrence", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Recurrence { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: weeklyPeriod: Maintenance cycle. Multiple values are separated by a half-comma (,). Values: {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} /// </remarks> [JsiiOptional] [JsiiProperty(name: "weeklyPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? WeeklyPeriod { get => GetInstanceProperty<object?>(); } } } [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.MaintenanceWindowProperty")] public class MaintenanceWindowProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IMaintenanceWindowProperty { private object? _duration; /// <remarks> /// <strong>Property</strong>: duration: Maintenance time. Value range [1,24] in hours. /// Default value: 3h /// </remarks> [JsiiOptional] [JsiiProperty(name: "duration", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Duration { get => _duration; 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)); } } _duration = value; } } private object? _enable; /// <remarks> /// <strong>Property</strong>: enable: Whether to open the maintenance window. Value: /// - true: Opens the maintenance window. /// - false: The maintenance window is not opened. /// Default value: false /// </remarks> [JsiiOptional] [JsiiProperty(name: "enable", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Enable { get => _enable; 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)); } } _enable = value; } } private object? _maintenanceTime; /// <remarks> /// <strong>Property</strong>: maintenanceTime: Maintenance start time. RFC3339 standard format. /// </remarks> [JsiiOptional] [JsiiProperty(name: "maintenanceTime", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? MaintenanceTime { get => _maintenanceTime; 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)); } } _maintenanceTime = value; } } private object? _recurrence; /// <remarks> /// <strong>Property</strong>: recurrence: The RFC5545 Recurrence Rule currently only supports FREQ=WEEKLY and does not support specifying COUNT or UNTIL /// </remarks> [JsiiOptional] [JsiiProperty(name: "recurrence", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Recurrence { get => _recurrence; 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)); } } _recurrence = value; } } private object? _weeklyPeriod; /// <remarks> /// <strong>Property</strong>: weeklyPeriod: Maintenance cycle. Multiple values are separated by a half-comma (,). Values: {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} /// </remarks> [JsiiOptional] [JsiiProperty(name: "weeklyPeriod", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? WeeklyPeriod { get => _weeklyPeriod; 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)); } } _weeklyPeriod = value; } } } [JsiiInterface(nativeType: typeof(INodePoolInfoProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolInfoProperty")] public interface INodePoolInfoProperty { /// <remarks> /// <strong>Property</strong>: name: The name of the node pool. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Name { get; } /// <remarks> /// <strong>Property</strong>: resourceGroupId: Resource Group ID of a node pool. /// </remarks> [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ResourceGroupId { get { return null; } } /// <remarks> /// <strong>Property</strong>: type: Node pool type. Value range: /// ess: Node pool. /// edge: Edge node pool. /// </remarks> [JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Type { get { return null; } } [JsiiTypeProxy(nativeType: typeof(INodePoolInfoProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolInfoProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.INodePoolInfoProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: name: The name of the node pool. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Name { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: resourceGroupId: Resource Group ID of a node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ResourceGroupId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: type: Node pool type. Value range: /// ess: Node pool. /// edge: Edge node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Type { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolInfoProperty")] public class NodePoolInfoProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.INodePoolInfoProperty { private object _name; /// <remarks> /// <strong>Property</strong>: name: The name of the node pool. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Name { get => _name; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _name = value; } } private object? _resourceGroupId; /// <remarks> /// <strong>Property</strong>: resourceGroupId: Resource Group ID of a node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "resourceGroupId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ResourceGroupId { get => _resourceGroupId; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _resourceGroupId = value; } } private object? _type; /// <remarks> /// <strong>Property</strong>: type: Node pool type. Value range: /// ess: Node pool. /// edge: Edge node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "type", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Type { get => _type; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _type = value; } } } [JsiiInterface(nativeType: typeof(INodePoolsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolsProperty")] public interface INodePoolsProperty { /// <remarks> /// <strong>Property</strong>: scalingGroup: The configurations of the scaling group used by the node pool. /// </remarks> [JsiiProperty(name: "scalingGroup", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupProperty\"}]}}")] object ScalingGroup { get; } /// <remarks> /// <strong>Property</strong>: kubernetesConfig: The configurations of the ACK cluster. /// </remarks> [JsiiProperty(name: "kubernetesConfig", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.KubernetesConfigProperty\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? KubernetesConfig { get { return null; } } /// <remarks> /// <strong>Property</strong>: nodePoolInfo: The configurations of the node pool. /// </remarks> [JsiiProperty(name: "nodePoolInfo", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolInfoProperty\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? NodePoolInfo { get { return null; } } [JsiiTypeProxy(nativeType: typeof(INodePoolsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.INodePoolsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: scalingGroup: The configurations of the scaling group used by the node pool. /// </remarks> [JsiiProperty(name: "scalingGroup", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupProperty\"}]}}")] public object ScalingGroup { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: kubernetesConfig: The configurations of the ACK cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "kubernetesConfig", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.KubernetesConfigProperty\"}]}}", isOptional: true)] public object? KubernetesConfig { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: nodePoolInfo: The configurations of the node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodePoolInfo", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolInfoProperty\"}]}}", isOptional: true)] public object? NodePoolInfo { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolsProperty")] public class NodePoolsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.INodePoolsProperty { private object _scalingGroup; /// <remarks> /// <strong>Property</strong>: scalingGroup: The configurations of the scaling group used by the node pool. /// </remarks> [JsiiProperty(name: "scalingGroup", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupProperty\"}]}}")] public object ScalingGroup { get => _scalingGroup; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupProperty cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupProperty).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } _scalingGroup = value; } } private object? _kubernetesConfig; /// <remarks> /// <strong>Property</strong>: kubernetesConfig: The configurations of the ACK cluster. /// </remarks> [JsiiOptional] [JsiiProperty(name: "kubernetesConfig", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.KubernetesConfigProperty\"}]}}", isOptional: true)] public object? KubernetesConfig { get => _kubernetesConfig; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IKubernetesConfigProperty 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.Cs.RosManagedKubernetesCluster.IKubernetesConfigProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } _kubernetesConfig = value; } } private object? _nodePoolInfo; /// <remarks> /// <strong>Property</strong>: nodePoolInfo: The configurations of the node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "nodePoolInfo", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.NodePoolInfoProperty\"}]}}", isOptional: true)] public object? NodePoolInfo { get => _nodePoolInfo; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.INodePoolInfoProperty 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.Cs.RosManagedKubernetesCluster.INodePoolInfoProperty).FullName}; received {value.GetType().FullName}", nameof(value)); } } _nodePoolInfo = value; } } } [JsiiInterface(nativeType: typeof(IRuntimeProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.RuntimeProperty")] public interface IRuntimeProperty { /// <remarks> /// <strong>Property</strong>: name: The name of the container runtime. Supports containerd, Docker or Sandboxed-Container. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Name { get; } /// <remarks> /// <strong>Property</strong>: version: The version of the container runtime. /// </remarks> [JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Version { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IRuntimeProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.RuntimeProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IRuntimeProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: name: The name of the container runtime. Supports containerd, Docker or Sandboxed-Container. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Name { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: version: The version of the container runtime. /// </remarks> [JsiiOptional] [JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Version { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.RuntimeProperty")] public class RuntimeProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IRuntimeProperty { private object _name; /// <remarks> /// <strong>Property</strong>: name: The name of the container runtime. Supports containerd, Docker or Sandboxed-Container. /// </remarks> [JsiiProperty(name: "name", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Name { get => _name; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _name = value; } } private object? _version; /// <remarks> /// <strong>Property</strong>: version: The version of the container runtime. /// </remarks> [JsiiOptional] [JsiiProperty(name: "version", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Version { get => _version; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _version = value; } } } [JsiiInterface(nativeType: typeof(IScalingGroupProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupProperty")] public interface IScalingGroupProperty { /// <remarks> /// <strong>Property</strong>: instanceTypes: The ECS instance types of the nodes. /// </remarks> [JsiiProperty(name: "instanceTypes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}")] object InstanceTypes { get; } /// <remarks> /// <strong>Property</strong>: systemDiskSize: The system disk size of a node. Unit: GiB. Valid values: 40 to 500. /// </remarks> [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object SystemDiskSize { get; } /// <remarks> /// <strong>Property</strong>: vSwitchIds: The IDs of vSwitches. /// </remarks> [JsiiProperty(name: "vSwitchIds", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}")] object VSwitchIds { get; } /// <remarks> /// <strong>Property</strong>: dataDisks: The configurations of data disks. /// </remarks> [JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DataDisks { get { return null; } } /// <remarks> /// <strong>Property</strong>: desiredSize: The desired number of nodes in the node pool. /// </remarks> [JsiiProperty(name: "desiredSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? DesiredSize { get { return null; } } /// <remarks> /// <strong>Property</strong>: imageId: The ID of a custom image. By default, the image provided by ACK is used. /// </remarks> [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ImageId { get { return null; } } /// <remarks> /// <strong>Property</strong>: instanceChargeType: The billing method of nodes in the node pool. Valid values: /// PrePaid: subscription. /// PostPaid: pay-as-you-go. /// Default value: PostPaid. /// </remarks> [JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InstanceChargeType { get { return null; } } /// <remarks> /// <strong>Property</strong>: internetChargeType: Bandwidth billing method. Valid values: PayByTraffic or PayByBandwidth. /// </remarks> [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InternetChargeType { get { return null; } } /// <remarks> /// <strong>Property</strong>: internetMaxBandwidthOut: The release version of the operating system. Valid values: /// CentOS, AliyunLinux, Windows, WindowsCore. /// Default value: AliyunLinux. /// </remarks> [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? InternetMaxBandwidthOut { get { return null; } } /// <remarks> /// <strong>Property</strong>: isEnterpriseSecurityGroup: Specifies whether to create an advanced security group. /// This parameter takes effect only if security_group_id is left empty. /// Note You must specify an advanced security group for a cluster that has Terway installed. /// true: creates an advanced security group. /// false: does not create an advanced security group. /// Default value: false. /// </remarks> [JsiiProperty(name: "isEnterpriseSecurityGroup", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? IsEnterpriseSecurityGroup { get { return null; } } /// <remarks> /// <strong>Property</strong>: keyPair: The name of the key pair used to log on to the nodes. You must set KeyPair or LoginPassword. /// </remarks> [JsiiProperty(name: "keyPair", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? KeyPair { get { return null; } } /// <remarks> /// <strong>Property</strong>: loginPassword: The password used to log on to the nodes by using SSH. You must set KeyPair or LoginPassword. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. /// </remarks> [JsiiProperty(name: "loginPassword", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? LoginPassword { get { return null; } } /// <remarks> /// <strong>Property</strong>: period: The subscription period of nodes in the node pool. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If PeriodUnit=Month is configured, the valid values are: 1, 2, 3, 6, and 12. /// Default value: 1. /// </remarks> [JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Period { get { return null; } } /// <remarks> /// <strong>Property</strong>: periodUnit: The unit of the subscription period of nodes in the node pool. This parameter is required if you set InstanceChargeType to PrePaid. A value of Month specifies that the subscription period is measured in months. /// </remarks> [JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? PeriodUnit { get { return null; } } /// <remarks> /// <strong>Property</strong>: rdsInstances: The IDs of the ApsaraDB RDS instances. /// </remarks> [JsiiProperty(name: "rdsInstances", 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? RdsInstances { get { return null; } } /// <remarks> /// <strong>Property</strong>: systemDiskCategory: The type of system disk. Valid values: /// cloud_efficiency: ultra disk. /// cloud_ssd: standard SSD. /// cloud_essd: enhanced SSD. /// Default value: cloud_efficiency. /// </remarks> [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskCategory { get { return null; } } /// <remarks> /// <strong>Property</strong>: 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> [JsiiProperty(name: "systemDiskPerformanceLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? SystemDiskPerformanceLevel { get { return null; } } /// <remarks> /// <strong>Property</strong>: tags: Adds labels only to ECS instances. /// A key must be unique and cannot exceed 128 characters in length. Neither keys nor values can start with aliyun or acs:. Neither keys nor values can contain https:\/\/ or http:\/\/. /// </remarks> [JsiiProperty(name: "tags", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupTagsProperty\"},\"kind\":\"array\"}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupTagsProperty[]? Tags { get { return null; } } /// <remarks> /// <strong>Property</strong>: zoneIds: Zone ids of virtual switches belongs to. /// </remarks> [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)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? ZoneIds { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IScalingGroupProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: instanceTypes: The ECS instance types of the nodes. /// </remarks> [JsiiProperty(name: "instanceTypes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}")] public object InstanceTypes { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: systemDiskSize: The system disk size of a node. Unit: GiB. Valid values: 40 to 500. /// </remarks> [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object SystemDiskSize { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: vSwitchIds: The IDs of vSwitches. /// </remarks> [JsiiProperty(name: "vSwitchIds", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}")] public object VSwitchIds { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: dataDisks: The configurations of data disks. /// </remarks> [JsiiOptional] [JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? DataDisks { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: desiredSize: The desired number of nodes in the node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "desiredSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DesiredSize { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: imageId: The ID of a custom image. By default, the image provided by ACK is used. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ImageId { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: instanceChargeType: The billing method of nodes in the node pool. Valid values: /// PrePaid: subscription. /// PostPaid: pay-as-you-go. /// Default value: PostPaid. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceChargeType { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: internetChargeType: Bandwidth billing method. Valid values: PayByTraffic or PayByBandwidth. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetChargeType { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: internetMaxBandwidthOut: The release version of the operating system. Valid values: /// CentOS, AliyunLinux, Windows, WindowsCore. /// Default value: AliyunLinux. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetMaxBandwidthOut { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: isEnterpriseSecurityGroup: Specifies whether to create an advanced security group. /// This parameter takes effect only if security_group_id is left empty. /// Note You must specify an advanced security group for a cluster that has Terway installed. /// true: creates an advanced security group. /// false: does not create an advanced security group. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "isEnterpriseSecurityGroup", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? IsEnterpriseSecurityGroup { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: keyPair: The name of the key pair used to log on to the nodes. You must set KeyPair or LoginPassword. /// </remarks> [JsiiOptional] [JsiiProperty(name: "keyPair", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? KeyPair { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: loginPassword: The password used to log on to the nodes by using SSH. You must set KeyPair or LoginPassword. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. /// </remarks> [JsiiOptional] [JsiiProperty(name: "loginPassword", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? LoginPassword { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: period: The subscription period of nodes in the node pool. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If PeriodUnit=Month is configured, the valid values are: 1, 2, 3, 6, and 12. /// Default value: 1. /// </remarks> [JsiiOptional] [JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Period { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: periodUnit: The unit of the subscription period of nodes in the node pool. This parameter is required if you set InstanceChargeType to PrePaid. A value of Month specifies that the subscription period is measured in months. /// </remarks> [JsiiOptional] [JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PeriodUnit { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: rdsInstances: The IDs of the ApsaraDB RDS instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "rdsInstances", 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? RdsInstances { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: systemDiskCategory: The type of system disk. Valid values: /// cloud_efficiency: ultra disk. /// cloud_ssd: standard SSD. /// cloud_essd: enhanced SSD. /// Default value: cloud_efficiency. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskCategory { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: 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 object? SystemDiskPerformanceLevel { get => GetInstanceProperty<object?>(); } /// <remarks> /// <strong>Property</strong>: tags: Adds labels only to ECS instances. /// A key must be unique and cannot exceed 128 characters in length. Neither keys nor values can start with aliyun or acs:. Neither keys nor values can contain https:\/\/ or http:\/\/. /// </remarks> [JsiiOptional] [JsiiProperty(name: "tags", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupTagsProperty\"},\"kind\":\"array\"}}", isOptional: true)] public AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupTagsProperty[]? Tags { get => GetInstanceProperty<AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupTagsProperty[]?>(); } /// <remarks> /// <strong>Property</strong>: zoneIds: Zone ids of virtual switches belongs to. /// </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 object? ZoneIds { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupProperty")] public class ScalingGroupProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupProperty { private object _instanceTypes; /// <remarks> /// <strong>Property</strong>: instanceTypes: The ECS instance types of the nodes. /// </remarks> [JsiiProperty(name: "instanceTypes", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}")] public object InstanceTypes { get => _instanceTypes; 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: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value)); } } _instanceTypes = value; } } private object _systemDiskSize; /// <remarks> /// <strong>Property</strong>: systemDiskSize: The system disk size of a node. Unit: GiB. Valid values: 40 to 500. /// </remarks> [JsiiProperty(name: "systemDiskSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object SystemDiskSize { get => _systemDiskSize; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case double cast_cd4240: break; case byte cast_cd4240: break; case decimal cast_cd4240: break; case float cast_cd4240: break; case int cast_cd4240: break; case long cast_cd4240: break; case sbyte cast_cd4240: break; case short cast_cd4240: break; case uint cast_cd4240: break; case ulong cast_cd4240: break; case ushort cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: 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)); } } _systemDiskSize = value; } } private object _vSwitchIds; /// <remarks> /// <strong>Property</strong>: vSwitchIds: The IDs of vSwitches. /// </remarks> [JsiiProperty(name: "vSwitchIds", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}},\"kind\":\"array\"}}]}}")] public object VSwitchIds { get => _vSwitchIds; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case object[] cast_cd4240: for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++) { switch (cast_cd4240[__idx_f64a5c]) { case string cast_201718: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value)); } } break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value)); } } _vSwitchIds = value; } } private object? _dataDisks; /// <remarks> /// <strong>Property</strong>: dataDisks: The configurations of data disks. /// </remarks> [JsiiOptional] [JsiiProperty(name: "dataDisks", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"},{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.DataDisksProperty\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] public object? DataDisks { get => _dataDisks; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case object[] cast_cd4240: for (var __idx_f64a5c = 0 ; __idx_f64a5c < cast_cd4240.Length ; __idx_f64a5c++) { switch (cast_cd4240[__idx_f64a5c]) { case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_201718: break; case AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDataDisksProperty cast_201718: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_201718: // Not enough information to type-check... break; case null: throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDataDisksProperty).FullName}; received null", nameof(value)); default: throw new System.ArgumentException($"Expected {nameof(value)}[{__idx_f64a5c}] to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, {typeof(AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IDataDisksProperty).FullName}; received {cast_cd4240[__idx_f64a5c].GetType().FullName}", nameof(value)); } } break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}, object[]; received {value.GetType().FullName}", nameof(value)); } } _dataDisks = value; } } private object? _desiredSize; /// <remarks> /// <strong>Property</strong>: desiredSize: The desired number of nodes in the node pool. /// </remarks> [JsiiOptional] [JsiiProperty(name: "desiredSize", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? DesiredSize { get => _desiredSize; 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)); } } _desiredSize = value; } } private object? _imageId; /// <remarks> /// <strong>Property</strong>: imageId: The ID of a custom image. By default, the image provided by ACK is used. /// </remarks> [JsiiOptional] [JsiiProperty(name: "imageId", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? ImageId { get => _imageId; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _imageId = value; } } private object? _instanceChargeType; /// <remarks> /// <strong>Property</strong>: instanceChargeType: The billing method of nodes in the node pool. Valid values: /// PrePaid: subscription. /// PostPaid: pay-as-you-go. /// Default value: PostPaid. /// </remarks> [JsiiOptional] [JsiiProperty(name: "instanceChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InstanceChargeType { get => _instanceChargeType; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _instanceChargeType = value; } } private object? _internetChargeType; /// <remarks> /// <strong>Property</strong>: internetChargeType: Bandwidth billing method. Valid values: PayByTraffic or PayByBandwidth. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetChargeType", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetChargeType { get => _internetChargeType; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _internetChargeType = value; } } private object? _internetMaxBandwidthOut; /// <remarks> /// <strong>Property</strong>: internetMaxBandwidthOut: The release version of the operating system. Valid values: /// CentOS, AliyunLinux, Windows, WindowsCore. /// Default value: AliyunLinux. /// </remarks> [JsiiOptional] [JsiiProperty(name: "internetMaxBandwidthOut", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? InternetMaxBandwidthOut { get => _internetMaxBandwidthOut; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case double cast_cd4240: break; case byte cast_cd4240: break; case decimal cast_cd4240: break; case float cast_cd4240: break; case int cast_cd4240: break; case long cast_cd4240: break; case sbyte cast_cd4240: break; case short cast_cd4240: break; case uint cast_cd4240: break; case ulong cast_cd4240: break; case ushort cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _internetMaxBandwidthOut = value; } } private object? _isEnterpriseSecurityGroup; /// <remarks> /// <strong>Property</strong>: isEnterpriseSecurityGroup: Specifies whether to create an advanced security group. /// This parameter takes effect only if security_group_id is left empty. /// Note You must specify an advanced security group for a cluster that has Terway installed. /// true: creates an advanced security group. /// false: does not create an advanced security group. /// Default value: false. /// </remarks> [JsiiOptional] [JsiiProperty(name: "isEnterpriseSecurityGroup", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"boolean\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? IsEnterpriseSecurityGroup { get => _isEnterpriseSecurityGroup; 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)); } } _isEnterpriseSecurityGroup = value; } } private object? _keyPair; /// <remarks> /// <strong>Property</strong>: keyPair: The name of the key pair used to log on to the nodes. You must set KeyPair or LoginPassword. /// </remarks> [JsiiOptional] [JsiiProperty(name: "keyPair", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? KeyPair { get => _keyPair; 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)); } } _keyPair = value; } } private object? _loginPassword; /// <remarks> /// <strong>Property</strong>: loginPassword: The password used to log on to the nodes by using SSH. You must set KeyPair or LoginPassword. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. /// </remarks> [JsiiOptional] [JsiiProperty(name: "loginPassword", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? LoginPassword { get => _loginPassword; 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)); } } _loginPassword = value; } } private object? _period; /// <remarks> /// <strong>Property</strong>: period: The subscription period of nodes in the node pool. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If PeriodUnit=Month is configured, the valid values are: 1, 2, 3, 6, and 12. /// Default value: 1. /// </remarks> [JsiiOptional] [JsiiProperty(name: "period", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Period { get => _period; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case double cast_cd4240: break; case byte cast_cd4240: break; case decimal cast_cd4240: break; case float cast_cd4240: break; case int cast_cd4240: break; case long cast_cd4240: break; case sbyte cast_cd4240: break; case short cast_cd4240: break; case uint cast_cd4240: break; case ulong cast_cd4240: break; case ushort cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: double, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _period = value; } } private object? _periodUnit; /// <remarks> /// <strong>Property</strong>: periodUnit: The unit of the subscription period of nodes in the node pool. This parameter is required if you set InstanceChargeType to PrePaid. A value of Month specifies that the subscription period is measured in months. /// </remarks> [JsiiOptional] [JsiiProperty(name: "periodUnit", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? PeriodUnit { get => _periodUnit; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _periodUnit = value; } } private object? _rdsInstances; /// <remarks> /// <strong>Property</strong>: rdsInstances: The IDs of the ApsaraDB RDS instances. /// </remarks> [JsiiOptional] [JsiiProperty(name: "rdsInstances", 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? RdsInstances { get => _rdsInstances; 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)); } } _rdsInstances = value; } } private object? _systemDiskCategory; /// <remarks> /// <strong>Property</strong>: systemDiskCategory: The type of system disk. Valid values: /// cloud_efficiency: ultra disk. /// cloud_ssd: standard SSD. /// cloud_essd: enhanced SSD. /// Default value: cloud_efficiency. /// </remarks> [JsiiOptional] [JsiiProperty(name: "systemDiskCategory", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? SystemDiskCategory { get => _systemDiskCategory; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _systemDiskCategory = value; } } private object? _systemDiskPerformanceLevel; /// <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 object? SystemDiskPerformanceLevel { get => _systemDiskPerformanceLevel; set { if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking) { switch (value) { case string cast_cd4240: break; case AlibabaCloud.SDK.ROS.CDK.Core.IResolvable cast_cd4240: break; case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_cd4240: // Not enough information to type-check... break; case null: break; default: throw new System.ArgumentException($"Expected {nameof(value)} to be one of: string, {typeof(AlibabaCloud.SDK.ROS.CDK.Core.IResolvable).FullName}; received {value.GetType().FullName}", nameof(value)); } } _systemDiskPerformanceLevel = value; } } /// <remarks> /// <strong>Property</strong>: tags: Adds labels only to ECS instances. /// A key must be unique and cannot exceed 128 characters in length. Neither keys nor values can start with aliyun or acs:. Neither keys nor values can contain https:\/\/ or http:\/\/. /// </remarks> [JsiiOptional] [JsiiProperty(name: "tags", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupTagsProperty\"},\"kind\":\"array\"}}", isOptional: true)] public AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupTagsProperty[]? Tags { get; set; } private object? _zoneIds; /// <remarks> /// <strong>Property</strong>: zoneIds: Zone ids of virtual switches belongs to. /// </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 object? ZoneIds { get => _zoneIds; 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)); } } _zoneIds = value; } } } [JsiiInterface(nativeType: typeof(IScalingGroupTagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupTagsProperty")] public interface IScalingGroupTagsProperty { /// <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\"}]}}")] object Value { get; } [JsiiTypeProxy(nativeType: typeof(IScalingGroupTagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupTagsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupTagsProperty { 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> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Value { get => GetInstanceProperty<object>()!; } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.ScalingGroupTagsProperty")] public class ScalingGroupTagsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.IScalingGroupTagsProperty { 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> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] 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: 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)); } } _value = value; } } } [JsiiInterface(nativeType: typeof(ITagsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TagsProperty")] public interface ITagsProperty { /// <remarks> /// <strong>Property</strong>: key: Tag key. /// </remarks> [JsiiProperty(name: "key", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] object Key { get; } /// <remarks> /// <strong>Property</strong>: value: Tag value. /// </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-cs.RosManagedKubernetesCluster.TagsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ITagsProperty { private _Proxy(ByRefValue reference): base(reference) { } /// <remarks> /// <strong>Property</strong>: key: Tag key. /// </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: Tag value. /// </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-cs.RosManagedKubernetesCluster.TagsProperty")] public class TagsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ITagsProperty { private object _key; /// <remarks> /// <strong>Property</strong>: key: Tag key. /// </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: Tag value. /// </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; } } } [JsiiInterface(nativeType: typeof(ITaintsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TaintsProperty")] public interface ITaintsProperty { /// <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\"}]}}")] object Value { get; } /// <remarks> /// <strong>Property</strong>: effect: The scheduling policy. Valid values: /// NoSchedule: Pods that do not tolerate this taint are not scheduled to nodes with this taint. This policy affects only the scheduling process and takes effect only for pods to be scheduled. Scheduled pods are not subject to this policy. /// NoExecute: Pods that do not tolerate this taint are evicted after this taint is added to the node. /// PreferNoSchedule: a preference policy on pods. Scheduled pods are not subject to this policy. If this taint is added to a node, the system tries to not schedule pods that do not tolerate this taint to the node. /// Default value: NoSchedule. /// </remarks> [JsiiProperty(name: "effect", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] object? Effect { get { return null; } } [JsiiTypeProxy(nativeType: typeof(ITaintsProperty), fullyQualifiedName: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TaintsProperty")] internal sealed class _Proxy : DeputyBase, AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ITaintsProperty { 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> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] public object Value { get => GetInstanceProperty<object>()!; } /// <remarks> /// <strong>Property</strong>: effect: The scheduling policy. Valid values: /// NoSchedule: Pods that do not tolerate this taint are not scheduled to nodes with this taint. This policy affects only the scheduling process and takes effect only for pods to be scheduled. Scheduled pods are not subject to this policy. /// NoExecute: Pods that do not tolerate this taint are evicted after this taint is added to the node. /// PreferNoSchedule: a preference policy on pods. Scheduled pods are not subject to this policy. If this taint is added to a node, the system tries to not schedule pods that do not tolerate this taint to the node. /// Default value: NoSchedule. /// </remarks> [JsiiOptional] [JsiiProperty(name: "effect", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Effect { get => GetInstanceProperty<object?>(); } } } #pragma warning disable CS8618 [JsiiByValue(fqn: "@alicloud/ros-cdk-cs.RosManagedKubernetesCluster.TaintsProperty")] public class TaintsProperty : AlibabaCloud.SDK.ROS.CDK.Cs.RosManagedKubernetesCluster.ITaintsProperty { 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> [JsiiProperty(name: "value", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}")] 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: 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)); } } _value = value; } } private object? _effect; /// <remarks> /// <strong>Property</strong>: effect: The scheduling policy. Valid values: /// NoSchedule: Pods that do not tolerate this taint are not scheduled to nodes with this taint. This policy affects only the scheduling process and takes effect only for pods to be scheduled. Scheduled pods are not subject to this policy. /// NoExecute: Pods that do not tolerate this taint are evicted after this taint is added to the node. /// PreferNoSchedule: a preference policy on pods. Scheduled pods are not subject to this policy. If this taint is added to a node, the system tries to not schedule pods that do not tolerate this taint to the node. /// Default value: NoSchedule. /// </remarks> [JsiiOptional] [JsiiProperty(name: "effect", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"fqn\":\"@alicloud/ros-cdk-core.IResolvable\"}]}}", isOptional: true)] public object? Effect { get => _effect; 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)); } } _effect = value; } } } } }