ec2: default values in ec2 fleet (#5856)

This commit is contained in:
Macwan Nevil 2023-01-23 22:43:10 +05:30 committed by GitHub
parent b0ee64f24a
commit 64a5dcde31
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 5 deletions

View File

@ -1,7 +1,7 @@
import datetime
from collections import defaultdict
from moto.ec2.models.spot_requests import SpotFleetLaunchSpec
from .core import TaggedEC2Resource
from ..utils import (
random_fleet_id,
@ -39,7 +39,7 @@ class Fleet(TaggedEC2Resource):
self.replace_unhealthy_instances = replace_unhealthy_instances
self.terminate_instances_with_expiration = terminate_instances_with_expiration
self.fleet_type = fleet_type
self.valid_from = valid_from
self.valid_from = valid_from or datetime.datetime.now(tz=datetime.timezone.utc)
self.valid_until = valid_until
tag_map = convert_tag_spec(tag_specifications).get("fleet", {})
self.add_tags(tag_map)
@ -102,12 +102,14 @@ class Fleet(TaggedEC2Resource):
target_capacity_specification.get("TotalTargetCapacity")
)
self.spot_target_capacity = int(
target_capacity_specification.get("SpotTargetCapacity")
target_capacity_specification.get("SpotTargetCapacity", 0)
)
if self.spot_target_capacity > 0:
self.create_spot_requests(self.spot_target_capacity)
self.on_demand_target_capacity = int(
target_capacity_specification.get("OnDemandTargetCapacity")
target_capacity_specification.get(
"OnDemandTargetCapacity", self.target_capacity
)
)
if self.on_demand_target_capacity > 0:
self.create_on_demand_requests(self.on_demand_target_capacity)

View File

@ -30,7 +30,9 @@ class Fleets(BaseResponse):
target_capacity_specification = self._get_multi_param_dict(
"TargetCapacitySpecification"
)
launch_template_configs = self._get_multi_param("LaunchTemplateConfigs")
launch_template_configs = self._get_multi_param(
param_prefix="LaunchTemplateConfigs"
)
excess_capacity_termination_policy = self._get_param(
"ExcessCapacityTerminationPolicy"
@ -209,8 +211,12 @@ DESCRIBE_FLEETS_TEMPLATE = """<DescribeFleetsResponse xmlns="http://ec2.amazonaw
{% endif %}
{% if override.InstanceRequirements.MemoryGiBPerVCpu %}
<memoryGiBPerVCpu>
{% if override.InstanceRequirements.MemoryGiBPerVCpu.Min %}
<min>{{ override.InstanceRequirements.MemoryGiBPerVCpu.Min }}</min>
{% endif %}
{% if override.InstanceRequirements.MemoryGiBPerVCpu.Max %}
<max>{{ override.InstanceRequirements.MemoryGiBPerVCpu.Max }}</max>
{% endif %}
</memoryGiBPerVCpu>
{% endif %}
{% if override.InstanceRequirements.MemoryMiB %}
@ -368,8 +374,12 @@ DESCRIBE_FLEETS_TEMPLATE = """<DescribeFleetsResponse xmlns="http://ec2.amazonaw
{% endif %}
<terminateInstancesWithExpiration>{{ request.terminate_instances_with_expiration }}</terminateInstancesWithExpiration>
<type>{{ request.fleet_type }}</type>
{% if request.valid_from %}
<validFrom>{{ request.valid_from }}</validFrom>
{% endif %}
{% if request.valid_until %}
<validUntil>{{ request.valid_until }}</validUntil>
{% endif %}
<replaceUnhealthyInstances>{{ request.replace_unhealthy_instances }}</replaceUnhealthyInstances>
<tagSet>
{% for tag in request.tags %}