123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309 |
- ==================================
- 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.
- Dependencies
- ============
- 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/
- This package can be installed using ``pip`` or ``easy_install``:
- .. code-block:: bash
- # pip install tencentcloud-sdk-python
- # easy_install tencentcloud-sdk-python
- Provider Configuration
- ======================
- To use this module, set up the cloud configuration at
- ``/etc/salt/cloud.providers`` or ``/etc/salt/cloud.providers.d/*.conf``:
- .. code-block:: yaml
- my-tencentcloud-config:
- driver: tencentcloud
- # Tencent Cloud Secret Id
- id: AKIDA64pOio9BMemkApzevX0HS169S4b750A
- # Tencent Cloud Secret Key
- key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260
- # Tencent Cloud Region
- location: ap-guangzhou
- Configuration Parameters
- ~~~~~~~~~~~~~~~~~~~~~~~~
- driver
- ------
- **Required**. ``tencentcloud`` to use this module.
- id
- --
- **Required**. Your Tencent Cloud secret id.
- key
- ---
- **Required**. Your Tencent Cloud secret key.
- location
- --------
- **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
- # salt-cloud --list-location my-tencentcloud-config
- Profile Configuration
- =====================
- 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
- tencentcloud-guangzhou-s1sm1:
- provider: my-tencentcloud-config
- availability_zone: ap-guangzhou-3
- image: img-31tjrtph
- size: S1.SMALL1
- allocate_public_ip: True
- internet_max_bandwidth_out: 1
- password: '153e41ec96140152'
- securitygroups:
- - sg-5e90804b
- Configuration Parameters
- ~~~~~~~~~~~~~~~~~~~~~~~~
- provider
- --------
- **Required**. Name of entry in ``salt/cloud.providers.d/???`` file.
- availability_zone
- -----------------
- **Required**. The availability zone that the instance is located in.
- Available zones can be found using the ``list_availability_zones`` function:
- .. code-block:: bash
- # salt-cloud -f list_availability_zones my-tencentcloud-config
- image
- -----
- **Required**. The image id to use for the instance.
- Available images can be found using the ``--list-images`` option:
- .. code-block:: bash
- # salt-cloud --list-images my-tencentcloud-config
- size
- ----
- **Required**. Instance type for instance can be found using the ``--list-sizes`` option.
- .. code-block:: bash
- # salt-cloud --list-sizes my-tencentcloud-config
- securitygroups
- --------------
- **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 groups are supported:
- .. code-block:: yaml
- tencentcloud-guangzhou-s1sm1:
- securitygroups:
- - sg-5e90804b
- - sg-8kpynf2t
- hostname
- --------
- **Optional**. The hostname of the instance.
- instance_charge_type
- --------------------
- **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 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::
- This value is only used when ``instance_charge_type`` is set to ``PREPAID``.
- instance_charge_type_prepaid_period
- -----------------------------------
- **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::
- 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``.
- internet_max_bandwidth_out
- --------------------------
- **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``,
- ``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, for example ``skey-16jig7tx``.
- password
- --------
- **Optional**. Login password for the instance.
- private_ip
- ----------
- **Optional**. The private ip to be assigned to this instance,
- must be in the provided subnet and available.
- project_id
- ----------
- **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 a VPC network, this parameter must be set.
- subnet_id
- ---------
- **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.
- system_disk_type
- ----------------
- **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 supported by the Tencent Cloud Salt Cloud driver.
- show_instance
- ~~~~~~~~~~~~~
- 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.
- .. code-block:: bash
- $ salt-cloud -a show_instance myinstance
- show_disk
- ~~~~~~~~~
- Return disk details about a specific instance.
- .. code-block:: bash
- $ salt-cloud -a show_disk myinstance
- destroy
- ~~~~~~~
- Destroy a Tencent Cloud instance.
- .. code-block:: bash
- $ salt-cloud -a destroy myinstance
- start
- ~~~~~
- Start a Tencent Cloud instance.
- .. code-block:: bash
- $ salt-cloud -a start myinstance
- stop
- ~~~~
- Stop a Tencent Cloud instance.
- .. code-block:: bash
- $ salt-cloud -a stop myinstance
- reboot
- ~~~~~~
- Reboot a Tencent Cloud instance.
- .. code-block:: bash
- $ salt-cloud -a reboot myinstance
- Functions
- =========
- The following functions are currently supported by the Tencent Cloud Salt Cloud driver.
- list_securitygroups
- ~~~~~~~~~~~~~~~~~~~
- Lists all Tencent Cloud security groups in current region.
- .. code-block:: bash
- $ salt-cloud -f list_securitygroups my-tencentcloud-config
- list_availability_zones
- ~~~~~~~~~~~~~~~~~~~~~~~
- Lists all Tencent Cloud availability zones in current region.
- .. code-block:: bash
- $ salt-cloud -f list_availability_zones my-tencentcloud-config
- list_custom_images
- ~~~~~~~~~~~~~~~~~~
- Lists any custom images associated with the account. These images can
- be used to create a new instance.
- .. code-block:: bash
- $ salt-cloud -f list_custom_images my-tencentcloud-config
- show_image
- ~~~~~~~~~~
- Return details about a specific image. This image can be used
- to create a new instance.
- .. code-block:: bash
- $ salt-cloud -f show_image tencentcloud image=img-31tjrtph
|