ec2: default values in ec2 fleet (#5856)
This commit is contained in:
parent
b0ee64f24a
commit
64a5dcde31
@ -1,7 +1,7 @@
|
|||||||
|
import datetime
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
from moto.ec2.models.spot_requests import SpotFleetLaunchSpec
|
from moto.ec2.models.spot_requests import SpotFleetLaunchSpec
|
||||||
|
|
||||||
from .core import TaggedEC2Resource
|
from .core import TaggedEC2Resource
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
random_fleet_id,
|
random_fleet_id,
|
||||||
@ -39,7 +39,7 @@ class Fleet(TaggedEC2Resource):
|
|||||||
self.replace_unhealthy_instances = replace_unhealthy_instances
|
self.replace_unhealthy_instances = replace_unhealthy_instances
|
||||||
self.terminate_instances_with_expiration = terminate_instances_with_expiration
|
self.terminate_instances_with_expiration = terminate_instances_with_expiration
|
||||||
self.fleet_type = fleet_type
|
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
|
self.valid_until = valid_until
|
||||||
tag_map = convert_tag_spec(tag_specifications).get("fleet", {})
|
tag_map = convert_tag_spec(tag_specifications).get("fleet", {})
|
||||||
self.add_tags(tag_map)
|
self.add_tags(tag_map)
|
||||||
@ -102,12 +102,14 @@ class Fleet(TaggedEC2Resource):
|
|||||||
target_capacity_specification.get("TotalTargetCapacity")
|
target_capacity_specification.get("TotalTargetCapacity")
|
||||||
)
|
)
|
||||||
self.spot_target_capacity = int(
|
self.spot_target_capacity = int(
|
||||||
target_capacity_specification.get("SpotTargetCapacity")
|
target_capacity_specification.get("SpotTargetCapacity", 0)
|
||||||
)
|
)
|
||||||
if self.spot_target_capacity > 0:
|
if self.spot_target_capacity > 0:
|
||||||
self.create_spot_requests(self.spot_target_capacity)
|
self.create_spot_requests(self.spot_target_capacity)
|
||||||
self.on_demand_target_capacity = int(
|
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:
|
if self.on_demand_target_capacity > 0:
|
||||||
self.create_on_demand_requests(self.on_demand_target_capacity)
|
self.create_on_demand_requests(self.on_demand_target_capacity)
|
||||||
|
@ -30,7 +30,9 @@ class Fleets(BaseResponse):
|
|||||||
target_capacity_specification = self._get_multi_param_dict(
|
target_capacity_specification = self._get_multi_param_dict(
|
||||||
"TargetCapacitySpecification"
|
"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(
|
excess_capacity_termination_policy = self._get_param(
|
||||||
"ExcessCapacityTerminationPolicy"
|
"ExcessCapacityTerminationPolicy"
|
||||||
@ -209,8 +211,12 @@ DESCRIBE_FLEETS_TEMPLATE = """<DescribeFleetsResponse xmlns="http://ec2.amazonaw
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% if override.InstanceRequirements.MemoryGiBPerVCpu %}
|
{% if override.InstanceRequirements.MemoryGiBPerVCpu %}
|
||||||
<memoryGiBPerVCpu>
|
<memoryGiBPerVCpu>
|
||||||
|
{% if override.InstanceRequirements.MemoryGiBPerVCpu.Min %}
|
||||||
<min>{{ override.InstanceRequirements.MemoryGiBPerVCpu.Min }}</min>
|
<min>{{ override.InstanceRequirements.MemoryGiBPerVCpu.Min }}</min>
|
||||||
|
{% endif %}
|
||||||
|
{% if override.InstanceRequirements.MemoryGiBPerVCpu.Max %}
|
||||||
<max>{{ override.InstanceRequirements.MemoryGiBPerVCpu.Max }}</max>
|
<max>{{ override.InstanceRequirements.MemoryGiBPerVCpu.Max }}</max>
|
||||||
|
{% endif %}
|
||||||
</memoryGiBPerVCpu>
|
</memoryGiBPerVCpu>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if override.InstanceRequirements.MemoryMiB %}
|
{% if override.InstanceRequirements.MemoryMiB %}
|
||||||
@ -368,8 +374,12 @@ DESCRIBE_FLEETS_TEMPLATE = """<DescribeFleetsResponse xmlns="http://ec2.amazonaw
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<terminateInstancesWithExpiration>{{ request.terminate_instances_with_expiration }}</terminateInstancesWithExpiration>
|
<terminateInstancesWithExpiration>{{ request.terminate_instances_with_expiration }}</terminateInstancesWithExpiration>
|
||||||
<type>{{ request.fleet_type }}</type>
|
<type>{{ request.fleet_type }}</type>
|
||||||
|
{% if request.valid_from %}
|
||||||
<validFrom>{{ request.valid_from }}</validFrom>
|
<validFrom>{{ request.valid_from }}</validFrom>
|
||||||
|
{% endif %}
|
||||||
|
{% if request.valid_until %}
|
||||||
<validUntil>{{ request.valid_until }}</validUntil>
|
<validUntil>{{ request.valid_until }}</validUntil>
|
||||||
|
{% endif %}
|
||||||
<replaceUnhealthyInstances>{{ request.replace_unhealthy_instances }}</replaceUnhealthyInstances>
|
<replaceUnhealthyInstances>{{ request.replace_unhealthy_instances }}</replaceUnhealthyInstances>
|
||||||
<tagSet>
|
<tagSet>
|
||||||
{% for tag in request.tags %}
|
{% for tag in request.tags %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user