in ess-20220222/alibabacloud_ess20220222/client.py [0:0]
def create_eci_scaling_configuration_with_options(self, request, runtime):
"""
A scaling configuration is a template that is used to create elastic container instances during scale-out activities.
You can specify the Cpu and Memory parameters to determine the range of instance types. If you specify the parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Auto Scaling preferentially creates elastic container instances of the instance type that is provided at the lowest price. This scaling mode is available only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.
@param request: CreateEciScalingConfigurationRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateEciScalingConfigurationResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.acr_registry_infos):
query['AcrRegistryInfos'] = request.acr_registry_infos
if not UtilClient.is_unset(request.active_deadline_seconds):
query['ActiveDeadlineSeconds'] = request.active_deadline_seconds
if not UtilClient.is_unset(request.auto_create_eip):
query['AutoCreateEip'] = request.auto_create_eip
if not UtilClient.is_unset(request.auto_match_image_cache):
query['AutoMatchImageCache'] = request.auto_match_image_cache
if not UtilClient.is_unset(request.container_group_name):
query['ContainerGroupName'] = request.container_group_name
if not UtilClient.is_unset(request.containers):
query['Containers'] = request.containers
if not UtilClient.is_unset(request.cost_optimization):
query['CostOptimization'] = request.cost_optimization
if not UtilClient.is_unset(request.cpu):
query['Cpu'] = request.cpu
if not UtilClient.is_unset(request.cpu_options_core):
query['CpuOptionsCore'] = request.cpu_options_core
if not UtilClient.is_unset(request.cpu_options_threads_per_core):
query['CpuOptionsThreadsPerCore'] = request.cpu_options_threads_per_core
if not UtilClient.is_unset(request.data_cache_bucket):
query['DataCacheBucket'] = request.data_cache_bucket
if not UtilClient.is_unset(request.data_cache_bursting_enabled):
query['DataCacheBurstingEnabled'] = request.data_cache_bursting_enabled
if not UtilClient.is_unset(request.data_cache_pl):
query['DataCachePL'] = request.data_cache_pl
if not UtilClient.is_unset(request.data_cache_provisioned_iops):
query['DataCacheProvisionedIops'] = request.data_cache_provisioned_iops
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.dns_config_name_servers):
query['DnsConfigNameServers'] = request.dns_config_name_servers
if not UtilClient.is_unset(request.dns_config_options):
query['DnsConfigOptions'] = request.dns_config_options
if not UtilClient.is_unset(request.dns_config_searchs):
query['DnsConfigSearchs'] = request.dns_config_searchs
if not UtilClient.is_unset(request.dns_policy):
query['DnsPolicy'] = request.dns_policy
if not UtilClient.is_unset(request.egress_bandwidth):
query['EgressBandwidth'] = request.egress_bandwidth
if not UtilClient.is_unset(request.eip_bandwidth):
query['EipBandwidth'] = request.eip_bandwidth
if not UtilClient.is_unset(request.enable_sls):
query['EnableSls'] = request.enable_sls
if not UtilClient.is_unset(request.ephemeral_storage):
query['EphemeralStorage'] = request.ephemeral_storage
if not UtilClient.is_unset(request.host_aliases):
query['HostAliases'] = request.host_aliases
if not UtilClient.is_unset(request.host_name):
query['HostName'] = request.host_name
if not UtilClient.is_unset(request.image_registry_credentials):
query['ImageRegistryCredentials'] = request.image_registry_credentials
if not UtilClient.is_unset(request.image_snapshot_id):
query['ImageSnapshotId'] = request.image_snapshot_id
if not UtilClient.is_unset(request.ingress_bandwidth):
query['IngressBandwidth'] = request.ingress_bandwidth
if not UtilClient.is_unset(request.init_containers):
query['InitContainers'] = request.init_containers
if not UtilClient.is_unset(request.instance_family_level):
query['InstanceFamilyLevel'] = request.instance_family_level
if not UtilClient.is_unset(request.instance_types):
query['InstanceTypes'] = request.instance_types
if not UtilClient.is_unset(request.ipv_6address_count):
query['Ipv6AddressCount'] = request.ipv_6address_count
if not UtilClient.is_unset(request.load_balancer_weight):
query['LoadBalancerWeight'] = request.load_balancer_weight
if not UtilClient.is_unset(request.memory):
query['Memory'] = request.memory
if not UtilClient.is_unset(request.ntp_servers):
query['NtpServers'] = request.ntp_servers
if not UtilClient.is_unset(request.owner_id):
query['OwnerId'] = request.owner_id
if not UtilClient.is_unset(request.ram_role_name):
query['RamRoleName'] = request.ram_role_name
if not UtilClient.is_unset(request.resource_group_id):
query['ResourceGroupId'] = request.resource_group_id
if not UtilClient.is_unset(request.resource_owner_account):
query['ResourceOwnerAccount'] = request.resource_owner_account
if not UtilClient.is_unset(request.restart_policy):
query['RestartPolicy'] = request.restart_policy
if not UtilClient.is_unset(request.scaling_configuration_name):
query['ScalingConfigurationName'] = request.scaling_configuration_name
if not UtilClient.is_unset(request.scaling_group_id):
query['ScalingGroupId'] = request.scaling_group_id
if not UtilClient.is_unset(request.security_context_sysctls):
query['SecurityContextSysctls'] = request.security_context_sysctls
if not UtilClient.is_unset(request.security_group_id):
query['SecurityGroupId'] = request.security_group_id
if not UtilClient.is_unset(request.spot_price_limit):
query['SpotPriceLimit'] = request.spot_price_limit
if not UtilClient.is_unset(request.spot_strategy):
query['SpotStrategy'] = request.spot_strategy
if not UtilClient.is_unset(request.tags):
query['Tags'] = request.tags
if not UtilClient.is_unset(request.termination_grace_period_seconds):
query['TerminationGracePeriodSeconds'] = request.termination_grace_period_seconds
if not UtilClient.is_unset(request.volumes):
query['Volumes'] = request.volumes
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateEciScalingConfiguration',
version='2022-02-22',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ess_20220222_models.CreateEciScalingConfigurationResponse(),
self.call_api(params, req, runtime)
)