// This file is auto-generated, don't edit it import * as $dara from '@darabonba/typescript'; export class ListTagResourcesRequestTag extends $dara.Model { /** * @remarks * The key of tag N used for exact search of ECS resources. The tag key must be 1 to 128 characters in length. Valid values of N: 1 to 20. * * Methods of using the `Tag.N` parameter pair (Tag.N.Key and Tag.N.Value): * * * Method 1: Use this parameter pair for exact search of ECS resources that have specified tags added. Each tag is a key-value pair. * * * If you specify only `Tag.N.Key`, all ECS resources whose tags contain the specified tag key are returned. * * If you specify only `Tag.N.Value`, the `InvalidParameter.TagValue` error is returned. * * If you specify multiple tag key-value pairs, only the ECS resources that have all these tag key-value pairs added are returned. * * * Method 2: Use this parameter pair to query resource information of a non-default resource group. Set `Key` to `acs:rm:rgId` and `Value` to the ID of a resource group. * * * If you set `Key` to `acs:rm:rgId`, you must set `Value` to the ID of a non-default resource group. If you set Value to the ID of the default resource group, an error message is returned. * * If you set `Key` to `acs:rm:rgId`, you cannot specify other Tag.N parameter pairs. If you specify multiple `Tag.N` parameter pairs to query resource groups and resources at the same time, an error message is returned. * * @example * TestKey */ key?: string; /** * @remarks * The value of tag N used for exact search of ECS resources. The tag value must be 1 to 128 characters in length. Valid values of N: 1 to 20. * * > When Key is set to `acs:rm:rgId`, you can set Value only to the ID of a non-default resource group. * * @example * TestValue */ 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 ListTagResourcesRequestTagFilter extends $dara.Model { /** * @remarks * The key of tag N used for fuzzy search of ECS resources. The tag key must be 1 to 128 characters in length. Valid values of N: 1 to 5. * * The `TagFilter.N` parameter pair (TagFilter.N.TagKey and TagFilter.N.TagValues.N) is used for fuzzy search of ECS resources that have specified tags added. In the specified tags, a single tag key may correspond to one or more tag values. Fuzzy search may have a latency of 2 seconds. A fuzzy search can return a result set of entries about a maximum of 5,000 resources. * * * When you use `TagFilter.N.TagKey` for fuzzy search of ECS resources, you must leave `TagFilter.N.TagValues.N` empty. For example, to query ECS resources whose tags contain the `environment` tag key, you can set `TagFilter.1.TagKey` to `env*` for prefix search, `*env*` for infix search, or `env` for exact search, but you must leave `TagFilter.1.TagValues` empty. * * When you use `TagFilter.N.TagValues.N` for fuzzy search of ECS resources, you must set `TagFilter.N.TagKey` to an exact value. For example, to query ECS resources that have a tag composed of the `env` tag key and the `product` tag value, you must set `TagFilter.1.TagKey` to `env` and can set `TagFilter.1.TagValues.1` to `proc*` for prefix search, to `*proc*` for infix search, or to `proc` for exact search. Only one of the preceding search methods can be used for each tag key (`TagFilter.N.TagKey`). If multiple search methods are configured for a tag key, the first search method prevails. * * If you specify multiple tag keys, only the ECS resources that have all the specified tag keys added are returned. * * If you specify a tag key that corresponds to multiple tag values, all the ECS resources that have one or more of these tag key-value pairs added are returned. * * > The `TagFilter.N` parameter pair (TagFilter.N.TagKey and TagFilter.N.TagValues.N) cannot be used together with the `Tag.N` parameter pair (Tag.N.Key and Tag.N.Value). Otherwise, an error message is returned. * * @example * env */ tagKey?: string; /** * @remarks * The values of tag N used for fuzzy search of ECS resources. The tag values must be 1 to 128 characters in length. Valid values of N: 1 to 5. For more information, see the description of `TagFilter.N.TagKey`. * * @example * TestTagFilter */ tagValues?: string[]; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValues: 'TagValues', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValues: { 'type': 'array', 'itemType': 'string' }, }; } validate() { if(Array.isArray(this.tagValues)) { $dara.Model.validateArray(this.tagValues); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesRequest extends $dara.Model { /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the resource. 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 resource IDs. Valid values of N: 1 to 50. * * @example * i-bp1j6qtvdm8w0z1o**** */ resourceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The resource type. Valid values: * * * instance: ECS instance * * disk: disk * * snapshot: snapshot * * image: image * * securitygroup: security group * * volume: storage volume * * eni: elastic network interface (ENI) * * ddh: dedicated host * * ddhcluster: dedicated host cluster * * keypair: SSH key pair * * launchtemplate: launch template * * reservedinstance: reserved instance * * snapshotpolicy: automatic snapshot policy * * elasticityassurance: elasticity assurance * * capacityreservation: capacity reservation * * command: Cloud Assistant command * * invocation: Cloud Assistant command execution result or file delivery result * * activation: activation code for a Cloud Assistant managed instance * * managedinstance: Cloud Assistant managed instance * * This parameter is required. * * @example * instance */ resourceType?: string; /** * @remarks * The tags. */ tag?: ListTagResourcesRequestTag[]; /** * @remarks * The regular expressions used to filter tags. */ tagFilter?: ListTagResourcesRequestTagFilter[]; static names(): { [key: string]: string } { return { nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tag: 'Tag', tagFilter: 'TagFilter', }; } static types(): { [key: string]: any } { return { nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tag: { 'type': 'array', 'itemType': ListTagResourcesRequestTag }, tagFilter: { 'type': 'array', 'itemType': ListTagResourcesRequestTagFilter }, }; } validate() { if(Array.isArray(this.resourceId)) { $dara.Model.validateArray(this.resourceId); } if(Array.isArray(this.tag)) { $dara.Model.validateArray(this.tag); } if(Array.isArray(this.tagFilter)) { $dara.Model.validateArray(this.tagFilter); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } }