// This file is auto-generated, don't edit it import * as $dara from '@darabonba/typescript'; export class CreatePortRangeListRequestEntry extends $dara.Model { /** * @remarks * The description of port range N. The description must be 2 to 32 characters in length and cannot start with http:// or https://. Valid values of N: 0 to 200. * * @example * Description information of Entry */ description?: string; /** * @remarks * Port range N. Valid values of N: 0 to 200. * * * The total number of entries cannot exceed the `MaxEntries` value. * * `PortRange` in multiple entries cannot be duplicated. * * @example * 80/80 */ portRange?: string; static names(): { [key: string]: string } { return { description: 'Description', portRange: 'PortRange', }; } static types(): { [key: string]: any } { return { description: 'string', portRange: 'string', }; } validate() { super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePortRangeListRequestTag extends $dara.Model { /** * @remarks * The key of tag N to add to the port list. * * The tag key cannot be empty or an empty string. The tag key can be up to 128 characters in length and cannot contain http:// or https://. The tag key cannot start with acs: or aliyun. * * @example * key for PortRangeList */ key?: string; /** * @remarks * The value of tag N to add to the port list. * * The tag value cannot be empty but can be an empty string. The tag value can be up to 128 characters in length and cannot contain http:// or https://. * * @example * value for PortRangeList */ value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } validate() { super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePortRangeListRequest extends $dara.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **token** can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](https://help.aliyun.com/document_detail/25693.html). * * @example * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The description of the port list. The description must be 2 to 256 characters in length and cannot start with http:// or https://. * * @example * Description information of PortRangeList */ description?: string; /** * @remarks * The port list entries. */ entry?: CreatePortRangeListRequestEntry[]; /** * @remarks * The maximum number of entries in the port list. The value cannot be changed after you create the port list. Valid values: 1 to 2000. * * > When you reference a port list in a resource, such as a security group, the maximum number of entries (instead of the actual number of entries) in the port list counts against the rule quota for the resource. Set a proper value for MaxEntries. * * This parameter is required. * * @example * 10 */ maxEntries?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The name of the port list. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with http://, https://, com.aliyun, or com.alibabacloud. The name can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). * * This parameter is required. * * @example * PortRangeListNameSample */ portRangeListName?: string; /** * @remarks * The region ID of the port list. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the resource group to which the port list belongs. * * @example * rg-aek3b6jzp66**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags to add to the port list. You can add 0 to 20 tags to the port list. */ tag?: CreatePortRangeListRequestTag[]; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', entry: 'Entry', maxEntries: 'MaxEntries', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', portRangeListName: 'PortRangeListName', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', entry: { 'type': 'array', 'itemType': CreatePortRangeListRequestEntry }, maxEntries: 'number', ownerAccount: 'string', ownerId: 'number', portRangeListName: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': CreatePortRangeListRequestTag }, }; } validate() { if(Array.isArray(this.entry)) { $dara.Model.validateArray(this.entry); } if(Array.isArray(this.tag)) { $dara.Model.validateArray(this.tag); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } }