@alicloud/ros-cdk-nlb 1.0.21 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import * as ros from '@alicloud/ros-cdk-core';
2
2
  /**
3
- * Properties for defining a `ALIYUN::NLB::Listener`
3
+ * Properties for defining a `RosListener`.
4
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-listener
4
5
  */
5
6
  export interface RosListenerProps {
6
7
  /**
@@ -79,19 +80,21 @@ export interface RosListenerProps {
79
80
  * @Property startPort: StartPort of the portRange
80
81
  */
81
82
  readonly startPort?: number | ros.IResolvable;
83
+ /**
84
+ * @Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
85
+ */
86
+ readonly tags?: RosListener.TagsProperty[];
82
87
  }
83
88
  /**
84
- * A ROS template type: `ALIYUN::NLB::Listener`
89
+ * This class is a base encapsulation around the ROS resource type `ALIYUN::NLB::Listener`, which is used to create a listener.
90
+ * @Note This class does not contain additional functions, so it is recommended to use the `Listener` class instead of this class for a more convenient development experience.
91
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-listener
85
92
  */
86
93
  export declare class RosListener extends ros.RosResource {
87
94
  /**
88
95
  * The resource type name for this resource class.
89
96
  */
90
97
  static readonly ROS_RESOURCE_TYPE_NAME = "ALIYUN::NLB::Listener";
91
- /**
92
- * A factory method that creates a new instance of this class from an object
93
- * containing the properties of this ROS resource.
94
- */
95
98
  /**
96
99
  * @Attribute ListenerId: Id of created Listener
97
100
  */
@@ -178,8 +181,10 @@ export declare class RosListener extends ros.RosResource {
178
181
  */
179
182
  startPort: number | ros.IResolvable | undefined;
180
183
  /**
181
- * Create a new `ALIYUN::NLB::Listener`.
182
- *
184
+ * @Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
185
+ */
186
+ tags: RosListener.TagsProperty[] | undefined;
187
+ /**
183
188
  * @param scope - scope in which this resource is defined
184
189
  * @param id - scoped id of the resource
185
190
  * @param props - resource properties
@@ -194,8 +199,24 @@ export declare class RosListener extends ros.RosResource {
194
199
  [key: string]: any;
195
200
  };
196
201
  }
202
+ export declare namespace RosListener {
203
+ /**
204
+ * @stability external
205
+ */
206
+ interface TagsProperty {
207
+ /**
208
+ * @Property value: undefined
209
+ */
210
+ readonly value?: string | ros.IResolvable;
211
+ /**
212
+ * @Property key: undefined
213
+ */
214
+ readonly key: string | ros.IResolvable;
215
+ }
216
+ }
197
217
  /**
198
- * Properties for defining a `ALIYUN::NLB::LoadBalancer`
218
+ * Properties for defining a `RosLoadBalancer`.
219
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-loadbalancer
199
220
  */
200
221
  export interface RosLoadBalancerProps {
201
222
  /**
@@ -259,17 +280,15 @@ export interface RosLoadBalancerProps {
259
280
  readonly trafficAffinityEnabled?: boolean | ros.IResolvable;
260
281
  }
261
282
  /**
262
- * A ROS template type: `ALIYUN::NLB::LoadBalancer`
283
+ * This class is a base encapsulation around the ROS resource type `ALIYUN::NLB::LoadBalancer`, which is used to create a Network Load Balancer (NLB) instance.
284
+ * @Note This class does not contain additional functions, so it is recommended to use the `LoadBalancer` class instead of this class for a more convenient development experience.
285
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-loadbalancer
263
286
  */
264
287
  export declare class RosLoadBalancer extends ros.RosResource {
265
288
  /**
266
289
  * The resource type name for this resource class.
267
290
  */
268
291
  static readonly ROS_RESOURCE_TYPE_NAME = "ALIYUN::NLB::LoadBalancer";
269
- /**
270
- * A factory method that creates a new instance of this class from an object
271
- * containing the properties of this ROS resource.
272
- */
273
292
  /**
274
293
  * @Attribute AddressIpVersion: The version of IP address that the NLB instance uses to provide services.
275
294
  */
@@ -359,8 +378,6 @@ export declare class RosLoadBalancer extends ros.RosResource {
359
378
  */
360
379
  trafficAffinityEnabled: boolean | ros.IResolvable | undefined;
361
380
  /**
362
- * Create a new `ALIYUN::NLB::LoadBalancer`.
363
- *
364
381
  * @param scope - scope in which this resource is defined
365
382
  * @param id - scoped id of the resource
366
383
  * @param props - resource properties
@@ -467,6 +484,13 @@ export declare namespace RosLoadBalancer {
467
484
  * @Property allocationId: The ID of the elastic IP address (EIP) that is associated with the Internet-facing NLB instance.
468
485
  */
469
486
  readonly allocationId?: string | ros.IResolvable;
487
+ /**
488
+ * @Property eipType: The type of the EIP. Valid values:
489
+ * - **Common**
490
+ * - **Anycast**
491
+ * **Note**: Only NLB instances in Hong Kong, China, support binding Anycast EIP.
492
+ */
493
+ readonly eipType?: string | ros.IResolvable;
470
494
  /**
471
495
  * @Property loadBalancerAddresses: Load balancer addresses. This property has higher priority than AllocationId and EipType in ZoneMappings.
472
496
  */
@@ -478,7 +502,8 @@ export declare namespace RosLoadBalancer {
478
502
  }
479
503
  }
480
504
  /**
481
- * Properties for defining a `ALIYUN::NLB::SecurityGroupAttachment`
505
+ * Properties for defining a `RosSecurityGroupAttachment`.
506
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-securitygroupattachment
482
507
  */
483
508
  export interface RosSecurityGroupAttachmentProps {
484
509
  /**
@@ -491,17 +516,15 @@ export interface RosSecurityGroupAttachmentProps {
491
516
  readonly securityGroupIds: Array<any | ros.IResolvable> | ros.IResolvable;
492
517
  }
493
518
  /**
494
- * A ROS template type: `ALIYUN::NLB::SecurityGroupAttachment`
519
+ * This class is a base encapsulation around the ROS resource type `ALIYUN::NLB::SecurityGroupAttachment`, which is used to bind a security group to a Network Load Balancer (NLB) instance.
520
+ * @Note This class does not contain additional functions, so it is recommended to use the `SecurityGroupAttachment` class instead of this class for a more convenient development experience.
521
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-securitygroupattachment
495
522
  */
496
523
  export declare class RosSecurityGroupAttachment extends ros.RosResource {
497
524
  /**
498
525
  * The resource type name for this resource class.
499
526
  */
500
527
  static readonly ROS_RESOURCE_TYPE_NAME = "ALIYUN::NLB::SecurityGroupAttachment";
501
- /**
502
- * A factory method that creates a new instance of this class from an object
503
- * containing the properties of this ROS resource.
504
- */
505
528
  enableResourcePropertyConstraint: boolean;
506
529
  /**
507
530
  * @Property loadBalancerId: The ID of the network-based server load balancer instance to be bound to the security group.
@@ -512,8 +535,6 @@ export declare class RosSecurityGroupAttachment extends ros.RosResource {
512
535
  */
513
536
  securityGroupIds: Array<any | ros.IResolvable> | ros.IResolvable;
514
537
  /**
515
- * Create a new `ALIYUN::NLB::SecurityGroupAttachment`.
516
- *
517
538
  * @param scope - scope in which this resource is defined
518
539
  * @param id - scoped id of the resource
519
540
  * @param props - resource properties
@@ -529,13 +550,103 @@ export declare class RosSecurityGroupAttachment extends ros.RosResource {
529
550
  };
530
551
  }
531
552
  /**
532
- * Properties for defining a `ALIYUN::NLB::ServerGroup`
553
+ * Properties for defining a `RosSecurityPolicy`.
554
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-securitypolicy
533
555
  */
534
- export interface RosServerGroupProps {
556
+ export interface RosSecurityPolicyProps {
535
557
  /**
536
- * @Property healthCheckConfig: Health Check Config
558
+ * @Property ciphers: TThe supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
559
+ */
560
+ readonly ciphers: Array<string | ros.IResolvable> | ros.IResolvable;
561
+ /**
562
+ * @Property tlsVersions: The supported versions of the Transport Layer Security (TLS) protocol. Valid values: TLSv1.0, TLSv1.1, TLSv1.2, and TLSv1.3.
563
+ */
564
+ readonly tlsVersions: Array<string | ros.IResolvable> | ros.IResolvable;
565
+ /**
566
+ * @Property resourceGroupId: The ID of the resource group.
567
+ */
568
+ readonly resourceGroupId?: string | ros.IResolvable;
569
+ /**
570
+ * @Property securityPolicyName: The name of the security policy.
571
+ * The name must be 1 to 200 characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-).
572
+ */
573
+ readonly securityPolicyName?: string | ros.IResolvable;
574
+ /**
575
+ * @Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
576
+ */
577
+ readonly tags?: RosSecurityPolicy.TagsProperty[];
578
+ }
579
+ /**
580
+ * This class is a base encapsulation around the ROS resource type `ALIYUN::NLB::SecurityPolicy`.
581
+ * @Note This class does not contain additional functions, so it is recommended to use the `SecurityPolicy` class instead of this class for a more convenient development experience.
582
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-securitypolicy
583
+ */
584
+ export declare class RosSecurityPolicy extends ros.RosResource {
585
+ /**
586
+ * The resource type name for this resource class.
587
+ */
588
+ static readonly ROS_RESOURCE_TYPE_NAME = "ALIYUN::NLB::SecurityPolicy";
589
+ /**
590
+ * @Attribute SecurityPolicyId: The ID of the security policy.
591
+ */
592
+ readonly attrSecurityPolicyId: ros.IResolvable;
593
+ enableResourcePropertyConstraint: boolean;
594
+ /**
595
+ * @Property ciphers: TThe supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
596
+ */
597
+ ciphers: Array<string | ros.IResolvable> | ros.IResolvable;
598
+ /**
599
+ * @Property tlsVersions: The supported versions of the Transport Layer Security (TLS) protocol. Valid values: TLSv1.0, TLSv1.1, TLSv1.2, and TLSv1.3.
600
+ */
601
+ tlsVersions: Array<string | ros.IResolvable> | ros.IResolvable;
602
+ /**
603
+ * @Property resourceGroupId: The ID of the resource group.
604
+ */
605
+ resourceGroupId: string | ros.IResolvable | undefined;
606
+ /**
607
+ * @Property securityPolicyName: The name of the security policy.
608
+ * The name must be 1 to 200 characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-).
609
+ */
610
+ securityPolicyName: string | ros.IResolvable | undefined;
611
+ /**
612
+ * @Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
613
+ */
614
+ tags: RosSecurityPolicy.TagsProperty[] | undefined;
615
+ /**
616
+ * @param scope - scope in which this resource is defined
617
+ * @param id - scoped id of the resource
618
+ * @param props - resource properties
537
619
  */
538
- readonly healthCheckConfig: RosServerGroup.HealthCheckConfigProperty | ros.IResolvable;
620
+ constructor(scope: ros.Construct, id: string, props: RosSecurityPolicyProps, enableResourcePropertyConstraint: boolean);
621
+ protected get rosProperties(): {
622
+ [key: string]: any;
623
+ };
624
+ protected renderProperties(props: {
625
+ [key: string]: any;
626
+ }): {
627
+ [key: string]: any;
628
+ };
629
+ }
630
+ export declare namespace RosSecurityPolicy {
631
+ /**
632
+ * @stability external
633
+ */
634
+ interface TagsProperty {
635
+ /**
636
+ * @Property value: undefined
637
+ */
638
+ readonly value?: string | ros.IResolvable;
639
+ /**
640
+ * @Property key: undefined
641
+ */
642
+ readonly key: string | ros.IResolvable;
643
+ }
644
+ }
645
+ /**
646
+ * Properties for defining a `RosServerGroup`.
647
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-servergroup
648
+ */
649
+ export interface RosServerGroupProps {
539
650
  /**
540
651
  * @Property serverGroupName: Name of ServerGroup
541
652
  */
@@ -548,6 +659,12 @@ export interface RosServerGroupProps {
548
659
  * @Property addressIpVersion: IP version of address
549
660
  */
550
661
  readonly addressIpVersion?: string | ros.IResolvable;
662
+ /**
663
+ * @Property anyPortEnabled: Specifies whether to enable all-port forwarding. Valid values:
664
+ * true
665
+ * false (default)
666
+ */
667
+ readonly anyPortEnabled?: boolean | ros.IResolvable;
551
668
  /**
552
669
  * @Property connectionDrainEnabled: Whether to enable graceful connection interruption
553
670
  */
@@ -556,6 +673,10 @@ export interface RosServerGroupProps {
556
673
  * @Property connectionDrainTimeout: Time of graceful connection interruption
557
674
  */
558
675
  readonly connectionDrainTimeout?: number | ros.IResolvable;
676
+ /**
677
+ * @Property healthCheckConfig: Health Check Config
678
+ */
679
+ readonly healthCheckConfig?: RosServerGroup.HealthCheckConfigProperty | ros.IResolvable;
559
680
  /**
560
681
  * @Property persistenceEnabled: Whether to enable session persistence
561
682
  */
@@ -588,28 +709,26 @@ export interface RosServerGroupProps {
588
709
  * @Property servers: undefined
589
710
  */
590
711
  readonly servers?: Array<RosServerGroup.ServersProperty | ros.IResolvable> | ros.IResolvable;
712
+ /**
713
+ * @Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
714
+ */
715
+ readonly tags?: RosServerGroup.TagsProperty[];
591
716
  }
592
717
  /**
593
- * A ROS template type: `ALIYUN::NLB::ServerGroup`
718
+ * This class is a base encapsulation around the ROS resource type `ALIYUN::NLB::ServerGroup`, which is used to create a server group for a Network Load Balancer (NLB) instance.
719
+ * @Note This class does not contain additional functions, so it is recommended to use the `ServerGroup` class instead of this class for a more convenient development experience.
720
+ * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-nlb-servergroup
594
721
  */
595
722
  export declare class RosServerGroup extends ros.RosResource {
596
723
  /**
597
724
  * The resource type name for this resource class.
598
725
  */
599
726
  static readonly ROS_RESOURCE_TYPE_NAME = "ALIYUN::NLB::ServerGroup";
600
- /**
601
- * A factory method that creates a new instance of this class from an object
602
- * containing the properties of this ROS resource.
603
- */
604
727
  /**
605
728
  * @Attribute ServerGroupId: ID of ServerGroup
606
729
  */
607
730
  readonly attrServerGroupId: ros.IResolvable;
608
731
  enableResourcePropertyConstraint: boolean;
609
- /**
610
- * @Property healthCheckConfig: Health Check Config
611
- */
612
- healthCheckConfig: RosServerGroup.HealthCheckConfigProperty | ros.IResolvable;
613
732
  /**
614
733
  * @Property serverGroupName: Name of ServerGroup
615
734
  */
@@ -622,6 +741,12 @@ export declare class RosServerGroup extends ros.RosResource {
622
741
  * @Property addressIpVersion: IP version of address
623
742
  */
624
743
  addressIpVersion: string | ros.IResolvable | undefined;
744
+ /**
745
+ * @Property anyPortEnabled: Specifies whether to enable all-port forwarding. Valid values:
746
+ * true
747
+ * false (default)
748
+ */
749
+ anyPortEnabled: boolean | ros.IResolvable | undefined;
625
750
  /**
626
751
  * @Property connectionDrainEnabled: Whether to enable graceful connection interruption
627
752
  */
@@ -630,6 +755,10 @@ export declare class RosServerGroup extends ros.RosResource {
630
755
  * @Property connectionDrainTimeout: Time of graceful connection interruption
631
756
  */
632
757
  connectionDrainTimeout: number | ros.IResolvable | undefined;
758
+ /**
759
+ * @Property healthCheckConfig: Health Check Config
760
+ */
761
+ healthCheckConfig: RosServerGroup.HealthCheckConfigProperty | ros.IResolvable | undefined;
633
762
  /**
634
763
  * @Property persistenceEnabled: Whether to enable session persistence
635
764
  */
@@ -663,8 +792,10 @@ export declare class RosServerGroup extends ros.RosResource {
663
792
  */
664
793
  servers: Array<RosServerGroup.ServersProperty | ros.IResolvable> | ros.IResolvable | undefined;
665
794
  /**
666
- * Create a new `ALIYUN::NLB::ServerGroup`.
667
- *
795
+ * @Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
796
+ */
797
+ tags: RosServerGroup.TagsProperty[] | undefined;
798
+ /**
668
799
  * @param scope - scope in which this resource is defined
669
800
  * @param id - scoped id of the resource
670
801
  * @param props - resource properties
@@ -744,7 +875,7 @@ export declare namespace RosServerGroup {
744
875
  */
745
876
  readonly serverType: string | ros.IResolvable;
746
877
  /**
747
- * @Property description: The description of the servers. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (_), and hyphens (-).
878
+ * @Property description: The description of the servers. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (\/), at signs (@), underscores (_), and hyphens (-).
748
879
  */
749
880
  readonly description?: string | ros.IResolvable;
750
881
  /**
@@ -768,3 +899,18 @@ export declare namespace RosServerGroup {
768
899
  readonly weight?: number | ros.IResolvable;
769
900
  }
770
901
  }
902
+ export declare namespace RosServerGroup {
903
+ /**
904
+ * @stability external
905
+ */
906
+ interface TagsProperty {
907
+ /**
908
+ * @Property value: undefined
909
+ */
910
+ readonly value?: string | ros.IResolvable;
911
+ /**
912
+ * @Property key: undefined
913
+ */
914
+ readonly key: string | ros.IResolvable;
915
+ }
916
+ }