def create_container_group_with_options()

in eci-20180808/alibabacloud_eci20180808/client.py [0:0]


    def create_container_group_with_options(self, request, runtime):
        """
        When you call the CreateContainerGroup operation to create an elastic container instance, the system creates a service-linked role named AliyunServiceRoleForECI. This role is used to access other Alibaba Cloud services such as Elastic Compute Service (ECS) and Virtual Private Cloud (VPC). For more information, see [Elastic Container Instance service-linked role](~~212914~~).
        When you create an elastic container instance, you can configure features such as instances, images, and storage based on your business requirements. For information about parameters configured for the features and the description of the parameters, see the following documents:
        **Instances** You can use one of the following methods to create an elastic container instance:
        *   [Specify the number of vCPUs and memory size to create an elastic container instance](~~114662~~)
        *   [Specify ECS instance types to create an elastic container instance](~~114664~~)
        Both the preceding creation methods support the following features:
        *   [Specify CPU options](~~197781~~)
        *   [Create a preemptible elastic container instance](~~157759~~)
        *   [Configure multiple zones](~~157290~~)
        *   [Configure multiple specifications](~~146468~~)
        *   [Use tags to manage elastic container instances](~~146608~~)
        **Images**\
        *   [Configure a container image](~~461311~~)
        *   [Use the image cache feature to accelerate the creation of an elastic container instance](~~141281~~)
        *   [Specify a Container Registry Enterprise Edition instance](~~194250~~)
        *   [Use self-managed image repositories](~~378059~~)
        **Networking**\
        *   [Create and Associate an EIP](~~99146~~)
        *   [Assign a security group](~~176237~~)
        *   [Assign an IPv6 address to an elastic container instance](~~451282~~)
        *   [Configure maximum bandwidth](~~190635~~)
        **Storage**\
        *   [Mount a disk volume](~~144571~~)
        *   [Mount a NAS volume](~~464075~~)
        *   [Mount an OSS bucket to an elastic container instance as a volume](~~464076~~)
        *   [Mount an emptyDir volume](~~464078~~)
        *   [Mount a ConfigFile volume](~~464080~~)
        *   [Increase the size of the temporary storage space](~~204066~~)
        **Container configuration**\
        *   [Configure startup commands and arguments for a container](~~94593~~)
        *   [Use probes to perform health checks on a container](~~99053~~)
        *   [Obtain metadata by using environment variables](~~141788~~)
        *   [Configure a security context for an elastic container instance or a container](~~462313~~)
        *   [Configure the NTP service](~~462768~~)
        **Logging and O\\&M**\
        *   [Use environment variables to configure log collection](~~121973~~)
        *   [Save core files to volumes](~~167801~~)
        

        @param request: CreateContainerGroupRequest

        @param runtime: runtime options for this request RuntimeOptions

        @return: CreateContainerGroupResponse
        """
        UtilClient.validate_model(request)
        query = {}
        if not UtilClient.is_unset(request.acr_registry_info):
            query['AcrRegistryInfo'] = request.acr_registry_info
        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.client_token):
            query['ClientToken'] = request.client_token
        if not UtilClient.is_unset(request.compute_category):
            query['ComputeCategory'] = request.compute_category
        if not UtilClient.is_unset(request.container):
            query['Container'] = request.container
        if not UtilClient.is_unset(request.container_group_name):
            query['ContainerGroupName'] = request.container_group_name
        if not UtilClient.is_unset(request.container_resource_view):
            query['ContainerResourceView'] = request.container_resource_view
        if not UtilClient.is_unset(request.core_pattern):
            query['CorePattern'] = request.core_pattern
        if not UtilClient.is_unset(request.cpu):
            query['Cpu'] = request.cpu
        if not UtilClient.is_unset(request.cpu_architecture):
            query['CpuArchitecture'] = request.cpu_architecture
        if not UtilClient.is_unset(request.cpu_options_core):
            query['CpuOptionsCore'] = request.cpu_options_core
        if not UtilClient.is_unset(request.cpu_options_numa):
            query['CpuOptionsNuma'] = request.cpu_options_numa
        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.dns_policy):
            query['DnsPolicy'] = request.dns_policy
        if not UtilClient.is_unset(request.dry_run):
            query['DryRun'] = request.dry_run
        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.eip_common_bandwidth_package):
            query['EipCommonBandwidthPackage'] = request.eip_common_bandwidth_package
        if not UtilClient.is_unset(request.eip_isp):
            query['EipISP'] = request.eip_isp
        if not UtilClient.is_unset(request.eip_instance_id):
            query['EipInstanceId'] = request.eip_instance_id
        if not UtilClient.is_unset(request.ephemeral_storage):
            query['EphemeralStorage'] = request.ephemeral_storage
        if not UtilClient.is_unset(request.fixed_ip):
            query['FixedIp'] = request.fixed_ip
        if not UtilClient.is_unset(request.fixed_ip_retain_hour):
            query['FixedIpRetainHour'] = request.fixed_ip_retain_hour
        if not UtilClient.is_unset(request.gpu_driver_version):
            query['GpuDriverVersion'] = request.gpu_driver_version
        if not UtilClient.is_unset(request.host_aliase):
            query['HostAliase'] = request.host_aliase
        if not UtilClient.is_unset(request.host_name):
            query['HostName'] = request.host_name
        if not UtilClient.is_unset(request.image_accelerate_mode):
            query['ImageAccelerateMode'] = request.image_accelerate_mode
        if not UtilClient.is_unset(request.image_registry_credential):
            query['ImageRegistryCredential'] = request.image_registry_credential
        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_container):
            query['InitContainer'] = request.init_container
        if not UtilClient.is_unset(request.insecure_registry):
            query['InsecureRegistry'] = request.insecure_registry
        if not UtilClient.is_unset(request.instance_type):
            query['InstanceType'] = request.instance_type
        if not UtilClient.is_unset(request.ipv_6address_count):
            query['Ipv6AddressCount'] = request.ipv_6address_count
        if not UtilClient.is_unset(request.ipv_6gateway_bandwidth):
            query['Ipv6GatewayBandwidth'] = request.ipv_6gateway_bandwidth
        if not UtilClient.is_unset(request.ipv_6gateway_bandwidth_enable):
            query['Ipv6GatewayBandwidthEnable'] = request.ipv_6gateway_bandwidth_enable
        if not UtilClient.is_unset(request.memory):
            query['Memory'] = request.memory
        if not UtilClient.is_unset(request.ntp_server):
            query['NtpServer'] = request.ntp_server
        if not UtilClient.is_unset(request.os_type):
            query['OsType'] = request.os_type
        if not UtilClient.is_unset(request.overhead_reservation_option):
            query['OverheadReservationOption'] = request.overhead_reservation_option
        if not UtilClient.is_unset(request.owner_account):
            query['OwnerAccount'] = request.owner_account
        if not UtilClient.is_unset(request.owner_id):
            query['OwnerId'] = request.owner_id
        if not UtilClient.is_unset(request.plain_http_registry):
            query['PlainHttpRegistry'] = request.plain_http_registry
        if not UtilClient.is_unset(request.private_ip_address):
            query['PrivateIpAddress'] = request.private_ip_address
        if not UtilClient.is_unset(request.ram_role_name):
            query['RamRoleName'] = request.ram_role_name
        if not UtilClient.is_unset(request.region_id):
            query['RegionId'] = request.region_id
        if not UtilClient.is_unset(request.region_id):
            query['RegionId'] = request.region_id
        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.resource_owner_id):
            query['ResourceOwnerId'] = request.resource_owner_id
        if not UtilClient.is_unset(request.restart_policy):
            query['RestartPolicy'] = request.restart_policy
        if not UtilClient.is_unset(request.schedule_strategy):
            query['ScheduleStrategy'] = request.schedule_strategy
        if not UtilClient.is_unset(request.security_group_id):
            query['SecurityGroupId'] = request.security_group_id
        if not UtilClient.is_unset(request.share_process_namespace):
            query['ShareProcessNamespace'] = request.share_process_namespace
        if not UtilClient.is_unset(request.spot_duration):
            query['SpotDuration'] = request.spot_duration
        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.strict_spot):
            query['StrictSpot'] = request.strict_spot
        if not UtilClient.is_unset(request.tag):
            query['Tag'] = request.tag
        if not UtilClient.is_unset(request.termination_grace_period_seconds):
            query['TerminationGracePeriodSeconds'] = request.termination_grace_period_seconds
        if not UtilClient.is_unset(request.v_switch_id):
            query['VSwitchId'] = request.v_switch_id
        if not UtilClient.is_unset(request.volume):
            query['Volume'] = request.volume
        if not UtilClient.is_unset(request.zone_id):
            query['ZoneId'] = request.zone_id
        if not UtilClient.is_unset(request.dns_config):
            query['DnsConfig'] = request.dns_config
        if not UtilClient.is_unset(request.host_security_context):
            query['HostSecurityContext'] = request.host_security_context
        if not UtilClient.is_unset(request.security_context):
            query['SecurityContext'] = request.security_context
        req = open_api_models.OpenApiRequest(
            query=OpenApiUtilClient.query(query)
        )
        params = open_api_models.Params(
            action='CreateContainerGroup',
            version='2018-08-08',
            protocol='HTTPS',
            pathname='/',
            method='POST',
            auth_type='AK',
            style='RPC',
            req_body_type='formData',
            body_type='json'
        )
        return TeaCore.from_map(
            eci_20180808_models.CreateContainerGroupResponse(),
            self.call_api(params, req, runtime)
        )