@@ -169,14 +169,19 @@ def create_instance(
169169 raise NoCapacityError ("No eligible availability zones" )
170170
171171 instance_name = generate_unique_instance_name (instance_config )
172- tags = {
172+ base_tags = {
173173 "Name" : instance_name ,
174174 "owner" : "dstack" ,
175175 "dstack_project" : project_name ,
176176 "dstack_name" : instance_config .instance_name ,
177177 "dstack_user" : instance_config .user ,
178178 }
179- tags = merge_tags (tags = tags , backend_tags = self .config .tags )
179+ tags = merge_tags (
180+ base_tags = base_tags ,
181+ backend_tags = self .config .tags ,
182+ resource_tags = instance_config .tags ,
183+ )
184+ tags = aws_resources .filter_invalid_tags (tags )
180185
181186 disk_size = round (instance_offer .instance .resources .disk .size_mib / 1024 )
182187 max_efa_interfaces = _get_maximum_efa_interfaces (
@@ -326,15 +331,20 @@ def create_gateway(
326331 ec2_client = self .session .client ("ec2" , region_name = configuration .region )
327332
328333 instance_name = generate_unique_gateway_instance_name (configuration )
329- tags = {
334+ base_tags = {
330335 "Name" : instance_name ,
331336 "owner" : "dstack" ,
332337 "dstack_project" : configuration .project_name ,
333338 "dstack_name" : configuration .instance_name ,
334339 }
335340 if settings .DSTACK_VERSION is not None :
336- tags ["dstack_version" ] = settings .DSTACK_VERSION
337- tags = merge_tags (tags = tags , backend_tags = self .config .tags )
341+ base_tags ["dstack_version" ] = settings .DSTACK_VERSION
342+ tags = merge_tags (
343+ base_tags = base_tags ,
344+ backend_tags = self .config .tags ,
345+ resource_tags = configuration .tags ,
346+ )
347+ tags = aws_resources .filter_invalid_tags (tags )
338348 tags = aws_resources .make_tags (tags )
339349
340350 vpc_id , subnets_ids = get_vpc_id_subnet_id_or_error (
@@ -522,14 +532,19 @@ def create_volume(self, volume: Volume) -> VolumeProvisioningData:
522532 ec2_client = self .session .client ("ec2" , region_name = volume .configuration .region )
523533
524534 volume_name = generate_unique_volume_name (volume )
525- tags = {
535+ base_tags = {
526536 "Name" : volume_name ,
527537 "owner" : "dstack" ,
528538 "dstack_project" : volume .project_name ,
529539 "dstack_name" : volume .name ,
530540 "dstack_user" : volume .user ,
531541 }
532- tags = merge_tags (tags = tags , backend_tags = self .config .tags )
542+ tags = merge_tags (
543+ base_tags = base_tags ,
544+ backend_tags = self .config .tags ,
545+ resource_tags = volume .configuration .tags ,
546+ )
547+ tags = aws_resources .filter_invalid_tags (tags )
533548
534549 zones = aws_resources .get_availability_zones (
535550 ec2_client = ec2_client , region = volume .configuration .region
0 commit comments