diff --git a/conf/cloud.providers b/conf/cloud.providers index 9031dbc673d..70d91dcb119 100644 --- a/conf/cloud.providers +++ b/conf/cloud.providers @@ -90,9 +90,9 @@ #my-tencentcloud-config: # driver: tencentcloud - # TencentCloud Secret Id + # Tencent Cloud Secret Id # id: AKIDA64pOio9BMemkApzevX0HS169S4b750A - # TencentCloud Secret Key + # Tencent Cloud Secret Key # key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260 - # TencentCloud Region + # Tencent Cloud Region # location: ap-guangzhou diff --git a/conf/cloud.providers.d/tencent.conf b/conf/cloud.providers.d/tencent.conf index fadbdc9f8b0..0b57ddebba5 100644 --- a/conf/cloud.providers.d/tencent.conf +++ b/conf/cloud.providers.d/tencent.conf @@ -1,8 +1,8 @@ #my-tencentcloud-config: # driver: tencentcloud - # TencentCloud Secret Id + # Tencent Cloud Secret Id # id: AKIDA64pOio9BMemkApzevX0HS169S4b750A - # TencentCloud Secret Key + # Tencent Cloud Secret Key # key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260 - # TencentCloud Region + # Tencent Cloud Region # location: ap-guangzhou diff --git a/doc/topics/cloud/features.rst b/doc/topics/cloud/features.rst index f270198deed..0dd58721047 100644 --- a/doc/topics/cloud/features.rst +++ b/doc/topics/cloud/features.rst @@ -38,26 +38,26 @@ These are features that are available for almost every cloud host. .. container:: scrollable - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - | |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify|Vagrant|Softlayer|Softlayer|Aliyun| - | |(Legacy)| |Ocean | | | | | | |(Legacy) | | | |Hardware | | - +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+=======+=======+=========+=========+======+ - |Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |Full Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |Selective Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |List Sizes |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[2] |[2] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |List Images |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |List Locations |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[2] |[2] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |create |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |[1] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ - |destroy |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+ + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + | |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify|Vagrant|Softlayer|Softlayer|Aliyun|Tencent Cloud| + | |(Legacy)| |Ocean | | | | | | |(Legacy) | | | |Hardware | | | + +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+=======+=======+=========+=========+======+============+ + |Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |Full Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |Selective Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |List Sizes |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[2] |[2] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |List Images |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |List Locations |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[2] |[2] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |create |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |[1] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ + |destroy |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+------------+ [1] Yes, if salt-api is enabled. @@ -74,46 +74,46 @@ instance name to be passed in. For example: .. container:: scrollable - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |Actions |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify&|Softlayer|Softlayer|Aliyun| - | |(Legacy)| |Ocean | | | | | | |(Legacy) | Vagrant| |Hardware | | - +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+========+=========+=========+======+ - |attach_volume | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |create_attach_volumes |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |del_tags |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |delvol_on_destroy | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |detach_volume | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |disable_term_protect |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |enable_term_protect |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_tags |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |keepvol_on_destroy | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_keypairs | | |Yes | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |rename |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |set_tags |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_delvol_on_destroy | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_instance | | |Yes |Yes| | |Yes | |Yes | | |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_term_protect | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |start |Yes | | |Yes| |Yes |Yes | |Yes | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |stop |Yes | | |Yes| |Yes |Yes | |Yes | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |take_action | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |Actions |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify&|Softlayer|Softlayer|Aliyun|Tencent Cloud| + | |(Legacy)| |Ocean | | | | | | |(Legacy) | Vagrant| |Hardware | | | + +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+========+=========+=========+======+============+ + |attach_volume | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |create_attach_volumes |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |del_tags |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |delvol_on_destroy | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |detach_volume | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |disable_term_protect |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |enable_term_protect |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_tags |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |keepvol_on_destroy | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_keypairs | | |Yes | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |rename |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |set_tags |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_delvol_on_destroy | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_instance | | |Yes |Yes| | |Yes | |Yes | | |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_term_protect | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |start |Yes | | |Yes| |Yes |Yes | |Yes | | | | |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |stop |Yes | | |Yes| |Yes |Yes | |Yes | | | | |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |take_action | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ Functions ========= @@ -126,83 +126,83 @@ require the name of the provider to be passed in. For example: .. container:: scrollable - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |Functions |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify&|Softlayer|Softlayer|Aliyun| - | |(Legacy)| |Ocean | | | | | | |(Legacy) | Vagrant| |Hardware | | - +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+========+=========+=========+======+ - |block_device_mappings |Yes | | | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |create_keypair | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |create_volume | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |delete_key | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |delete_keypair | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |delete_volume | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_image | | |Yes | | |Yes | | |Yes | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_ip | |Yes | | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_key | |Yes | | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_keyid | | |Yes | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_keypair | |Yes | | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_networkid | |Yes | | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_node | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_password | |Yes | | | | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_size | | |Yes | | |Yes | | | | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_spot_config | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |get_subnetid | | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |iam_profile |Yes | | |Yes| | | | | | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |import_key | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |key_list | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |keyname |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_availability_zones| | | |Yes| | | | | | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_custom_images | | | | | | | | | | | |Yes | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_keys | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_nodes |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_nodes_full |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_nodes_select |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |list_vlans | | | | | | | | | | | |Yes |Yes | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |rackconnect | | | | | | | |Yes | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |reboot | | | |Yes| |Yes | | | | |[1] | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |reformat_node | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |securitygroup |Yes | | |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |securitygroupid | | | |Yes| | | | | | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_image | | | |Yes| | | | |Yes | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_key | | | | | |Yes | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_keypair | | |Yes |Yes| | | | | | | | | | | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ - |show_volume | | | |Yes| | | | | | | | | |Yes | - +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+ + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |Functions |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify&|Softlayer|Softlayer|Aliyun|Tencent Cloud| + | |(Legacy)| |Ocean | | | | | | |(Legacy) | Vagrant| |Hardware | | | + +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+========+=========+=========+======+============+ + |block_device_mappings |Yes | | | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |create_keypair | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |create_volume | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |delete_key | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |delete_keypair | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |delete_volume | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_image | | |Yes | | |Yes | | |Yes | | | | |Yes | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_ip | |Yes | | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_key | |Yes | | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_keyid | | |Yes | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_keypair | |Yes | | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_networkid | |Yes | | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_node | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_password | |Yes | | | | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_size | | |Yes | | |Yes | | | | | | | |Yes | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_spot_config | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |get_subnetid | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |iam_profile |Yes | | |Yes| | | | | | | | | |Yes | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |import_key | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |key_list | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |keyname |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_availability_zones| | | |Yes| | | | | | | | | |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_custom_images | | | | | | | | | | | |Yes | | |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_keys | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_nodes |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_nodes_full |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_nodes_select |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |list_vlans | | | | | | | | | | | |Yes |Yes | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |rackconnect | | | | | | | |Yes | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |reboot | | | |Yes| |Yes | | | | |[1] | | |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |reformat_node | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |securitygroup |Yes | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |securitygroupid | | | |Yes| | | | | | | | | |Yes | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_image | | | |Yes| | | | |Yes | | | | |Yes |Yes | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_key | | | | | |Yes | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_keypair | | |Yes |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ + |show_volume | | | |Yes| | | | | | | | | | | | + +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+------------+ [1] Yes, if salt-api is enabled. diff --git a/doc/topics/cloud/index.rst b/doc/topics/cloud/index.rst index bf2758c941f..ce0bd82232a 100644 --- a/doc/topics/cloud/index.rst +++ b/doc/topics/cloud/index.rst @@ -128,6 +128,7 @@ Cloud Provider Specifics Getting Started With Scaleway Getting Started With Saltify Getting Started With SoftLayer + Getting Started With Tencent Cloud Getting Started With Vagrant Getting Started With Vexxhost Getting Started With Virtualbox diff --git a/doc/topics/cloud/tencentcloud.rst b/doc/topics/cloud/tencentcloud.rst index 426f2e7e96a..e39d4597110 100644 --- a/doc/topics/cloud/tencentcloud.rst +++ b/doc/topics/cloud/tencentcloud.rst @@ -1,6 +1,6 @@ -================================= -Getting Started With TencentCloud -================================= +================================== +Getting Started With Tencent Cloud +================================== Tencent Cloud is a secure, reliable and high-performance cloud compute service provided by Tencent. It is the 2nd largest Cloud Provider in China. @@ -8,7 +8,7 @@ provided by Tencent. It is the 2nd largest Cloud Provider in China. Dependencies ============ -The TencentCloud driver for Salt Cloud requires the tencentcloud-sdk-python package, +The Tencent Cloud driver for Salt Cloud requires the ``tencentcloud-sdk-python`` package, which is available at PyPI: https://pypi.org/project/tencentcloud-sdk-python/ @@ -30,11 +30,11 @@ To use this module, set up the cloud configuration at my-tencentcloud-config: driver: tencentcloud - # TencentCloud Secret Id + # Tencent Cloud Secret Id id: AKIDA64pOio9BMemkApzevX0HS169S4b750A - # TencentCloud Secret Key + # Tencent Cloud Secret Key key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260 - # TencentCloud Region + # Tencent Cloud Region location: ap-guangzhou Configuration Parameters @@ -42,20 +42,20 @@ Configuration Parameters driver ------ -Required, Please use ``tencentcloud`` always with this module. +**Required**. ``tencentcloud`` to use this module. id -- -Required, The TencentCloud secret id. +**Required**. Your Tencent Cloud secret id. key --- -Required, The TencentCloud secret key. +**Required**. Your Tencent Cloud secret key. location -------- -Optional, If this value is not specified, the default is ``ap-guangzhou``. -Location to be configured can be found using the ``--list-locations`` option: +**Optional**. If this value is not specified, the default is ``ap-guangzhou``. +Available locations can be found using the ``--list-locations`` option: .. code-block:: bash @@ -65,7 +65,7 @@ Location to be configured can be found using the ``--list-locations`` option: Profile Configuration ===================== -TencentCloud profiles require a ``provider``, ``availability_zone``, ``image`` and ``size``. +Tencent Cloud profiles require a ``provider``, ``availability_zone``, ``image`` and ``size``. Set up an initial profile at ``/etc/salt/cloud.profiles`` or ``/etc/salt/cloud.profiles.d/*.conf``: .. code-block:: yaml @@ -86,12 +86,12 @@ Configuration Parameters provider -------- -Required, Name of entry in ``salt/cloud.providers.d/???`` file. +**Required**. Name of entry in ``salt/cloud.providers.d/???`` file. availability_zone ----------------- -Required, The available zone that the instance locates at. -Available zones to build an instance can be found using the ``list_availability_zones`` function: +**Required**. The availability zone that the instance is located in. +Available zones can be found using the ``list_availability_zones`` function: .. code-block:: bash @@ -99,8 +99,8 @@ Available zones to build an instance can be found using the ``list_availability_ image ----- -Required, The image id to use for the instance. -Images to build an instance can be found using the ``--list-images`` option: +**Required**. The image id to use for the instance. +Available images can be found using the ``--list-images`` option: .. code-block:: bash @@ -108,7 +108,7 @@ Images to build an instance can be found using the ``--list-images`` option: size ---- -Required, Instance type for instance can be found using the ``--list-sizes`` option. +**Required**. Instance type for instance can be found using the ``--list-sizes`` option. .. code-block:: bash @@ -116,14 +116,14 @@ Required, Instance type for instance can be found using the ``--list-sizes`` opt securitygroups -------------- -Optional, A list of security group ids to associate with. -Security group ids to build an instance can be found using the ``list_securitygroups`` function: +**Optional**. A list of security group ids to associate with. +Available security group ids can be found using the ``list_securitygroups`` function: .. code-block:: bash # salt-cloud -f list_securitygroups my-tencentcloud-config -Multiple security group is supported. +Multiple security groups are supported: .. code-block:: yaml @@ -134,87 +134,93 @@ Multiple security group is supported. hostname -------- -Optional, The hostname of instance. +**Optional**. The hostname of the instance. instance_charge_type -------------------- -Optional, The charge type of instance. Valid values are ``PREPAID``, -``POSTPAID_BY_HOUR`` and ``SPOTPAID``, The default is ``POSTPAID_BY_HOUR``. +**Optional**. The charge type of the instance. Valid values are ``PREPAID``, +``POSTPAID_BY_HOUR`` and ``SPOTPAID``. The default is ``POSTPAID_BY_HOUR``. instance_charge_type_prepaid_renew_flag --------------------------------------- -Optional, When enabled, the instance will be renew automatically -when it reach the end of the prepaid tenancy. +**Optional**. When enabled, the instance will be renew automatically +when it reaches the end of the prepaid tenancy. Valid values are ``NOTIFY_AND_AUTO_RENEW``, ``NOTIFY_AND_MANUAL_RENEW`` and ``DISABLE_NOTIFY_AND_MANUAL_RENEW``. -NOTE: it only works when ``instance_charge_type`` is set to ``PREPAID``. + +.. note:: + + This value is only used when ``instance_charge_type`` is set to ``PREPAID``. instance_charge_type_prepaid_period ----------------------------------- -Optional, The tenancy (time unit is month) of the prepaid instance, +**Optional**. The tenancy time in months of the prepaid instance, Valid values are ``1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36``. -NOTE: it only works when ``instance_charge_type`` is set to ``PREPAID``. + +.. note:: + + This value is only used when ``instance_charge_type`` is set to ``PREPAID``. allocate_public_ip ------------------ -Optional, Associate a public ip address with an instance -in a VPC or Classic. Boolean value, Default is ``false``. +**Optional**. Associate a public ip address with an instance +in a VPC or Classic. Boolean value, default is ``false``. internet_max_bandwidth_out -------------------------- -Optional, Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bit per second). -Value range: ``[0, 100]``, If this value is not specified, then automatically sets it to ``0 Mbps``. +**Optional**. Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). +Value range: ``[0, 100]``. If this value is not specified, the default is ``0`` Mbps. internet_charge_type -------------------- -Optional, Internet charge type of the instance, Valid values are ``BANDWIDTH_PREPAID``, +**Optional**. Internet charge type of the instance. Valid values are ``BANDWIDTH_PREPAID``, ``TRAFFIC_POSTPAID_BY_HOUR``, ``BANDWIDTH_POSTPAID_BY_HOUR`` and ``BANDWIDTH_PACKAGE``. The default is ``TRAFFIC_POSTPAID_BY_HOUR``. key_name -------- -Optional, The key pair to use for the instance, it looks like ``skey-16jig7tx``. +**Optional**. The key pair to use for the instance, for example ``skey-16jig7tx``. password -------- -Optional, Password to an instance. +**Optional**. Login password for the instance. private_ip ---------- -Optional, The private ip to be assigned to this instance, +**Optional**. The private ip to be assigned to this instance, must be in the provided subnet and available. project_id ---------- -Optional, The project instance belongs to, default to ``0``. +**Optional**. The project this instance belongs to, defaults to ``0``. vpc_id ------ -Optional, The id of a VPC network. -If you want to create instances in VPC network, this parameter must be set. +**Optional**. The id of a VPC network. +If you want to create instances in a VPC network, this parameter must be set. subnet_id --------- -Optional, The id of a VPC subnetwork. +**Optional**. The id of a VPC subnet. If you want to create instances in VPC network, this parameter must be set. system_disk_size ---------------- -Optional, Size of the system disk. -Value range: ``[50, 1000]``, and unit is ``GB``. Default is ``50 GB``. +**Optional**. Size of the system disk. +Value range: ``[50, 1000]``, and unit is ``GB``. Default is ``50`` GB. system_disk_type ---------------- -Optional, Type of the system disk. +**Optional**. Type of the system disk. Valid values are ``CLOUD_BASIC``, ``CLOUD_SSD`` and ``CLOUD_PREMIUM``, default value is ``CLOUD_BASIC``. Actions ======= -The following actions are currently supported by the TencentCloud Salt Cloud driver. +The following actions are supported by the Tencent Cloud Salt Cloud driver. show_instance ~~~~~~~~~~~~~ -This action is a thin wrapper around `--full-query`, which displays details on a +This action is a thin wrapper around ``--full-query``, which displays details on a single instance only. In an environment with several machines, this will save a user from having to sort through all instance data, just to examine a single instance. @@ -225,7 +231,7 @@ instance. show_disk ~~~~~~~~~ -Return details about a specific instance. +Return disk details about a specific instance. .. code-block:: bash @@ -233,7 +239,7 @@ Return details about a specific instance. destroy ~~~~~~~ -Destroy a TencentCloud instance. +Destroy a Tencent Cloud instance. .. code-block:: bash @@ -241,7 +247,7 @@ Destroy a TencentCloud instance. start ~~~~~ -Start a TencentCloud instance. +Start a Tencent Cloud instance. .. code-block:: bash @@ -249,7 +255,7 @@ Start a TencentCloud instance. stop ~~~~ -Stop a TencentCloud instance. +Stop a Tencent Cloud instance. .. code-block:: bash @@ -257,7 +263,7 @@ Stop a TencentCloud instance. reboot ~~~~~~ -Reboot a TencentCloud instance. +Reboot a Tencent Cloud instance. .. code-block:: bash @@ -266,11 +272,11 @@ Reboot a TencentCloud instance. Functions ========= -The following functions are currently supported by the TencentCloud Salt Cloud driver. +The following functions are currently supported by the Tencent Cloud Salt Cloud driver. list_securitygroups ~~~~~~~~~~~~~~~~~~~ -This function return all TencentCloud security groups in current region. +Lists all Tencent Cloud security groups in current region. .. code-block:: bash @@ -278,7 +284,7 @@ This function return all TencentCloud security groups in current region. list_availability_zones ~~~~~~~~~~~~~~~~~~~~~~~ -This function return all TencentCloud availability zones in current region. +Lists all Tencent Cloud availability zones in current region. .. code-block:: bash @@ -286,7 +292,7 @@ This function return all TencentCloud availability zones in current region. list_custom_images ~~~~~~~~~~~~~~~~~~ -This function lists any custom images associated with the account, that can +Lists any custom images associated with the account. These images can be used to create a new instance. .. code-block:: bash @@ -295,8 +301,8 @@ be used to create a new instance. show_image ~~~~~~~~~~ -Return details about a specific image, that can -be used to create a new instance. +Return details about a specific image. This image can be used +to create a new instance. .. code-block:: bash diff --git a/salt/cloud/clouds/tencentcloud.py b/salt/cloud/clouds/tencentcloud.py index 7ad0bd00fed..6d85256ff83 100644 --- a/salt/cloud/clouds/tencentcloud.py +++ b/salt/cloud/clouds/tencentcloud.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- ''' -TencentCloud Cloud Module +Tencent Cloud Cloud Module ============================= .. versionadded:: 2019.09.01 -The TencentCloud Cloud Module is used to control access to the TencentCloud instance. +The Tencent Cloud Cloud Module is used to control access to the Tencent Cloud instance. https://intl.cloud.tencent.com/ To use this module, set up the cloud configuration at @@ -16,11 +16,11 @@ To use this module, set up the cloud configuration at my-tencentcloud-config: driver: tencentcloud - # TencentCloud Secret Id + # Tencent Cloud Secret Id id: AKIDA64pOio9BMemkApzevX0HS169S4b750A - # TencentCloud Secret Key + # Tencent Cloud Secret Key key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260 - # TencentCloud Region + # Tencent Cloud Region location: ap-guangzhou :depends: tencentcloud-sdk-python @@ -68,13 +68,13 @@ log = logging.getLogger(__name__) # The default region DEFAULT_REGION = 'ap-guangzhou' -# The TencentCloud +# The Tencent Cloud __virtualname__ = 'tencentcloud' def __virtual__(): ''' - Only load in this module if the TencentCloud configurations are in place + Only load in this module if the Tencent Cloud configurations are in place ''' if get_configured_provider() is False: return False @@ -134,7 +134,7 @@ def get_provider_client(name=None): def avail_locations(call=None): ''' - Return TencentCloud available region + Return Tencent Cloud available region CLI Example: @@ -164,7 +164,7 @@ def avail_locations(call=None): def avail_images(call=None): ''' - Return TencentCloud available image + Return Tencent Cloud available image CLI Example: @@ -184,7 +184,7 @@ def avail_images(call=None): def avail_sizes(call=None): ''' - Return TencentCloud available instance type + Return Tencent Cloud available instance type CLI Example: @@ -220,7 +220,7 @@ def avail_sizes(call=None): def list_securitygroups(call=None): ''' - Return all TencentCloud security groups in current region + Return all Tencent Cloud security groups in current region CLI Example: @@ -254,7 +254,7 @@ def list_securitygroups(call=None): def list_custom_images(call=None): ''' - Return all TencentCloud images in current region + Return all Tencent Cloud images in current region CLI Example: @@ -272,7 +272,7 @@ def list_custom_images(call=None): def list_availability_zones(call=None): ''' - Return all TencentCloud availability zones in current region + Return all Tencent Cloud availability zones in current region CLI Example: @@ -407,9 +407,9 @@ def list_nodes_min(call=None): def create(vm_): ''' - Create a single TencentCloud instance from a data dict. + Create a single Tencent Cloud instance from a data dict. - TencentCloud profiles require a ``provider``, ``availability_zone``, ``image`` and ``size``. + Tencent Cloud profiles require a ``provider``, ``availability_zone``, ``image`` and ``size``. Set up profile at ``/etc/salt/cloud.profiles`` or ``/etc/salt/cloud.profiles.d/*.conf``: .. code-block:: yaml @@ -610,7 +610,7 @@ def create(vm_): def start(name, call=None): ''' - Start a TencentCloud instance + Start a Tencent Cloud instance Notice: the instance state must be stopped CLI Examples: @@ -636,7 +636,7 @@ def start(name, call=None): def stop(name, force=False, call=None): ''' - Stop a TencentCloud running instance + Stop a Tencent Cloud running instance Note: use `force=True` to make force stop CLI Examples: @@ -665,7 +665,7 @@ def stop(name, force=False, call=None): def reboot(name, call=None): ''' - Reboot a TencentCloud instance + Reboot a Tencent Cloud instance CLI Examples: @@ -690,7 +690,7 @@ def reboot(name, call=None): def destroy(name, call=None): ''' - Destroy a TencentCloud instance + Destroy a Tencent Cloud instance CLI Example: @@ -748,7 +748,7 @@ def script(vm_): def show_image(kwargs, call=None): ''' - Show the details of TencentCloud image + Show the details of Tencent Cloud image CLI Examples: @@ -796,7 +796,7 @@ def show_image(kwargs, call=None): def show_instance(name, call=None): ''' - Show the details of TencentCloud instance + Show the details of Tencent Cloud instance CLI Examples: @@ -820,7 +820,7 @@ def show_instance(name, call=None): def show_disk(name, call=None): ''' - Show the disk details of TencentCloud instance + Show the disk details of Tencent Cloud instance CLI Examples: @@ -859,7 +859,7 @@ def show_disk(name, call=None): def _get_node(name): ''' - Return TencentCloud instance detail by name + Return Tencent Cloud instance detail by name ''' attempts = 5 while attempts >= 0: @@ -883,7 +883,7 @@ def _get_node(name): def _get_nodes(): ''' - Return all list of TencentCloud instances + Return all list of Tencent Cloud instances ''' ret = [] offset = 0 @@ -906,7 +906,7 @@ def _get_nodes(): def _get_images(image_type): ''' - Return all list of TencentCloud images + Return all list of Tencent Cloud images ''' client = get_provider_client("cvm_client") req = cvm_models.DescribeImagesRequest() @@ -1007,7 +1007,7 @@ def __get_availability_zone(vm_): def __get_location(vm_): ''' - Return the TencentCloud region to use, in this order: + Return the Tencent Cloud region to use, in this order: - CLI parameter - VM parameter - Cloud profile setting diff --git a/tests/integration/cloud/clouds/test_tencentcloud.py b/tests/integration/cloud/clouds/test_tencentcloud.py index 9c1ef344f95..103be9ae883 100644 --- a/tests/integration/cloud/clouds/test_tencentcloud.py +++ b/tests/integration/cloud/clouds/test_tencentcloud.py @@ -24,7 +24,7 @@ PROVIDER_NAME = 'tencentcloud' @expensiveTest class TencentCloudTest(ShellCase): ''' - Integration tests for the TencentCloud cloud provider in Salt-Cloud + Integration tests for the Tencent Cloud cloud provider in Salt-Cloud ''' def setUp(self): @@ -66,7 +66,7 @@ class TencentCloudTest(ShellCase): def test_instance(self): ''' - Test creating an instance on TencentCloud + Test creating an instance on Tencent Cloud ''' # check if instance with salt installed returned try: diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index ed1fc10f138..726f9d46a7d 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -1209,8 +1209,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'id': 'a-tencentcloud-id', 'key': 'a-tencentcloud-key', 'location': 'ap-guangzhou', - 'driver': 'tencentcloud' - }], + 'driver': 'tencentcloud', + }, + ], 'conf_file': PATH } ret = { @@ -1236,7 +1237,7 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'key': 'a-tencentcloud-key', 'location': 'ap-guangzhou', 'profiles': {}, - 'driver': 'tencentcloud' + 'driver': 'tencentcloud', }, 'ec2': { 'profiles': {}, @@ -1244,9 +1245,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'key': 'supersecretkeysupersecretkey', 'driver': 'ec2', 'id': 'ABCDEFGHIJKLMNOP', - 'user': 'user@mycorp.com' - } - } + 'user': 'user@mycorp.com', + }, + }, } self.assertEqual(ret, salt.config.apply_cloud_providers_config( @@ -1270,8 +1271,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'extends': 'my-dev-envs:tencentcloud', 'id': 'new-id', 'key': 'new-key', - 'location': 'ap-beijing' - }], + 'location': 'ap-beijing', + }, + ], 'my-dev-envs': [{ 'id': 'ABCDEFGHIJKLMNOP', 'user': 'user@mycorp.com', @@ -1286,8 +1288,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'id': 'the-tencentcloud-id', 'location': 'ap-beijing', 'key': 'the-tencentcloud-key', - 'driver': 'tencentcloud' - }], + 'driver': 'tencentcloud', + }, + ], 'conf_file': PATH} ret = { 'my-production-envs': { @@ -1311,8 +1314,8 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'key': 'new-key', 'location': 'ap-beijing', 'profiles': {}, - 'driver': 'tencentcloud' - } + 'driver': 'tencentcloud', + }, }, 'my-dev-envs': { 'linode': { @@ -1334,9 +1337,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'key': 'the-tencentcloud-key', 'location': 'ap-beijing', 'profiles': {}, - 'driver': 'tencentcloud' - } - } + 'driver': 'tencentcloud', + }, + }, } self.assertEqual(ret, salt.config.apply_cloud_providers_config( >>>>>>> de3fd871dc... add tencentcloud testing @@ -1378,8 +1381,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): }, { 'extends': 'my-dev-envs:tencentcloud', 'location': 'ap-shanghai', - 'id': 'the-tencentcloud-id' - }], + 'id': 'the-tencentcloud-id', + }, + ], 'my-dev-envs': [{ 'id': 'ABCDEFGHIJKLMNOP', 'user': 'user@mycorp.com', @@ -1405,8 +1409,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): }, { 'extends': 'my-dev-envs:tencentcloud', 'location': 'ap-shanghai', - 'id': 'the-tencentcloud-id' - }], + 'id': 'the-tencentcloud-id', + }, + ], 'my-dev-envs': [{ 'id': 'ABCDEFGHIJKLMNOP', 'user': 'user@mycorp.com', @@ -1440,8 +1445,9 @@ class ConfigTestCase(TestCase, AdaptedConfigurationTestCaseMixin): 'id': 'a-tencentcloud-id', 'key': 'a-tencentcloud-key', 'location': 'ap-guangzhou', - 'driver': 'tencentcloud' - }], + 'driver': 'tencentcloud', + }, + ], 'conf_file': PATH} self.assertRaises(SaltCloudConfigError, salt.config.apply_cloud_providers_config,