Updated on 2024-11-06 GMT+08:00

Modify Instance Information

Function

Modifying IoTDA instance information.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

PUT /v5/iot/{project_id}/iotda-instances/{instance_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Parameter description: project ID. For details, see Obtaining a Project ID.

instance_id

Yes

String

Parameter description: instance ID. Value: Enter up to 36 characters, including lowercase letters (a-f), digits, and hyphens (-).

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

Parameter description: user token. You can obtain the token by calling the IAM API Obtaining a User Token Through Password Authentication. In the returned response header, X-Subject-Token is the desired user token. For details about how to obtain the token, see Token Authentication.

Minimum: 0

Maximum: 1024000

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

name

No

String

Parameter description: instance name. Value: Enter 1 to 64 characters, including letters, digits, underscores (_), and hyphens (-).

description

No

String

Parameter description: description of an IoTDA instance. Value: The value can contain a maximum of 256 characters. Use only letters, digits, and special characters (_,.&-).

operate_window

No

OperateWindow object

Instance maintenance time window. You can specify the time window during which the specifications are modified.

forwarding_info

No

UpdateForwardingInfo object

SNAT configuration of the enterprise instance. After the configuration is enabled, the enterprise instance can communicate externally over public networks. Only enterprise instances support data transfer configuration modification.

access_info

No

UpdateAccessInfo object

Access information of IoTDA instances. Used for connecting applications and devices to the IoT platform. Only enterprise instances support custom access information.

Table 4 OperateWindow

Parameter

Mandatory

Type

Description

start_time

Yes

String

Parameter description: start time of the change time window. The value is UTC time in HH:mm format.

end_time

Yes

String

Parameter description: end time of the change time window. The value is UTC time in HH:mm format.

Table 5 UpdateForwardingInfo

Parameter

Mandatory

Type

Description

enable_snat

Yes

Boolean

Parameter description: whether to enable the SNAT configuration. After SNAT is enabled for an enterprise instance, the instance can communicate externally over public networks. SNAT can be configured only for enterprise instances. After SNAT is enabled, it cannot be disabled. Options:

  • true

Table 6 UpdateAccessInfo

Parameter

Mandatory

Type

Description

access_type

Yes

String

Parameter description: access address type. For example, if HTTPS is used for application access, the value is APP_HTTPS. If MQTT is used for device access, the value is DEVICE_MQTT. Options:

  • APP_HTTPS: HTTPS for application access

  • APP_AMQP: AMQP for application access

  • APP_MQTT: MQTT for application access

  • DEVICE_COAP: CoAP for device access

  • DEVICE_MQTT: MQTT for device access

  • DEVICE_HTTPS: HTTPS for device access

domain_name

No

String

Parameter description: access domain name. If the domain name needs to be updated, this parameter is carried.

public_addresses_enable

No

Boolean

Parameter description: whether to configure the public network access address. The value can be true or false. Options:

  • true: Configure a public network access address, which is automatically allocated by the platform. After an address is allocated, it cannot be modified or deleted.

ip_whitelist

No

IPWhiteList object

IP address whitelist. The IP address whitelist can be configured only for the APP_HTTPS protocol of the enterprise instances.

Table 7 IPWhiteList

Parameter

Mandatory

Type

Description

enable

Yes

Boolean

Parameter description: whether to enable the IP address whitelist access control.

allow_list

No

Array of IpAllowList objects

List of IP addresses that are allowed to access the enterprise instances.

Array Length: 0 - 15

Table 8 IpAllowList

Parameter

Mandatory

Type

Description

address

Yes

String

Parameter description: whitelist IP address.

Minimum: 7

Maximum: 128

description

No

String

Parameter description: description.

Minimum: 0

Maximum: 128

Response Parameters

Status code: 200

Table 9 Response body parameters

Parameter

Type

Description

instance_type

String

Parameter description: instance type. Options:

  • standard

  • enterprise

instance_id

String

Parameter description: instance ID. Value: Enter up to 36 characters, including lowercase letters (a-f), digits, and hyphens (-).

charge_mode

String

Parameter description: payment mode of the instance. Options:

  • prePaid: yearly/monthly

  • postPaid: pay-per-use

name

String

Parameter description: instance name. Value: Enter 1 to 64 characters, including letters, digits, underscores (_), and hyphens (-).

flavor

Flavor object

Parameter description: specifications of an IoTDA instance.

status

String

Parameter description: instance status. Options:

  • CREATING: The instance is being created.

  • ACTIVE: The instance is normal.

  • FROZEN: The instance is frozen.

  • TRADING: The instance is in a transaction.

  • MODIFYING: The instance class is being changed.

  • FAILED: The instance fails to be created.

Minimum: 0

Maximum: 64

description

String

Parameter description: description of an IoTDA instance. Value: The value can contain a maximum of 256 characters. Use only letters, digits, and special characters (_,.&-).

access_infos

Array of AccessInfo objects

Parameter description: access information of an IoTDA instance.

Array Length: 0 - 10

create_time

String

Parameter description: time when the instance is created. Example: 2023-01-28T06:57:52Z.

Minimum: 0

Maximum: 64

update_time

String

Parameter description: last update time of the instance. Example: 2023-01-28T06:57:52Z.

Minimum: 0

Maximum: 64

enterprise_project_id

String

Parameter description: enterprise project ID.

tags

Array of Tag objects

Parameter description: tag information of an IoTDA instance. This field has values if the instance has tags. Or, it is left empty.

Array Length: 0 - 20

order_id

String

Parameter description: order ID. This parameter is returned when a yearly/monthly instance is created.

Minimum: 0

Maximum: 64

operate_window

OperateWindow object

Instance maintenance time window. You can specify the time window during which the specifications are modified.

additional_params

AdditionalParamsResp object

Additional parameter information of the enterprise edition.

Table 10 Flavor

Parameter

Type

Description

type

String

Parameter description: specification name of the IoTDA instance to create. For details, see Specifications.

size

Integer

Parameter description: unit number of the standard IoTDA instances to create. For details, see Specifications. This parameter is mandatory when instance_type is set to standard.

Minimum: 1

Maximum: 200

Table 11 AccessInfo

Parameter

Type

Description

type

String

Parameter description: access address type. For example, if HTTPS is used for application access, the value is APP_HTTPS. If MQTT is used for device access, the value is DEVICE_MQTT. Options:

  • APP_HTTPS: HTTPS for application access

  • APP_AMQP: AMQP for application access

  • APP_MQTT: MQTT for application access

  • DEVICE_COAP: CoAP for device access

  • DEVICE_MQTT: MQTT for device access

  • DEVICE_HTTPS: HTTPS for device access

port

Integer

Parameter description: secure access port of the application or device of the instance.

Minimum: 0

Maximum: 65535

non_tls_port

Integer

Parameter description: non-secure access port of the application or device of the instance. If null is returned, the access address of this type does not support non-secure port access.

Minimum: 0

Maximum: 65535

websocket_port

Integer

Parameter description: WebSocket-based MQTT access port. If null is returned, the access address of this type does not support WebSocket port access.

Minimum: 0

Maximum: 65535

domain_name

String

Parameter description: access domain name of the instance.

private_addresses

Array of strings

Parameter description: private network access address list of the instance.

Array Length: 0 - 10

public_address

Array of strings

Parameter description: public access address of the instance.

Array Length: 0 - 10

ipv6_address

Array of strings

Parameter description: IPv6 access address list of the instance.

Array Length: 0 - 10

ip_whitelist

IPWhiteList object

IP address whitelist. The IP address whitelist can be configured only for the APP_HTTPS protocol of the enterprise instances.

Table 12 IPWhiteList

Parameter

Type

Description

enable

Boolean

Parameter description: whether to enable the IP address whitelist access control.

allow_list

Array of IpAllowList objects

List of IP addresses that are allowed to access the enterprise instances.

Array Length: 0 - 15

Table 13 IpAllowList

Parameter

Type

Description

address

String

Parameter description: whitelist IP address.

Minimum: 7

Maximum: 128

description

String

Parameter description: description.

Minimum: 0

Maximum: 128

Table 14 Tag

Parameter

Type

Description

key

String

Parameter description: tag key. Use letters, digits, spaces, and special characters (_.:=+-@). No space is allowed at the beginning or end.

Minimum: 1

Maximum: 128

value

String

Parameter description: tag value, which can be an empty string or null. Use letters, digits, spaces, and special characters (_.:=+-@).

Minimum: 0

Maximum: 255

Table 15 OperateWindow

Parameter

Type

Description

start_time

String

Parameter description: start time of the change time window. The value is UTC time in HH:mm format.

end_time

String

Parameter description: end time of the change time window. The value is UTC time in HH:mm format.

Table 16 AdditionalParamsResp

Parameter

Type

Description

vpc_id

String

Parameter description: VPC ID of the instance of the enterprise edition.

Minimum: 0

Maximum: 64

subnet_id

String

Parameter description: subnet ID of the instance of the enterprise edition.

Minimum: 0

Maximum: 64

security_group_id

String

Parameter description: security group ID of the instance of the enterprise edition.

Minimum: 0

Maximum: 64

ciphering_algorithm

String

Parameter description: encryption algorithm supported by the instance. Options:

  • COMMON_ALGORITHM: common encryption algorithm (international cryptographic algorithms such as RSA and SHA-256)

  • SM_ALGORITHM: SM series commercial encryption algorithms (Chinese cryptographic algorithms such as SM2, SM3, and SM4)

Default: COMMON_ALGORITHM

forwarding_info

ForwardingInfo object

SNAT configuration information of the instance of the enterprise edition.

Table 17 ForwardingInfo

Parameter

Type

Description

eip

String

Parameter description: EIP bound to the NAT gateway.

Minimum: 7

Maximum: 128

enable_snat

Boolean

Parameter description: whether to enable the SNAT configuration. Options:

  • true

  • false

Example Requests

  • Modifying the instance name, description, and operation time window.

    PUT https://{endpoint}/v5/iot/{project_id}/iotda-instances/{instance_id}
    
    {
      "name" : "iotda_instance01",
      "description" : "IoTDA instance for test.",
      "operate_window" : {
        "start_time" : "18:00",
        "end_time" : "22:00"
      }
    }
  • Enabling SNAT configuration on data transfer of public networks for enterprise instances.

    PUT https://{endpoint}/v5/iot/{project_id}/iotda-instances/{instance_id}
    
    {
      "forwarding_info" : {
        "enable_snat" : "true"
      }
    }
  • Modifying the access information of an enterprise instance.

    PUT https://{endpoint}/v5/iot/{project_id}/iotda-instances/{instance_id}
    
    {
      "access_info" : {
        "access_type" : "APP_HTTPS",
        "domain_name" : "example.myhuaweicloud.com",
        "public_addresses_enable" : true
      }
    }

Example Responses

Status code: 200

OK

{
  "instance_type" : "standard",
  "instance_id" : "8561675c-d8a3-4956-9884-9cf9cbdd3134",
  "charge_mode" : "prePaid",
  "name" : "iotda_instance",
  "flavor" : {
    "type" : "iotda.standard.s1",
    "size" : 1
  },
  "status" : "ACTIVE",
  "create_time" : "2023-01-28T06:57:52Z",
  "update_time" : "2023-01-28T06:58:52Z",
  "description" : "IoTDA instance for production.",
  "access_infos" : [ {
    "type" : "APP_AMQP",
    "port" : 5671,
    "non_tls_port" : null,
    "websocket_port" : null,
    "domain_name" : "example.myhuaweicloud.com",
    "public_address" : [ ],
    "ipv6_address" : [ ],
    "ip_whitelist" : null
  }, {
    "type" : "APP_HTTPS",
    "port" : 443,
    "non_tls_port" : null,
    "websocket_port" : null,
    "domain_name" : "example1.myhuaweicloud.com",
    "public_address" : [ ],
    "ipv6_address" : [ ],
    "ip_whitelist" : null
  }, {
    "type" : "DEVICE_MQTT",
    "port" : 8883,
    "non_tls_port" : 1883,
    "websocket_port" : 443,
    "domain_name" : "example2.myhuaweicloud.com",
    "public_address" : [ ],
    "ipv6_address" : [ ],
    "ip_whitelist" : null
  }, {
    "type" : "DEVICE_COAP",
    "port" : 5684,
    "non_tls_port" : 5683,
    "websocket_port" : null,
    "domain_name" : "example3.myhuaweicloud.com",
    "public_address" : [ ],
    "ipv6_address" : [ ],
    "ip_whitelist" : null
  } ],
  "enterprise_project_id" : "d22e47e9-cfad-4254-8a29-d2a56a07681d",
  "tags" : [ {
    "key" : "testTagName",
    "value" : "testTagValue"
  } ],
  "order_id" : "CS22121614500ABCD",
  "operate_window" : {
    "start_time" : "22:00",
    "end_time" : "24:00"
  },
  "additional_params" : null
}

Status Codes

Status Code

Description

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

Error Codes

See Error Codes.