百度智能云

All Product Document

          Cloud Compute Service

          Instance

          Create an Instance

          With the following code, You can create BCC instances, including an exclusive instance, general-purpose I instance, general-purpose II instance, general-purpose III instance, GPU instance, compute-optimized I instance, compute-optimized II instance and memory-optimized I instance:

          def create_instance(self):
                # if the user does not specify the parameters of client_token, a random  string is generated for client_token by uuid4.
                generate_client_token = str(uuid.uuid4())
                client_token = generate_client_token()
          
                # Input a image ID which is used for creating instance.
                image_id = 'your-choose-image-id'
          
                # Set the type of instance you want to create.
                The corresponding code of each type is shown in the "Instance Type Definition List" below.
                instance_type = 'your-choose-instance-type'
          
                # Select the payment mode:
                # The payment mode is the postpaid mode.
                post_paid_billing = bcc_model.Billing('Postpaid', 1)
                # The billing method is a prepaid mode for annual and monthly billing
                pre_paid_billing = bcc_model.Billing('Prepaid', 1)
          
                #Create cds_list required parameters:
                #Cloud disk size (common cloud disk range: 5 - 32765, high-performance cloud disk range: 5 - 32765, SSD cloud disk range: 50 - 32765
                cds_size_in_gb = 5
          
                # Set the cloud disk type
                # The specific type sees the link under the code segment 
                storage_type = 'hp1'
          
                #if creating CDS disk data based on CDS data disk snapshots, input the snapshot policy id selected by the user
                snap_shot_id = 'your-choose-snap-shot-id'
          
                #Instance Name
                instance_name = 'your-choose-instance-name' + client_token
          
                # Set the instance administrator password (its password is 8-16 characters, English, numbers and symbols must exist at the same time, the using symbols are limited to only! @ # $% ^ * ()).
                admin_pass = 'your-admin-pass'
          
                # Specify the zone information, which is null by default and selected by the system automatically. You can query the list of availability zones through the Query Availability Zone List interface.
                # The format is: Country- Region-Available region, such as 'China-Beijing-Available Zone A' is 'cn-bj-a'.
                zone_name = 'country-region-zone'
          
                #The specified subnet information. If it is null, the default subnet is used.
                subnet_id = 'your-choose-subnet-id'
                #The specified security_group_id information. If it is null, the default security group is used.
                security_group_id = 'your-choose-security-group-id'
          
                # Input the gpu_card you select.
                # Each gpu_card type code refer to 『Gpu Type List』below.
                gpuCard='your-choose-Gpu-Type-id'
          
                # Input the fpga_card you select.
                # Currently fpga_card type is only KU115
                fpgaCard='KU115'
          
                self.assertEqual(
                      type(self.client.create_instance(1,# Set the number of cores to create BCC
                                                                         1,# Set the memory size for creating BCC GB
                                                                         image_id,# Set the image used to create the BCC virtual machine
                                                                         Instance_type=instance_type,# Set the type of BCC instance to be created
                                                                         billing=post_paid_billing,# Set the payment method for creating BCC as post-paid 
                                                                         root_disk_size_in_gb=40,# Set BCC system disk size
                                                                         root_disk_storage_type='hp1',# Set the BCC system disk system disk medium. The default is hp1 cloud disk. For the system disk disk type, see StorageType.
                                                                         create_cds_list=bcc_model.CreateCdsModel,(cds_size_in_gb, storage_type, snap_shot_id)# Create a CDS disks that need to be created
                                                                         Network_capacity_in_mbps=1,# Set the network bandwidth used to create the BCC (must be between 1 and 200)
                                                                         Purchase_count=1,# When used to create BCC instances in batches, the value must be an integer greater than 0
                                                                         cardCount=1,# The number of GPU card or FPGA card is for creating instance, it is valid when the gpuCard or fpgaCard field is not null only.
                                                                         Name=instance_name,#  Set and create a BCC name
                                                                         admin_pass=admin_pass,# set the instance administrator password
                                                                         zone_name=zone_name,# Set a Zone where the BCC is created.
                                                                         Subnet_id=subnet_id,#  the specified subnet information. If it is null, the default subnet is used.
                                                                         Security_group_id=security_group_id,# the specified security_group_id information. If it is null, the default security group is used.
                                                                         gpuCard=gpuCard,# Specify GPU type when creating GPU instance
                                                                         fpgaCard=fpgaCard,# Specify FPGA type when creating FPGan instance
                                                                         client_token=client_token)),
                      baidubce.bce_response.BceResponse)

          For the type code, see Instance Type, Disk Type and GGPU Type.

          Create an Instance on DCC

          You can create a BCC instance on DCC by using the following codes:

          def create_instance_from_dedicated_host(self):
                # if the user does not specify the parameters of client_token, a random random string is generated for client_token by uuid4.
                generate_client_token = str(uuid.uuid4())
                client_token = generate_client_token()
          
                # Set a image id
                image_id = 'your-choose-image-id'
          
                # Set a dedicated cloud compute (DCC)  ID
                dedicated_host_id = 'your-choose-dedicated-host-id'
          
                # Set an instance name
                instance_name = 'your-choose-instance-name' + client_token
          
                # Set the instance administrator password (its password is 8-16 characters, English, numbers and symbols must exist at the same time, the using symbols are limited to only! @ # $% ^ * ()).
                admin_pass = 'your-admin-pass'
          
                # The specified subnet information. If it is null, the default subnet is used.
                subnet_id = 'your-choose-subnet-id'
          
                # The specified security_group_id information. If it is null, the default security group is used.
                security_group_id = 'your-choose-security-group-id'
          
                #The DCC dedicated cloud compute instance can create multiple local disks. The disk type and size need to be specified.
                # Other BCC types can only use one local disk. The default disk type is used, and the disk size needs to be specified.
          
                # Set the size of creating local disk
                ephemeral_disk = EphemeralDisk(6144)
          
                # Set the local disk type as the default type
                ephemeral_disks = [ephemeral_disk.__dict__, ephemeral_disk.__dict__]
          
                self.assertEqual(
                      type(self.client.create_instance_from_dedicated_host(1, # Set the number of cores to create BCC
                                                                           2, # Set the memory size for creating BCC GB
                                                                           image_id, #Set the image used to create the BCC                                                                                    
                                                                           dedicated_host_id, #Set a dedicated cloud compute for creating BCC
                                                                           Purchase_count=1,# When used to create BCC instances in batches, the value must be an integer greater than 0
                                                                           Name=instance_name,#  Set and create a BCC name
                                                                           admin_pass=admin_pass,# set the instance administrator password
                                                                           Subnet_id=subnet_id,#  the specified subnet information. If it is null, the default subnet is used.
                                                                           Security_group_id=security_group_id,# the specified security_group_id information. If it is null, the default security group is used.
                                                                           client_token=client_token
                                                                           ephemeral_disks) #Set a local disk for creating BCC
          
                      baidubce.bce_response.BceResponse)

          Query the Instance List

          You can query the BCC virtual machine instance list by using the following codes, which supports the filter through the private IP, DCC ID and availability zone name:

          def list_instances(self):
                # The start position of the query for getting list by batch is a character string generated by the system.
                self.client.list_instances(marker='your-marker')
          
                # Set the return data size
                self.client.list_instances(max_keys=100)
          
                # Filter virtual machine BCC list by internal IP
                self.client.list_instances(internal_ip='your-choose-internal-ip')
          
                #Filter virtual machine BCC list by dedicated cloud compute DCC id
                self.client.list_instances(dedicated_host_id='your-choose-dedicated-host-id')
          
                # Filter virtual machine BCC list by zone name
                self.client.list_instances(zone_name='country-region-zone')
          
                # carry out a query action of the virtual machine list
                print self.client.list_instances()

          Query Instance Details

          You can query the specified BCC virtual machine details by using the following codes:

          def get_instance(self): 
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
                      type(self.client.get_instance(instance_id)), 
                      
                      baidubce.bce_response.BceResponse)

          Start an Instance

          You can start a specified BCC virtual machine instance by using the following codes:

          def start_instance(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
                      type(self.client.start_instance(instance_id)), 
          
                      baidubce.bce_response.BceResponse)

          Stop an Instance

          You can stop a specified BCC virtual machine instance by using the following codes:

          def stop_instance(self):
          
                # Set the instance_id you want to operate
          
                instance_id = 'your-choose-instance-id'
          
                # Set the billing mode of shutdown, no billing command for shutdown is True,the billing command is False,the default command is False. Notice: Only whitelisted users are entitled to shutdown without charge
                stop_with_no_charge = 'True'
          
          
                self.assertEqual(
          
                      type(self.client.stop_instance(instance_id=instance_id,
                                                     stopWithNoCharge=stop_with_no_charge,
                                                     force_stop=force_stop)), 
          
                      baidubce.bce_response.BceResponse)

          Restart an Instance

          You can restart a specified BCC virtual machine instance by using the following codes:

          def reboot_instance(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
                      type(self.client.reboot_instance(instance_id,
                                                       force_stop)),
          
                      baidubce.bce_response.BceResponse)

          Modify an instance password

          You can change the Admin password of specified BCC virtual machine instance by using the following codes:

          def modify_instance_password(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                #Set a password
                admin_pass = 'your-new-admin-pass'
          
                self.assertEqual(
                      type(self.client.modify_instance_password(instance_id,admin_pass)), 
          
                      baidubce.bce_response.BceResponse)

          Modify an instance name

          You can modify the name of specified BCC virtual machine instance by using the following codes:

          def modify_instance_attributes(self):
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
                name = 'name_modify'    
          
                self.assertEqual(
                      type(self.client.modify_instance_attributes(instance_id,name)), 
          
                      baidubce.bce_response.BceResponse)

          Modify description information of instances

          You can modify the description of specified BCC virtual machine instance by using the following codes:

          def modify_instance_desc(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                desc = 'your_new_description'    
                self.assertEqual(
                      type(self.client.modify_instance_desc(instance_id,desc)), 
          
                      baidubce.bce_response.BceResponse)

          Reinstall an Instance

          You can reinstall a specified BCC virtual machine instance by using the following codes:

          def rebuild_instance(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                # Set a using image id.
                image_id = 'your-choose-image-id'
          
                # Set a admin password
                admin_pass = 'your-new-admin-pass'
          
                self.assertEqual(
                      type(self.client.rebuild_instance(instance_id,image_id,admin_pass)), 
          
                      baidubce.bce_response.BceResponse)

          Release an Instance

          You can release a postpaid or prepaid BCC virtual machine instance expired by using the following codes:

          def release_instance(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
                      type(self.client.release_instance(instance_id)), 
          
                      baidubce.bce_response.BceResponse)

          Instance Scale-up

          It supports the CPU and memory scale-up of BCC virtual machine. See the following code for details:

          def resize_instance(self):
          
                # Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                client_token = generate_client_token()
          
                self.assertEqual(
                      type(self.client.resize_instance(instance_id,
                                                       1,# New CPU cores
                                                       2,# New memory size
                                                       client_token)), 
          
                      baidubce.bce_response.BceResponse)

          Add an Instance to Security Group

          You can add a specified BCC virtual machine instance to the specified security group by using the following codes:

          def bind_instance_to_security_group(self):
          
                #Specify security_group_id information
                security_group_id = 'your-choose-security-group-id'
          
                #Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
                      type(self.client.bind_instance_to_security_group(instance_id,security_group_id)), 
          
                      baidubce.bce_response.BceResponse)

          Remove an Instance from Security Group

          You can remove a specified instance from the specified security group by using the following codes:

          def unbind_instance_from_security_group(self):
          
                #Specify security_group_id information
                security_group_id = 'your-choose-security-group-id'
          
                #Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
          
                      type(self.client.unbind_instance_from_security_group(instance_id,security_group_id)), 
          
                      baidubce.bce_response.BceResponse)

          Bind an Instance to Tag (New)

          You can bind the specified BCC virtual machine instance to the specified tag by using the following codes:

          def bind_instance_to_tags(self):
          
                #Enter label information, support binding multiple labels at once
                instance_tag1 = bcc_model.TagModel(tagKey='TestKey01',tagValue='TestValue01')
                instance_tag2 = bcc_model.TagModel(tagKey='TestKey02',tagValue='TestValue02')
          
                instance_tag_list = []
          
                instance_tag_list.append(instance_tag1)
                instance_tag_list.append(instance_tag2)
          
                #Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
          
                      type(self.client.bind_instance_to_tags(instance_id,tags=instance_tag_list)), 
          
                      baidubce.bce_response.BceResponse)

          Unbind an Instance from Tag (New)

          You can unbind the specified BCC virtual machine instance from the specified tag by using the following codes:

          def unbind_instance_to_tags(self):
          
                #Enter label information, support unbinding multiple labels at once
                instance_tag1 = bcc_model.TagModel(tagKey='TestKey01',tagValue='TestValue01')
                instance_tag2 = bcc_model.TagModel(tagKey='TestKey02',tagValue='TestValue02')
          
                instance_tag_list = []
          
                instance_tag_list.append(instance_tag1)
                instance_tag_list.append(instance_tag2)
          
                #Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
          
                      type(self.client.unbind_instance_to_tags(instance_id,tags=instance_tag_list)), 
          
                      baidubce.bce_response.BceResponse)

          Query an Instance Address

          You can query the VNC URL of specified BCC virtual machine instance by using the following codes:

          def get_instance_vnc(self):
          
                #Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
          
                self.assertEqual(
          
                      type(self.client.get_instance_vnc(instance_id)), 
          
                      baidubce.bce_response.BceResponse)

          Renew an Instance

          Renewing a BCC virtual machine instance can extend the expiration date. You can renew the disk by using the following codes:

          def purchase_reserved_instance(self):
          
                #Set the instance_id you want to operate
                instance_id = 'your-choose-instance-id'
                
                #Set the payment method to prepaid
                billing = pre_paid_billing
          
                client_token = generate_client_token()
          
                self.assertEqual(
          
                      type(self.client.purchase_reserved_instance(instance_id,billing,client_token)), 
          
                     baidubce.bce_response.BceResponse)
          Previous
          BccClient
          Next
          Disk