华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 条目总数 batch_task_list Array of BatchTaskDto objects 批量作业列表 表5 BatchTaskDto 参数 参数类型 描述 id String 批量作业ID batch_task_name String 批量作业名称 video_source_name String 视频源名称 video_group_name String 分组名称 alg_name String 算法名称 company String 厂商名 type String 作业类型 num_task Integer 批量作业总数 created_at Long 创建时间 batch_task_status_info BatchTaskStatusInfoDto object 批量作业状态基本信息 表6 BatchTaskStatusInfoDto 参数 参数类型 描述 pending Integer 等待中作业数量 recovering Integer 恢复中作业数量 starting Integer 启动中作业数量 upgrading Integer 升级中作业数量 create_failed Integer 创建失败作业数量 start_failed Integer 启动失败作业数量 running Integer 运行中作业数量 stopping Integer 停止中作业数量 stopped Integer 已停止作业数量 abnormal Integer 异常作业数量 succeeded Integer 运行成功作业数量 failed Integer 运行失败作业数量 deleting Integer 删除中作业数量 freezing Integer 冻结中作业数量 frozen Integer 已冻结作业数量 stopped_no_service Integer 无服务的任务数量 scheduling Integer 调度中 lack_of_resources Integer 资源不足,创建失败 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息描述 detail String 错误详情 params Array of strings 错误参数列举 数组长度:0 - 1 reason String 错误原因 advice String 建议 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息描述 detail String 错误详情 params Array of strings 错误参数列举 数组长度:0 - 1 reason String 错误原因 advice String 建议
  • 数据准备 表1 创建VPN网关请求关键参数 参数 说明 取值样例 vpc_id VPN网关所连接的VPC的ID。 cb4a631d-demo-a8df-va86-ca3fa348c36c local_subnets 本端子网。 192.168.0.0/24,192.168.1.0/24 connect_subnet VPN网关所使用的VPC中的子网ID。 f5741286-demo-a8df-va86-2c82bd9ee114 eip1.id VPN网关使用的第一个EIP的ID。 cff40e5e-demo-a8df-va86-7366077bf097 eip2.id VPN网关使用的第二个EIP的ID。 d290f1ee-demo-a8df-va86-d701748f0851
  • 操作步骤 创建关联VPC的VPN网关。 发送“POST https://{endpoint}/v5/{project_id}/vpn-gateways”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "vpn_gateway": { "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "eip1": { "id": "cff40e5e-demo-a8df-va86-7366077bf097" }, "eip2": { "id": "d290f1ee-demo-a8df-va86-d701748f0851" } } } 查看请求响应结果。 请求成功时,响应参数如下,id就是VPN网关的ID。 { "vpn_gateway": { "id": "620d99b8-demo-a8df-va86-200b868f2d7d", "name": "vpngw-3caf", "network_type": "public", "attachment_type": "vpc", "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": ["192.168.0.0/24", "192.168.1.0/24"], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "access_vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "flavor": "Professional1", "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0" }, "request_id": "4a739f5c-edb7-4122-b31f-b77fb1b94857" } 查询VPN网关详情。 发送“GET https://{endpoint}/v5/{project_id}/vpn-gateways/{vgw_id}”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下,id就是VPN网关的ID。 { "vpn_gateway": { "id": "620d99b8-demo-a8df-va86-200b868f2d7d", "name": "vpngw-3caf", "network_type": "public", "status": "ACTIVE", "attachment_type": "vpc", "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "access_vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": [ "cn-south-1f", "cn-south-1e" ], "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "eip1": { "id": "cff40e5e-demo-a8df-va86-7366077bf097", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.8", "charge_mode": "bandwidth", "bandwidth_id": "593a1a79-demo-a8df-va86-64ec45fb23f6", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1391" }, "eip2": { "id": "d290f1ee-demo-a8df-va86-d701748f0851", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.6", "charge_mode": "bandwidth", "bandwidth_id": "0abb9d55-demo-a8df-va86-b7500ac2a338", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1392" }, "created_at": "2022-09-15T08:56:09.386Z", "updated_at": "2022-09-15T11:13:13.677Z" }, "request_id": "d099a7dc-ea71-45a6-a75b-dccbfe17d438" }
  • 前提条件 已创建VPC,具体请参见创建VPC。 您需要规划VPN网关所在的区域信息,并根据区域确定调用API的Endpoint。 当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权章节。 通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
  • 响应消息 响应参数 返回状态码为 200: 更新成功。 表5 响应Body参数列表 名称 类型 描述 customer_gateway ResponseCustomerGateway object customer_gateway对象。 request_id String 请求id。 表6 ResponseCustomerGateway 名称 类型 描述 id String 功能说明:对端网关的ID。 格式:36位UUID。 name String 功能说明:对端网关名称,不填时会自动生成。 取值范围:1-64个字符,包括数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 id_type String 功能说明:对端网关标识类型。 取值范围:ip,fqdn。 id_value String 对端网关标识值。 bgp_asn Long 对端网关的BGP自治域编号。仅当id_type为ip时返回。 created_at String 创建时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 updated_at String 最后一次更新时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 ca_certificate CaCertificate object 对端网关CA证书信息。仅当对端网关绑定CA证书时返回。 tags Array of VpnResourceTag objects 标签列表。 表7 CaCertificate 名称 类型 描述 id String 证书ID。 serial_number String 证书序列号。 signature_algorithm String 签名算法。 issuer String 证书颁发者。 subject String 证书使用者。 expire_time String 证书过期时间。 is_updatable boolean 是否能更新证书内容。 表8 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 { "customer_gateway": { "id": "03c0aa3d-demo-a8df-va86-9d82473765d4", "name": "cgw-f846", "id_type": "ip", "id_value": "10.***.***.21", "bgp_asn": 65533, "ca_certificate": { "serial_number": "14257156674311863338", "signature_algorithm": "SM3WITHSM2", "issuer": "C=CN,O=a0002,CN=XXX", "subject": "C=CN,O=a0002,CN=XXX", "expire_time": "2024-05-22T07:34:22Z", "is_updatable": true }, "created_at": "2021-12-21T16:49:28.108+08:00", "updated_at": "2021-12-21T16:49:28.108+08:00" }, "request_id": "96718f4a-f57a-4e1f-8d05-7d5e903c8d90" }
  • 请求消息 请求参数 表2 请求参数 名称 类型 是否必选 描述 customer_gateway UpdateCgwRequestBodyContent object 是 customer_gateway对象。 表3 UpdateCgwRequestBodyContent 名称 类型 是否必选 描述 name String 否 功能说明:网关名称。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。 ca_certificate CaCertificateRequest object 否 功能说明:对端网关CA证书。 表4 CaCertificateRequest 名称 类型 是否必选 描述 id String 否 功能说明:证书ID。 格式:36位UUID。 content String 否 功能说明:对端网关CA证书内容。 取值范围:1-8192个字符。 请求样例 PUT https://{Endpoint}/v5/{project_id}/customer-gateways/{customer_gateway_id} { "customer_gateway": { "name": "cgw-f846", "ca_certificate": { "content":"******" } } }
  • 响应消息 响应参数 返回状态码为 200: successful operation。 表2 响应Body参数列表 名称 类型 描述 availability_zones AvailabilityZones object 可用区列表。 request_id String 请求ID。 表3 AvailabilityZones 名称 类型 描述 basic VpnGatewayAvailabilityZones object Basic网关规格。 professional1 VpnGatewayAvailabilityZones object Professional1网关规格。 Professional1-NonFixedIP VpnGatewayAvailabilityZones object Professional1-NonFixedIP网关规格。 professional2 VpnGatewayAvailabilityZones object Professional2网关规格。 Professional2-NonFixedIP VpnGatewayAvailabilityZones object Professional2-NonFixedIP网关规格。 gm VpnGatewayAvailabilityZones object GM网关规格。 表4 VpnGatewayAvailabilityZones 名称 类型 描述 vpc Array of String 关联VPC类型的可用区列表。 er Array of String 关联ER类型的可用区列表。 响应样例 { "availability_zones": { "basic": { "vpc": ["cn-south-1f"], "er": [] }, "professional1": { "vpc": ["cn-south-1f", "cn-south-1e", "cn-south-1c"], "er": ["cn-south-1f"] }, "professional2": { "vpc": ["cn-south-1f", "cn-south-1e", "cn-south-1c"], "er": ["cn-south-1f"] }, "gm": { "vpc": ["cn-south-1f", "cn-south-1e", "cn-south-1c"], "er": ["cn-south-1f"] } }, "request_id": "b60309ab-812c-4269-9de4-fb9a65e6db16" }
  • 操作步骤 创建VPN连接监控。 发送“POST https://{endpoint}/v5/{project_id}/connection-monitors”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下。 { "connection_monitor": { "vpn_connection_id": "cae286f2-demo-a8df-va86-e22416ca1220" } } 查看请求响应结果。 请求成功时,响应参数如下,id就是VPN连接监控的ID。 { "connection_monitor": { "id": "76f64229-demo-a8df-va86-3907e2815b6d", "vpn_connection_id": "cae286f2-demo-a8df-va86-e22416ca1220", "type": "gateway", "source_ip": "88.***.***.60", "destination_ip": "192.***.***.0", "proto_type": "icmp" }, "request_id": "54af23d8-989e-445d-bb48-0a9da33d7f0f" } 查询VPN连接监控详情。 发送“GET https://{endpoint}/v5/{project_id}/connection-monitors/{connection_monitor_id}”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下,id就是VPN连接监控的ID。 { "connection_monitor": { "id": "76f64229-demo-a8df-va86-3907e2815b6d", "status": "ACTIVE", "vpn_connection_id": "cae286f2-demo-a8df-va86-e22416ca1220", "type": "gateway", "source_ip": "88.***.***.60", "destination_ip": "192.***.***.0", "proto_type": "icmp" }, "request_id": "72d05395-0637-4f93-9844-b4979e9d7bdc" }
  • 请求消息 请求参数 无。 请求样例 查询所有VPN网关。 GET https://{Endpoint}/v5/{project_id}/vpn-gateways 根据enterprise_project_id查询VPN网关。 GET https://{Endpoint}/v5/{project_id}/vpn-gateways?enterprise_project_id={enterprise_project_id}
  • 响应消息 响应参数 返回状态码为 200: 查询成功。 表3 响应Body参数列表 名称 类型 描述 vpn_gateways Array of ResponseVpnGateway objects 网关信息。 request_id String 请求ID。 表4 ResponseVpnGateway 名称 类型 描述 id String 功能说明:VPN网关ID。 格式:36位UUID。 name String 功能说明:VPN网关名称,不填时会自动生成。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。 network_type String 功能说明:VPN网关网络类型。 取值范围:public,private。 默认值:public。 status String 功能说明:VPN网关状态。 取值范围: PENDING_CREATE:创建中。 PENDING_UPDATE:更新中。 PENDING_DELETE:删除中。 ACTIVE:正常。 FAULT:异常。 FREEZED:冻结。 attachment_type String 功能说明:关联模式。 取值范围:vpc,er。 certificate_id String 功能说明:证书ID。 格式:36位UUID。 er_id String VPN网关所连接的ER实例的ID。仅当attachment_type为er时返回。 vpc_id String 当attachment_type为vpc时,vpc_id是VPN网关关联的业务VPC的ID。 当attachment_type为er时,vpc_id是VPN网关的接入VPC的ID。 local_subnets Array of String 本端子网。本端子网是云上子网,该网段需要通过VPN与用户侧网络进行互通。单个网段格式示例:192.168.52.0/24。仅当attachment_type为vpc时返回。 connect_subnet String VPN网关所使用的VPC中的一个子网ID。 bgp_asn Long VPN网关的BGP自治域编号。 flavor String 功能说明:VPN网关的规格类型。 取值范围: Basic:最大转发带宽100Mbps。 Professional1:最大转发带宽300Mbps。 Professional1-NonFixedIP:最大转发带宽300Mbps。 Professional2:最大转发带宽1Gbps。 Professional2-NonFixedIP:最大转发带宽1Gbps。 GM:最大转发带宽500Mbps。 availability_zone_ids Array of String 部署VPN网关的可用区。当指定了可用区时则返回;当未指定可用区时,在VPN网关的状态为ACTIVE时返回。 connection_number Integer VPN网关下的最大VPN连接数。 used_connection_number Integer VPN网关下当前已经使用的VPN连接数。 used_connection_group Integer VPN网关下当前已经使用的VPN连接组个数。同一用户网关入云的两条连接组成一个连接组。VPN网关默认支持10个免费的VPN连接组。 enterprise_project_id String 功能说明:企业项目ID。 格式:36位UUID。创建时不传则返回"0",表示资源属于default企业项目。 注:"0"并不是真实存在的企业项目ID。 eip1 ResponseEip object VPN网关使用的第一个EIP。在VPN网关的状态为ACTIVE时返回。 eip2 ResponseEip object VPN网关使用的第二个EIP。在VPN网关的状态为ACTIVE时返回。 created_at String 创建时间。在VPN网关的状态为ACTIVE时返回。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 updated_at String 最后一次更新时间。在VPN网关的状态为ACTIVE时返回。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 access_vpc_id String 功能说明:VPN网关使用的接入VPC ID。 格式:36位UUID。 access_subnet_id String 功能说明:VPN网关使用的接入VPC中的子网ID。 格式:36位UUID。 access_private_ip_1 String 私网类型VPN网关的接入私网IP,VPN网关使用该私网IP与对端网关建连。双活网关表示使用的第一个私网地址,主备表示主私网地址。 示例:192.168.52.9。仅当network_type为private时返回。 access_private_ip_2 String 私网类型VPN网关的接入私网IP,VPN网关使用该私网IP与对端网关建连。双活网关表示使用的第二个私网地址,主备表示备私网地址。 示例:192.168.52.9。仅当network_type为private时返回。 ha_mode String 功能说明:网关的HA模式,"active-active"表示双活,"active-standby"表示主备。 取值范围:active-active,active-standby。 默认值:active-active。 policy_template PolicyTemplate object 非固定IP接入VPN网关的策略模板配置,只有在规格为非固定IP接入VPN网关时返回。 supported_flavors Array of String 网关可升配到的目标规格。 tags Array of VpnResourceTag objects 标签列表。 表5 ResponseEip 名称 类型 描述 id String 功能说明:EIP的ID。 格式:36位UUID。当使用默认企业项目时返回"0"。 ip_version Integer 功能说明:EIP版本。 取值范围:4。 ip_billing_info String 功能说明:EIP的订单信息。包年/包月EIP才会返回订单信息,按需计费的EIP不返回。 格式:order_id:product_id:region_id:project_id,如: CS22********LIBIV:00301-******-0--0:br-iaas-odin1:0605768a************c006c7e484aa。 type String 功能说明:EIP的类型。 取值范围:可查看申请EIP表6中type字段的取值范围。 ip_address String 功能说明:EIP的公网IPv4地址。 格式:ipv4类型地址。例如:88.***.***.11。 charge_mode String 功能说明:EIP的带宽计费模式。按流量计费或按带宽计费。 取值范围: bandwidth:按带宽计费。 traffic:按流量计费。 bandwidth_id String 功能说明:EIP的带宽ID。 格式:36位UUID。 bandwidth_size Integer 功能说明:EIP的带宽大小,单位:Mbit/s。每个region能够提供的EIP最大带宽不同,EIP的最大带宽受限于EIP服务,可以使用工单来提高账户下的EIP的最大带宽。 取值范围:1-1000。 bandwidth_name String 功能说明:EIP的带宽名称。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。 bandwidth_billing_info String 功能说明:EIP的带宽订单信息。包年/包月EIP带宽才会返回带宽订单信息,按需计费的EIP带宽不返回。 格式:order_id:product_id:region_id:project_id,如: CS22********LIBIV:00301-******-0--0:br-iaas-odin1:0605768a************c006c7e484aa。 表6 PolicyTemplate 名称 类型 描述 ike_policy IkePolicy object ike 策略对象。 ipsec_policy IpsecPolicy object ipsec 策略对象。 表7 IkePolicy 名称 类型 描述 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128。 dh_group String 功能说明:第一阶段密钥交换使用的DH组。 取值范围:group14,group15,group16,group19,group20,group21,disable。 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256。 lifetime_seconds Integer 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。 取值范围:60-604800,单位:秒。 表8 IpsecPolicy 名称 类型 描述 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256。 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128。 pfs String 功能说明:PFS使用的DH密钥组。 取值范围:group14,group15,group16,group19,group20,group21,disable。 lifetime_seconds Integer 功能说明:表示配置IPSec连接建立的隧道以时间为基准的生存周期。 取值范围:30-604800,单位:秒。 表9 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 查询所有VPN网关的响应。 { "vpn_gateways": [{ "id": "8e1d0686-demo-a8df-va86-91f32fa1dfc8", "name": "vpngw-1af3", "network_type": "public", "status": "ACTIVE", "attachment_type": "vpc", "vpc_id": "91a74241-demo-a8df-va86-9b5f98c66c8c", "local_subnets": ["192.168.15.0/24"], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": ["cn-south-1f", "cn-south-1e"], "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "eip1": { "id": "8ff5d6b5-demo-a8df-va86-b9d598033153", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.111", "charge_mode": "bandwidth", "bandwidth_id": "aa62f8f2-demo-a8df-va86-b05b2b999715", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-13a3" }, "eip2": { "id": "08e7e927-demo-a8df-va86-26a6394021eb", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.199", "charge_mode": "bandwidth", "bandwidth_id": "887d61f7-demo-a8df-va86-38ee8232e27c", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1afb" }, "created_at": "2022-11-28T02:36:16.834Z", "updated_at": "2022-11-28T02:36:16.834Z", "access_vpc_id": "91a74241-demo-a8df-va86-9b5f98c66c8c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" }, { "id": "66ddeacb-demo-a8df-va86-9a414b5bd7d5", "name": "vpngw-2be4", "network_type": "public", "status": "ACTIVE", "attachment_type": "er", "er_id": "c62fad0d-demo-a8df-va86-e06c4c351b9f", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": ["cn-south-1f", "cn-south-1e"], "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "eip1": { "id": "0f6d1415-demo-a8df-va86-edb2ee97c9cc", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.251", "charge_mode": "bandwidth", "bandwidth_id": "e93767cc-demo-a8df-va86-bac2987f90a4", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-10c3" }, "eip2": { "id": "7b46b62f-demo-a8df-va86-6b8e44312416", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.102", "charge_mode": "bandwidth", "bandwidth_id": "bde3557e-demo-a8df-va86-629a3754ae07", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-18bd", }, "created_at": "2022-11-28T02:22:27.24Z", "updated_at": "2022-11-28T02:22:27.24Z", "access_vpc_id": "0cf79a3f-demo-a8df-va86-d7ace626b0fa", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" },{ "id":"66ddeacb-demo-a8df-va86-9a414b5bd7d5", "name":"vpngw-5bd6", "network_type":"public", "status":"ACTIVE", "attachment_type":"vpc", "vpc_id":"c62fad0d-demo-a8df-va86-e06c4c351b9f", "local_subnets":[ "192.168.0.0/24" ], "connect_subnet":"fd75bf7b--demo-a8df-va86-db13f03e299a", "bgp_asn":64512, "flavor":"Professional1-NonFixedIP", "availability_zone_ids":[ "cn-north-7c" ], "connection_number":200, "used_connection_number":0, "used_connection_group":0, "enterprise_project_id":"0", "ha_mode":"active-standby", "eip1":{ "id":"0f6d1415-demo-a8df-va86-edb2ee97c9cc", "ip_version":4, "type":"5_bgp", "ip_address":"88.***.***.251", "charge_mode":"bandwidth", "bandwidth_id":"e93767cc-demo-a8df-va86-bac2987f90a4", "bandwidth_size":300, "bandwidth_name":"vpngw-bandwidth-10c3" }, "eip2":{ "id":"7b46b62f-demo-a8df-va86-6b8e44312416", "ip_version":4, "type":"5_bgp", "ip_address":"88.***.***.102", "charge_mode":"bandwidth", "bandwidth_id":"bde3557e-demo-a8df-va86-629a3754ae07", "bandwidth_size":300, "bandwidth_name":"vpngw-bandwidth-18bd" }, "policy_template":{ "ike_policy":{ "encryption_algorithm":"aes-128", "dh_group":"group20", "authentication_algorithm":"sha2-256", "lifetime_seconds":86400 }, "ipsec_policy":{ "authentication_algorithm":"sha2-256", "encryption_algorithm":"aes-128", "pfs":"group20", "lifetime_seconds":3600 } }, "created_at":"2022-11-28T02:22:27.24Z", "updated_at":"2022-11-28T02:22:27.24Z", "access_vpc_id":"4d03fe2d--demo-a8df-va86-6def96440f2b", "access_subnet_id":"fd75bf7b--demo-a8df-va86-e-db13f03e299a" }], "request_id": "de1b6caf-d024-4dac-850e-645af40c84f3" } 根据enterprise_project_id查询VPN网关的响应。 { "vpn_gateways": [{ "id": "8e1d0686-demo-a8df-va86-91f32fa1dfc8", "name": "vpngw-1af3", "network_type": "public", "status": "ACTIVE", "attachment_type": "vpc", "vpc_id": "91a74241-demo-a8df-va86-9b5f98c66c8c", "local_subnets": ["192.168.15.0/24"], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": ["cn-south-1f", "cn-south-1e"], "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "7354dda9-demo-a8df-va86-a6b08fb92043", "eip1": { "id": "8ff5d6b5-demo-a8df-va86-b9d598033153", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.111", "charge_mode": "bandwidth", "bandwidth_id": "aa62f8f2-demo-a8df-va86-b05b2b999715", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-13a3" }, "eip2": { "id": "08e7e927-demo-a8df-va86-26a6394021eb", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.199", "charge_mode": "bandwidth", "bandwidth_id": "887d61f7-demo-a8df-va86-38ee8232e27c", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1afb" }, "created_at": "2022-11-28T02:36:16.834Z", "updated_at": "2022-11-28T02:36:16.834Z", "access_vpc_id": "91a74241-demo-a8df-va86-9b5f98c66c8c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" }, { "id": "66ddeacb-demo-a8df-va86-9a414b5bd7d5", "name": "vpngw-2be4", "network_type": "private", "status": "ACTIVE", "attachment_type": "er", "er_id": "c62fad0d-demo-a8df-va86-e06c4c351b9f", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": ["cn-south-1f", "cn-south-1e"], "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "7354dda9-demo-a8df-va86-a6b08fb92043", "access_private_ip_1": "192.168.4.7", "access_private_ip_2": "192.168.4.99", "created_at": "2022-11-28T02:22:27.24Z", "updated_at": "2022-11-28T02:22:27.24Z", "access_vpc_id": "0cf79a3f-demo-a8df-va86-d7ace626b0fa", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" },{ "id":"66ddeacb-demo-a8df-va86-9a414b5bd7d5", "name":"vpngw-5bd6", "network_type":"public", "status":"ACTIVE", "attachment_type":"vpc", "vpc_id":"c62fad0d-demo-a8df-va86-e06c4c351b9f", "local_subnets":[ "192.168.0.0/24" ], "connect_subnet":"fd75bf7b--demo-a8df-va86-db13f03e299a", "bgp_asn":64512, "flavor":"Professional1-NonFixedIP", "availability_zone_ids":[ "cn-north-7c" ], "connection_number":200, "used_connection_number":0, "used_connection_group":0, "enterprise_project_id":"0", "ha_mode":"active-standby", "eip1":{ "id":"0f6d1415-demo-a8df-va86-edb2ee97c9cc", "ip_version":4, "type":"5_bgp", "ip_address":"88.***.***.251", "charge_mode":"bandwidth", "bandwidth_id":"e93767cc-demo-a8df-va86-bac2987f90a4", "bandwidth_size":300, "bandwidth_name":"vpngw-bandwidth-10c3" }, "eip2":{ "id":"7b46b62f-demo-a8df-va86-6b8e44312416", "ip_version":4, "type":"5_bgp", "ip_address":"88.***.***.102", "charge_mode":"bandwidth", "bandwidth_id":"bde3557e-demo-a8df-va86-629a3754ae07", "bandwidth_size":300, "bandwidth_name":"vpngw-bandwidth-18bd" }, "policy_template":{ "ike_policy":{ "encryption_algorithm":"aes-128", "dh_group":"group20", "authentication_algorithm":"sha2-256", "lifetime_seconds":86400 }, "ipsec_policy":{ "authentication_algorithm":"sha2-256", "encryption_algorithm":"aes-128", "pfs":"group20", "lifetime_seconds":3600 } }, "created_at":"2022-11-28T02:22:27.24Z", "updated_at":"2022-11-28T02:22:27.24Z", "access_vpc_id":"4d03fe2d--demo-a8df-va86-6def96440f2b", "access_subnet_id":"fd75bf7b--demo-a8df-va86-e-db13f03e299a" }], "request_id": "bfa819a1-e824-4799-8e72-21a35dad97c9" }
  • 响应消息 响应参数 返回状态码为 200: 查询成功。 表2 响应Body参数列表 名称 类型 描述 quotas Quotas object quotas对象。 request_id String 请求ID。 表3 Quotas 名称 类型 描述 resources Array of QuotaInfo objects resources对象。 表4 QuotaInfo 名称 类型 描述 type String 功能说明:根据type过滤查询指定类型的配额。 取值范围: customer_gateway 对端网关。 vpn_connection 企业版VPN连接。 vpn_gateway 企业版VPN网关。 quota Integer 配额上限。 used Integer 已使用数。 响应样例 { "quotas": { "resources": [ { "type": "customer_gateway", "quota": 100, "used": 13 }, { "type": "vpn_connection", "quota": 5000, "used": 306 }, { "type": "vpn_gateway", "quota": 50, "used": 23 }, { "type": "vpngw", "quota": 5, "used": 4 }, { "type": "vpn", "quota": 30, "used": 4 } ] }, "request_id": "9aeb7f73-e1b6-42eb-96ad-b68aef8186e3" }
  • 认证鉴权 调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。 Token认证:通过Token认证调用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。 Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 云服务存在两种部署方式:项目级服务和全局级服务。 项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为project。 全局级服务需要获取全局级别的Token,此时请求body中auth.scope的取值为domain。 调用虚拟专用网络API需要项目级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。 AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。 您还可以通过这个视频教程了解如何使用AK/SK认证:https://bbs.huaweicloud.com/videos/100697。 父主题: 如何调用API
  • 响应消息 响应参数 返回状态码为 201: successful operation。 表9 响应Body参数列表 名称 类型 描述 vpn_connection ResponseVpnConnection object vpn_connection对象。 request_id String 请求ID。 表10 ResponseVpnConnection 名称 类型 描述 id String 功能说明:VPN连接ID。 格式:36位UUID。 name String 功能说明:VPN连接名称,不填时会自动生成。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 vgw_id String 功能说明:VPN网关ID。 格式:36位UUID。 vgw_ip String 功能说明: VPN网关EIP的ID或接入私网IP。 格式:36位UUID或点分十进制IPv4地址(如192.168.45.7)。 style String 功能说明:连接模式。 取值范围: POLICY: 策略模式。 STATIC: 静态路由模式。 BGP: bgp路由模式。 cgw_id String 功能说明:对端网关ID。 格式:36位UUID。 peer_subnets Array of String 对端子网。当VPN网关的关联模式为ER并且style字段为BGP或POLICY时不返回。 tunnel_local_address String 路由模式下配置在VPN网关上的tunnel接口地址。仅当style为STATIC或BGP时有效。 tunnel_peer_address String 路由模式下配置在用户侧设备上的tunnel接口地址。仅当style为STATIC或BGP时有效。 enable_nqa Boolean 功能说明:开启NQA检测。仅当style为STATIC时返回。 取值范围:true,false。 policy_rules Array of PolicyRule objects 策略模式的策略规则组。仅当style为POLICY时返回实际的策略规则组。 ikepolicy IkePolicy object ike策略对象。 ipsecpolicy IpsecPolicy object ipsec策略对象。 created_at String 创建时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 updated_at String 最后一次更新时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 enterprise_project_id String 功能说明:企业项目ID。 格式:36位UUID。与vgw_id所标识VPN网关的企业项目ID一致。 ha_role String 功能说明:主备模式VPN网关下的连接时,'master'表示主连接,'slave'表示备连接。双活模式下的连接ha_role都是'master'。 默认值:master。 tags Array of VpnResourceTag objects 标签列表。 表11 PolicyRule 名称 类型 描述 rule_index Integer 功能说明:规则ID。 取值范围:0-50。 source String 源地址网段。 destination Array of String 目的地址网段。单个网段格式示例:192.168.52.0/24。每个PolicyRule最多返回50个。 表12 IkePolicy 名称 类型 描述 ike_version String 功能说明:IKE版本号。 取值范围:v1, v2。 phase1_negotiation_mode String 功能说明:协商模式。仅当IKE版本为v1时返回。 取值范围: main:主模式,协商过程安全性高。 aggressive:野蛮模式,协商快速且协商成功率高。 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256,sha1,md5,sm3。 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128,3des,sm4。 dh_group String 功能说明:第一阶段密钥交换使用的DH组,当VPN网关flavor为GM时不返回。 取值范围:group1,group2,group5,group14,group15,group16,group19,group20,group21。 authentication_method String 功能说明:ike协商时的认证方法。 取值范围: pre-share:预共享密钥。 digital-envelope-v2:国密数字信封。 lifetime_seconds Integer 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。 取值范围:60-604800,单位:秒。 local_id_type String 功能说明:本端ID类型,当VPN网关flavor为GM时不返回。 取值范围:ip,fqdn。 local_id String 本端ID。当local_id_type为ip时返回VPN连接所使用的网关IP;当local_id_type为fqdn时返回创建或更新VPN连接时指定的本端ID。 当VPN网关flavor为GM时不返回。 peer_id_type String 功能说明:对端ID类型,当VPN网关flavor为GM时不返回。 取值范围:ip,fqdn。 peer_id String 对端ID。当peer_id_type为ip时返回对端网关的IP;当peer_id_type为fqdn时返回创建或更新VPN连接时指定的对端ID。 当VPN网关flavor为GM时不返回。 dpd Dpd object 对等体存活检测对象。 表13 Dpd 名称 类型 描述 timeout Integer 功能说明:对等体存活检测报文重传间隔。 取值范围:2-60,单位:秒。 interval Integer 功能说明:对等体存活检测空闲时间。 取值范围:10-3600,单位:秒。 msg String 功能说明:对等体存活检测报文格式。 取值范围: seq-hash-notify:指定DPD报文中的载荷顺序是hash-notify。 seq-notify-hash:指定DPD报文中的载荷顺序是notify-hash。 表14 IpsecPolicy 名称 类型 描述 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256,sha1,md5,sm3。 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128,3des,sm4。 pfs String 功能说明:PFS使用的DH密钥组,当VPN网关flavor为GM时不返回。 取值范围:group1,group2,group5,group14,group15,group16,group19,group20,group21,disable。 transform_protocol String 功能说明:传输协议。 取值范围: esp:封装安全协议。 lifetime_seconds Integer 功能说明:表示配置IPSec连接建立的隧道以时间为基准的生存周期。 取值范围:30-604800,单位:秒。 encapsulation_mode String 功能说明:报文封装模式。 取值范围: tunnel:隧道模式。 表15 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 创建静态路由模式连接的响应。 { "vpn_connection": { "id": "98c5af8a-6ee2-4482-99a2-ae2280a6f4c3", "name": "vpn-b2cb", "vgw_id": "b32d91a4-demo-a8df-va86-e907174eb11d", "vgw_ip": "0c464dad-demo-a8df-va86-c22bb0eb0bde", "style": "STATIC", "cgw_id": "5247ae10-demo-a8df-va86-dd36659a7f5d", "peer_subnets": ["192.168.44.0/24"], "tunnel_local_address": "169.254.56.225/30", "tunnel_peer_address": "169.254.56.226/30", "enable_nqa": false, "ikepolicy": { "ike_version": "v2", "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "dh_group": "group15", "authentication_method": "pre-share", "lifetime_seconds": 86400, "local_id_type": "ip", "local_id": "10.***.***.134", "peer_id_type": "ip", "peer_id": "88.***.***.164", "dpd": { "timeout": 15, "interval": 30, "msg": "seq-hash-notify" } }, "ipsecpolicy": { "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "pfs": "group15", "transform_protocol": "esp", "lifetime_seconds": 3600, "encapsulation_mode": "tunnel" }, "created_at": "2022-11-26T13:41:34.626Z", "updated_at": "2022-11-26T13:41:34.626Z", "enterprise_project_id": "0", "ha_role":"master" }, "request_id": "f91082d4-6d49-479c-ad1d-4e552a9f5cae" } 创建策略模式连接的响应。 { "vpn_connection": { "id": "98c5af8a-demo-a8df-va86-ae2280a6f4c3", "name": "vpn-799d", "vgw_id": "b32d91a4-demo-a8df-va86-e907174eb11d", "vgw_ip": "0c464dad-demo-a8df-va86-c22bb0eb0bde", "style": "POLICY", "cgw_id": "5247ae10-demo-a8df-va86-dd36659a7f5d", "peer_subnets": ["192.168.44.0/24"], "tunnel_local_address": "169.254.56.225/30", "tunnel_peer_address": "169.254.56.226/30", "policy_rules": [{ "rule_index": 1, "source": "10.0.0.0/24", "destination": [ "192.168.44.0/24" ] }], "ikepolicy": { "ike_version": "v2", "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "dh_group": "group15", "authentication_method": "pre-share", "lifetime_seconds": 86400, "local_id_type": "ip", "local_id": "10.***.***.134", "peer_id_type": "ip", "peer_id": "88.***.***.164", "dpd": { "timeout": 15, "interval": 30, "msg": "seq-hash-notify" } }, "ipsecpolicy": { "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "pfs": "group15", "transform_protocol": "esp", "lifetime_seconds": 3600, "encapsulation_mode": "tunnel" }, "created_at": "2022-11-26T13:41:34.626Z", "updated_at": "2022-11-26T13:41:34.626Z", "enterprise_project_id": "0", "ha_role":"master" }, "request_id": "f91082d4-6d49-479c-ad1d-4e552a9f5cae" } 创建bgp路由模式连接的响应。 { "vpn_connection": { "id": "98c5af8a-demo-a8df-va86-ae2280a6f4c3", "name": "vpn-1655", "vgw_id": "b32d91a4-demo-a8df-va86-e907174eb11d", "vgw_ip": "0c464dad-demo-a8df-va86-c22bb0eb0bde", "style": "BGP", "cgw_id": "5247ae10-demo-a8df-va86-dd36659a7f5d", "peer_subnets": ["192.168.44.0/24"], "tunnel_local_address": "169.254.56.225/30", "tunnel_peer_address": "169.254.56.226/30", "ikepolicy": { "ike_version": "v2", "authentication_algorithm": "sha2-512", "encryption_algorithm": "aes-256", "dh_group": "group16", "authentication_method": "pre-share", "lifetime_seconds": 172800, "local_id_type": "fqdn", "local_id": "123***", "peer_id_type": "fqdn", "peer_id": "456***", "dpd": { "timeout": 30, "interval": 60, "msg": "seq-notify-hash" } }, "ipsecpolicy": { "authentication_algorithm": "sha2-512", "encryption_algorithm": "aes-256", "pfs": "group16", "transform_protocol": "esp", "lifetime_seconds": 7200, "encapsulation_mode": "tunnel" }, "created_at": "2022-11-26T13:41:34.626Z", "updated_at": "2022-11-26T13:41:34.626Z", "enterprise_project_id": "0", "ha_role":"master" }, "request_id": "f91082d4-6d49-479c-ad1d-4e552a9f5cae" }
  • 请求消息 请求参数 无。 请求样例 查询所有VPN连接监控。 GET https://{Endpoint}/v5/{project_id}/connection-monitors 根据vpn_connection_id查询VPN连接监控。 GET https://{Endpoint}/v5/{project_id}/connection-monitors?vpn_connection_id={vpn_connection_id}
  • 响应消息 响应参数 返回状态码为 200: 查询成功。 表3 响应Body参数列表 名称 类型 描述 connection_monitors Array of ConnectionMonitorInfo objects connection_monitor对象。 request_id String 请求ID。 表4 ConnectionMonitorInfo 名称 类型 描述 id String 功能说明:VPN连接监控ID。 格式:36位UUID。 status String 功能说明:VPN连接监控状态。 取值范围: ACTIVE:正常。 PENDING_CREATE:创建中。 PENDING_DELETE:删除中。 vpn_connection_id String 功能说明:VPN连接监控对应的VPN连接ID。 格式:36位UUID。 type String 功能说明:监控类型。 取值范围:gateway。 source_ip String VPN连接监控的源地址。 destination_ip String VPN连接监控的目的地址。 proto_type String 功能说明:nqa使用的协议类型。 取值范围:icmp。 响应样例 查询所有VPN连接监控的响应。 { "connection_monitors":[ { "id":"76f64229-demo-a8df-va86-3907e2815b6d", "status":"ACTIVE", "vpn_connection_id":"2342adf2-demo-a8df-va86-12aq511s0917", "type":"gateway", "source_ip":"88.***.***.60", "destination_ip":"88.***.***.32", "proto_type":"icmp" }, { "id":"85t53318-demo-a8df-va86-zq9312525f6t", "status":"ACTIVE", "vpn_connection_id":"cae286f2-demo-a8df-va86-e22416ca1220", "type":"gateway", "source_ip":"89.***.***.21", "destination_ip":"88.***.***.12", "proto_type":"icmp" } ], "request_id": "531f8b2c-ec55-45d8-90a3-ede922f7d63c" } 根据vpn_connection_id查询VPN连接监控的响应。 { "connection_monitors":[ { "id":"76f64229-demo-a8df-va86-3907e2815b6d", "status":"ACTIVE", "vpn_connection_id":"2342adf2-demo-a8df-va86-12aq511s0917", "type":"gateway", "source_ip":"88.***.***.60", "destination_ip":"88.***.***.32", "proto_type":"icmp" } ], "request_id": "05ab9b58-9b4c-4cee-8113-4b0f325f1dfc" }
  • URI GET /v5/{project_id}/connection-monitors 表1 参数说明 名称 类型 是否必选 说明 project_id String 是 项目ID,可以通过获取项目ID获取项目ID。 表2 请求Query参数列表 名称 类型 是否必选 描述 vpn_connection_id String 否 VPN连接Id。 enterprise_project_id Array 否 企业项目ID。
  • 响应消息 响应参数 返回状态码为 201: 创建成功。 表6 响应Body参数列表 名称 类型 描述 customer_gateway ResponseCustomerGateway object customer_gateway对象。 request_id String 请求id。 表7 ResponseCustomerGateway 名称 类型 描述 id String 功能说明:对端网关的ID。 格式:36位UUID。 name String 功能说明:对端网关名称,不填时会自动生成。 取值范围:1-64个字符,包括数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 id_type String 功能说明:对端网关标识类型。 取值范围:ip,fqdn。 id_value String 对端网关标识值。 bgp_asn Long 对端网关的BGP自治域编号。仅当id_type为ip时返回。 ca_certificate CaCertificate object 对端网关CA证书信息。仅当对端网关绑定CA证书时返回。 created_at String 创建时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 updated_at String 最后一次更新时间。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 tags Array of VpnResourceTag objects 标签列表。 表8 CaCertificate 名称 类型 描述 id String 证书ID。 serial_number String 证书序列号。 signature_algorithm String 签名算法。 issuer String 证书颁发者。 subject String 证书使用者。 expire_time String 证书过期时间。 is_updatable boolean 是否能更新证书内容。 表9 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 { "customer_gateway": { "id": "03c0aa3d-demo-a8df-va86-9d82473765d4", "name": "cgw-2abf", "id_type": "ip", "id_value": "10.***.***.21", "bgp_asn": 65000, "ca_certificate": { "serial_number": "14257156674311863338", "signature_algorithm": "SM3WITHSM2", "issuer": "C=CN,O=a0002,CN=XXX", "subject": "C=CN,O=a0002,CN=XXX", "expire_time": "2024-05-22T07:34:22Z", "is_updatable": true }, "created_at": "2021-12-21T16:49:28.108+08:00", "updated_at": "2021-12-21T16:49:28.108+08:00" }, "request_id": "7e0383bf-a7fb-461b-a926-baa8a795bf1a" }
  • 响应消息 响应参数 返回状态码为 201: successful operation。 表4 响应Body参数列表 名称 类型 描述 certificate VpnGatewayCertificateConfig object VPN网关证书对象。 request_id String 请求ID。 表5 VpnGatewayCertificateConfig 名称 类型 描述 id String 功能说明:VPN网关证书ID。 格式:36位UUID。 name String 功能说明:VPN网关证书名称。 取值范围:3-63个字符、支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 vgw_id String 功能说明:VPN网关ID。 格式:36位UUID。 issuer String 功能说明:国密签名证书颁发者。 取值范围:1-256个字符。 signature_algorithm String 功能说明:国密签名证书签名算法。 取值范围:1-64个字符。 certificate_serial_number String 功能说明:国密签名证书序列号。 取值范围:1-64个字符。 certificate_subject String 功能说明:签名证书使用者。 取值范围:1-256个字符。 certificate_expire_time String 功能说明:国密签名证书过期时间。 certificate_chain_serial_number String 功能说明:CA证书序列号。 取值范围:1-64个字符。 certificate_chain_subject String 功能说明:CA证书使用者。 取值范围:1-256个字符。 certificate_chain_expire_time String 功能说明:CA证书过期时间。 enc_certificate_serial_number String 功能说明:国密加密证书序列号。 取值范围:1-64个字符。 enc_certificate_subject String 功能说明:加密证书使用者。 取值范围:1-256个字符。 enc_certificate_expire_time String 功能说明:国密加密证书过期时间。 created_at String 功能说明:创建时间。 响应样例 { "certificate": { "id": "73f072d8-demo-a8df-va86-2a755d95636f", "name": "cert-dce7", "vgw_id": "c7f1d3e3-0476-4a71-95a7-3ce8cbb969de", "issuer": "C=CN,ST=Beijing,L=HaiDian,O=GMCert.org,CN=GMCert GM Root CA - 01", "signature_algorithm": "SM3WITHSM2", "certificate_serial_number": "16548506527294397241", "certificate_subject": "C=CN,ST=beijing,L=beijing,O=huawei,OU=vpn,CN=hwcloud-vpn", "certificate_expire_time": "2024-02-20T15:41:39+08:00", "certificate_chain_serial_number": "12369133709000538078", "certificate_chain_subject": "C=CN,ST=Beijing,L=HaiDian,O=GMCert.org,CN=GMCert GM Root CA - 01", "certificate_chain_expire_time": "2039-07-11T20:31:33+08:00", "enc_certificate_serial_number": "16548506527294397242", "enc_certificate_subject": "C=CN,ST=beijing,L=beijing,O=huawei,OU=vpn,CN=hwcloud-vpn", "enc_certificate_expire_time": "2024-02-20T15:43:26+08:00", "created_at": "2023-03-30T10:47:16.657+08:00" } }
  • 请求消息 请求参数 表2 CreateVpnGatewayCertificateRequestBody 名称 类型 是否必选 描述 certificate CreateVpnGatewayCertificateRequestBodyContent object 是 VPN网关证书对象。 表3 CreateVpnGatewayCertificateRequestBodyContent 名称 类型 是否必选 描述 name String 否 功能说明:VPN网关证书名称。 取值范围:3-63个字符、支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(英文句点)。 默认值:不填时会自动生成格式为vpngw-****的名称。例如:cert-a45b。 certificate String 是 功能说明:签名证书。 取值范围:1-4096个字符。 必须是国密型非CA证书。 private_key String 是 功能说明:国密签名证书私钥。 取值范围:1-4096个字符。 与签名证书的公钥匹配。 certificate_chain String 是 功能说明:CA证书内容。 取值范围:1-8192个字符。 必须是国密型CA证书。 enc_certificate String 是 功能说明:加密证书。 取值范围:1-4096个字符。 必须是国密型非CA证书。 enc_private_key String 是 功能说明:国密加密证书私钥。 取值范围:1-4096个字符。 与加密证书的公钥匹配。 请求样例 POST https://{Endpoint}/v5/{project_id}/vpn-gateways { "certificate": { "name": "cert-dce7", "certificate": "-----BEGIN CERTIFICATE-----******-----END CERTIFICATE-----", "private_key": "-----BEGIN EC PRIVATE KEY-----*******-----END EC PRIVATE KEY-----", "enc_certificate": "-----BEGIN CERTIFICATE-----********-----END CERTIFICATE-----", "enc_private_key": "-----BEGIN EC PRIVATE KEY-----********-----END EC PRIVATE KEY-----", "certificate_chain": "-----BEGIN CERTIFICATE-----******-----END CERTIFICATE-----" } }
  • 响应消息 响应参数 返回状态码为 200: 查询成功。 表2 响应Body参数列表 名称 类型 描述 tags Array of ResourceTag objects 资源标签列表。 表3 ResourceTag 名称 类型 描述 key String 标签的键。 value String 标签的值。 响应样例 { "tags":[ { "key":"key1", "value":"value1" } ] }
  • URI GET /v5/{project_id}/{resource_type}/{resource_id}/tags 表1 参数说明 名称 类型 是否必选 描述 project_id String 是 项目ID,可以通过获取项目ID获取项目ID。 resource_type String 是 功能说明:资源类型。 取值范围:vpn-gateway,customer-gateway,vpn-connection。 resource_id String 是 资源ID。
  • URI POST /v5/{project_id}/{resource_type}/resource-instances/count 表1 参数说明 名称 类型 是否必选 说明 project_id String 是 项目ID,可以通过获取项目ID获取项目ID。 resource_type String 是 功能说明:资源类型。 取值范围:vpn-gateway,customer-gateway,vpn-connection。
  • 请求消息 请求参数 表2 请求参数 名称 类型 是否必选 描述 without_any_tag Boolean 否 功能说明:该字段为true时查询所有不带标签的资源,此时忽略 “tags”字段。该字段为false或者未提供该参数时,该条件不生效,即返回所有资源或按"tags","matches"等条件过滤。 tags Array of Tag objects 否 功能说明:标签列表。 约束:最多填写20个。 matches Array of Match objects 否 功能说明:搜索字段,包含key和value。key为要匹配的字段,如resource_name等。value为匹配的值。key为固定字典值。 表3 Tag 名称 类型 是否必选 描述 key String 是 功能说明:标签的键。 取值范围:1-128个字符。 values Array of String 是 功能说明:标签的值列表。如果values为空列表,则表示any_value。value之间为或的关系。 取值范围:0-255个字符。 约束:最多填写20个。 表4 Match 名称 类型 是否必选 描述 key String 是 功能说明:匹配的键。 取值范围:resource_name。 value String 是 功能说明:匹配的值。 取值范围:0-255个字符。 请求样例 POST https://{Endpoint}/v5/{project_id}/{resource_type}/resource-instances/count { "tags": [{ "key": "key1", "values": [ "value1", "value2" ] }, { "key": "key2", "values": [ "value1", "value2" ] } ], "matches": [{ "key": "resource_name", "value": "resource1" }], "without_any_tag": "false" }
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点。接口的认证鉴权请参见认证鉴权章节。 响应示例如下,其中projects下的“id”即为项目ID。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 返回结果 状态码 请求发送以后,您会收到响应,其中包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求消息头,响应同样也有消息头,如“Content-type”。 对于获取用户Token接口,返回如图1所示的消息头,其中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。 图1 获取用户Token响应消息头 响应消息体(可选) 该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 1 2 3 4 5 6 7 8 9 10 11 12 { "token": { "expires_at": "2022-09-10T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-04", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 1 2 3 4 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。 父主题: 如何调用API
  • URI POST /v5/{project_id}/{resource_type}/{resource_id}/tags/delete 表1 参数说明 名称 类型 是否必选 描述 project_id String 是 项目ID,可以通过获取项目ID获取项目ID。 resource_type String 是 功能说明:资源类型。 取值范围:vpn-gateway,customer-gateway,vpn-connection。 resource_id String 是 资源ID。
  • 请求消息 请求参数 表2 请求参数 名称 类型 是否必选 描述 tags Array of ResourceTag objects 是 功能说明:标签列表。 约束:最多填写20个。 表3 ResourceTag 名称 类型 是否必选 描述 key String 是 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 否 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 请求样例 DELETE https://{Endpoint}/v5/{project_id}/{resource_type}/{resource_id}/tags/delete { "tags": [{ "key": "key1", "value": "value1" }] }
  • 响应消息 响应参数 返回状态码为 200: 查询成功。 表2 响应Body参数列表 名称 类型 描述 connection_monitor ConnectionMonitorInfo object connection_monitor对象。 request_id String 请求ID。 表3 ConnectionMonitorInfo 名称 类型 描述 id String 功能说明:VPN连接监控ID。 格式:36位UUID。 status String 功能说明:VPN连接监控状态。 取值范围: ACTIVE:正常。 PENDING_CREATE:创建中。 PENDING_DELETE:删除中。 vpn_connection_id String 功能说明:VPN连接监控对应的VPN连接ID。 格式:36位UUID。 type String 功能说明:监控类型。 取值范围:gateway。 source_ip String VPN连接监控的源地址。 destination_ip String VPN连接监控的目的地址。 proto_type String 功能说明:nqa使用的协议类型。 取值范围:icmp。 响应样例 { "connection_monitor": { "id": "76f64229-demo-a8df-va86-3907e2815b6d", "status": "ACTIVE", "vpn_connection_id": "cae286f2-demo-a8df-va86-e22416ca1220", "type": "gateway", "source_ip": "88.***.***.60", "destination_ip": "88.***.***.32", "proto_type": "icmp" }, "request_id": "6d212bc0-ecb1-457b-977b-5e815fce658d" }
  • 构造请求 本节介绍REST API请求的组成,并以调用IAM服务的获取用户Token来说明如何调用API,该API获取用户的Token,Token可以用于调用其他API时鉴权。 您还可以通过这个视频教程了解如何构造请求调用API:https://bbs.huaweicloud.com/videos/102987。 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。 请求方法 HTTP请求方法(也称为操作或动词),它告诉您服务正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见公共请求消息头。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc7************baa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type:application/json 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type:application/json { "auth":{ "identity":{ "methods":[ "password" ], "password":{ "user":{ "name":"username", "password":"********", "domain":{ "name":"domainname" } } } }, "scope":{ "project":{ "name":"xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。 父主题: 如何调用API
  • 响应消息 响应参数 返回状态码为 200: successful operation。 表7 响应Body参数列表 名称 类型 描述 vpn_gateway ResponseVpnGateway object vpn_gateway对象。 request_id String 请求ID。 表8 ResponseVpnGateway 名称 类型 描述 id String 功能说明:VPN网关ID。 格式:36位UUID。 name String 功能说明:VPN网关名称,不填时会自动生成。 取值范围:1-64个字符,包括数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。 network_type String 功能说明:VPN网关网络类型。 取值范围:public,private。 默认值:public。 attachment_type String 功能说明:关联模式。 取值范围:vpc,er。 certificate_id String 功能说明:证书ID。 格式:36位UUID。 er_id String VPN网关所连接的ER实例的ID。仅当attachment_type为er时返回。 vpc_id String 当attachment_type为vpc时,vpc_id是VPN网关关联的业务VPC的ID。 当attachment_type为er时,vpc_id是VPN网关的接入VPC的ID。 local_subnets Array of String 本端子网。本端子网是云上子网,该网段需要通过VPN与用户侧网络进行互通。单个网段格式示例:192.168.52.0/24。仅当attachment_type为vpc时返回。 connect_subnet String VPN网关所使用的VPC中的一个子网ID。 bgp_asn Long VPN网关的BGP自治域编号。 flavor String 功能说明:VPN网关的规格类型: 取值范围: Basic:最大转发带宽100Mbps。 Professional1:最大转发带宽300Mbps。 Professional1-NonFixedIP:最大转发带宽300Mbps。 Professional2:最大转发带宽1Gbps。 Professional2-NonFixedIP:最大转发带宽1Gbps。 GM:最大转发带宽500Mbps。 availability_zone_ids Array of String 部署VPN网关的可用区。当指定了可用区时则返回;当未指定可用区时,在VPN网关的状态为ACTIVE时返回。 connection_number Integer VPN网关下的最大VPN连接数。 used_connection_number Integer VPN网关下当前已经使用的VPN连接数。 used_connection_group Integer VPN网关下当前已经使用的VPN连接组个数。同一用户网关入云的两条连接组成一个连接组。VPN网关默认支持10个免费的VPN连接组。 enterprise_project_id String 功能说明:企业项目ID。 格式:36位UUID。创建时不传则返回"0",表示资源属于default企业项目。 注:"0"并不是真实存在的企业项目ID。 eip1 ResponseEip object 双活VPN网关表示使用的第一个EIP,主备VPN网关表示主EIP。在VPN网关的状态为ACTIVE时返回。 eip2 ResponseEip object 双活VPN网关表示使用的第二个EIP,主备VPN网关表示备EIP。在VPN网关的状态为ACTIVE时返回。 created_at String 创建时间。在VPN网关的状态为ACTIVE时返回。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 updated_at String 最后一次更新时间。在VPN网关的状态为ACTIVE时返回。 UTC时间格式:yyyy-MM-ddTHH:mm:ss。 非UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。 access_vpc_id String 功能说明:VPN网关使用的接入VPC ID。 格式:36位UUID。 access_subnet_id String 功能说明:VPN网关使用的接入VPC中的子网ID。 格式:36位UUID。 access_private_ip_1 String 私网类型VPN网关的接入私网IP,VPN网关使用该私网IP与对端网关建连。双活网关表示使用的第一个私网地址,主备表示主私网地址。 示例:192.168.52.9。仅当network_type为private时返回。 access_private_ip_2 String 私网类型VPN网关的接入私网IP,VPN网关使用该私网IP与对端网关建连。双活网关表示使用的第二个私网地址,主备表示备私网地址。 示例:192.168.52.9。仅当network_type为private时返回。 ha_mode String 功能说明:网关的HA模式,"active-active"表示双活,"active-standby"表示主备。 取值范围:active-active,active-standby。 policy_template PolicyTemplate object 非固定IP接入VPN网关的策略模板配置,只有在规格为非固定IP接入VPN网关时返回。 tags Array of VpnResourceTag objects 标签列表。 表9 ResponseEip 名称 类型 描述 id String 功能说明:EIP的ID。 格式:36位UUID。当使用默认企业项目时返回"0"。 ip_version Integer 功能说明:EIP版本。 取值范围:4。 ip_billing_info String 功能说明:EIP的订单信息。包年/包月EIP才会返回订单信息,按需计费的EIP不返回。 格式:order_id:product_id:region_id:project_id,如: CS22********LIBIV:00301-******-0--0:br-iaas-odin1:0605768a************c006c7e484aa。 type String 功能说明:EIP的类型。 取值范围:可查看申请EIP表6中type字段的取值范围。 ip_address String 功能说明:EIP的公网IPv4地址。 格式:ipv4类型地址。例如:88.***.***.11。 charge_mode String 功能说明:EIP的带宽计费模式。按流量计费或按带宽计费。 取值范围: bandwidth:按带宽计费。 traffic:按流量计费。 bandwidth_id String 功能说明:EIP的带宽ID。 格式:36位UUID。 bandwidth_size Integer 功能说明:EIP的带宽大小,单位:Mbit/s。每个region能够提供的EIP最大带宽不同,EIP的最大带宽受限于EIP服务,可以使用工单来提高账户下的EIP的最大带宽。 取值范围:1-1000,具体取值请参考弹性公网服务创建eip资料。 bandwidth_name String 功能说明:EIP的带宽名称。 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。 bandwidth_billing_info String 功能说明:EIP的带宽订单信息。包年/包月EIP带宽才会返回带宽订单信息,按需计费的EIP带宽不返回。 格式:order_id:product_id:region_id:project_id,如: CS22********LIBIV:00301-******-0--0:br-iaas-odin1:0605768a************c006c7e484aa。 表10 PolicyTemplate 名称 类型 描述 ike_policy IkePolicy object ike策略对象。 ipsec_policy IpsecPolicy object ipsec策略对象。 表11 IkePolicy 名称 类型 描述 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128。 dh_group String 功能说明:第一阶段密钥交换使用的DH组。 取值范围:group14,group15,group16,group19,group20,group21,disable。 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256。 lifetime_seconds Integer 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。 取值范围:60-604800,单位:秒。 表12 IpsecPolicy 名称 类型 描述 authentication_algorithm String 功能说明:认证算法。 取值范围:sha2-512,sha2-384,sha2-256。 encryption_algorithm String 功能说明:加密算法。 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128。 pfs String 功能说明:PFS使用的DH密钥组。 取值范围:group14,group15,group16,group19,group20,group21,disable。 lifetime_seconds Integer 功能说明:表示配置IPSec连接建立的隧道以时间为基准的生存周期。 取值范围:30-604800,单位:秒。 表13 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。 响应样例 更新固定IP接入VPN网关的响应。 { "vpn_gateway": { "id": "620d99b8-demo-a8df-va86-200b868f2d7d", "name": "vpngw-4321", "attachment_type": "vpc", "network_type": "public", "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "flavor": "Professional1", "availability_zone_ids": ["cn-south-1f", "cn-south-1e"], "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "eip1": { "id": "f1469b4a-demo-a8df-va86-bb7de91cf493", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.102", "charge_mode": "bandwidth", "bandwidth_id": "cff40e5e-demo-a8df-va86-7366077bf097", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1391" }, "eip2": { "id": "6ad8e297-demo-a8df-va86-da0f885ccb98", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.188", "charge_mode": "bandwidth", "bandwidth_id": "d290f1ee-demo-a8df-va86-d701748f0851", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1392" }, "created_at": "2022-09-15T08:56:09.386Z", "updated_at": "2022-09-15T11:13:13.677Z", "access_vpc_id": "0cf79a3f-demo-a8df-va86-d7ace626b0fa", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" }, "request_id": "33a2b77a-65f9-4fa0-90bd-4bd42038eb41" } 更新非固定IP接入VPN网关的响应。 { "vpn_gateway":{ "id":"620d99b8-demo-a8df-va86-200b868f2d7d", "name":"vpngw-4321", "attachment_type":"vpc", "network_type":"public", "vpc_id":"cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets":[ "192.168.0.0/24" ], "connect_subnet":"f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn":64512, "flavor":"Professional1", "availability_zone_ids":[ "cn-south-1f", "cn-south-1e" ], "connection_number":200, "used_connection_number":0, "used_connection_group":0, "enterprise_project_id":"0", "eip1":{ "id":"f1469b4a-demo-a8df-va86-bb7de91cf493", "ip_version":4, "type":"5_bgp", "ip_address":"88.***.***.102", "charge_mode":"bandwidth", "bandwidth_id":"cff40e5e-demo-a8df-va86-7366077bf097", "bandwidth_size":300, "bandwidth_name":"vpngw-bandwidth-1391" }, "eip2":{ "id":"6ad8e297-demo-a8df-va86-da0f885ccb98", "ip_version":4, "type":"5_bgp", "ip_address":"88.***.***.188", "charge_mode":"bandwidth", "bandwidth_id":"d290f1ee-demo-a8df-va86-d701748f0851", "bandwidth_size":300, "bandwidth_name":"vpngw-bandwidth-1392" }, "created_at":"2022-09-15T08:56:09.386Z", "updated_at":"2022-09-15T11:13:13.677Z", "access_vpc_id":"0cf79a3f-demo-a8df-va86-d7ace626b0fa", "access_subnet_id":"f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode":"active-active", "policy_template":{ "ike_policy":{ "authentication_algorithm":"sha2-256", "encryption_algorithm":"aes-128-gcm-16", "dh_group":"group21", "lifetime_seconds":86400 }, "ipsec_policy":{ "authentication_algorithm":"sha2-256", "encryption_algorithm":"aes-128-gcm-16", "pfs":"disable", "lifetime_seconds":3600 } } }, "request_id":"33a2b77a-65f9-4fa0-90bd-4bd42038eb41" } VPN状态为“创建中”,更新失败。 { "error_code":"VPN.0003", "error_msg":"resource (type=GATEWAY, ID=ff9bdca6-demo-a8df-va86-e4bcc1ea52bc) is not ready, currently CREATING", "request_id": "abafe41c-7744-41af-bf3d-4452872af799" }
共100000条