From 86d1d3abd4a6f0ca5828563c268d9ea374016d3c Mon Sep 17 00:00:00 2001 From: ChengXiangdong Date: Wed, 22 Mar 2023 14:57:52 +0800 Subject: [PATCH] Automatically add/remove the IP used for ELB health check to the security group --- ...-cloud-controller-manager-configuration.md | 6 + docs/usage-guide.md | 6 + .../huaweicloud/dedicatedloadbalancer.go | 18 +- pkg/cloudprovider/huaweicloud/huaweicloud.go | 198 +- .../huaweicloud/sharedloadbalancer.go | 22 +- pkg/cloudprovider/huaweicloud/wrapper/ecs.go | 10 + pkg/cloudprovider/huaweicloud/wrapper/vpc.go | 48 + test/e2e/dedicated_loadbalancer_test.go | 2 +- test/e2e/shared_loadbalancer_test.go | 6 +- .../model/model_accept_vpc_peering_request.go | 23 + .../model_accept_vpc_peering_response.go | 99 + .../v2/model/model_allowed_address_pair.go | 26 + .../vpc/v2/model/model_asscoiate_req.go | 21 + ...el_associate_route_table_and_subnet_req.go | 26 + .../model_associate_route_table_request.go | 25 + .../model_associate_route_table_response.go | 22 + .../model_batch_create_subnet_tags_request.go | 25 + ...l_batch_create_subnet_tags_request_body.go | 67 + ...model_batch_create_subnet_tags_response.go | 21 + .../model_batch_create_vpc_tags_request.go | 25 + ...odel_batch_create_vpc_tags_request_body.go | 67 + .../model_batch_create_vpc_tags_response.go | 21 + .../model_batch_delete_subnet_tags_request.go | 25 + ...l_batch_delete_subnet_tags_request_body.go | 67 + ...model_batch_delete_subnet_tags_response.go | 21 + .../model_batch_delete_vpc_tags_request.go | 25 + ...odel_batch_delete_vpc_tags_request_body.go | 67 + .../model_batch_delete_vpc_tags_response.go | 21 + .../vpc/v2/model/model_binding_vif_details.go | 29 + .../vpc/v2/model/model_create_port_option.go | 47 + .../vpc/v2/model/model_create_port_request.go | 21 + .../model/model_create_port_request_body.go | 21 + .../v2/model/model_create_port_response.go | 22 + .../v2/model/model_create_privateip_option.go | 26 + .../model/model_create_privateip_request.go | 21 + .../model_create_privateip_request_body.go | 23 + .../model/model_create_privateip_response.go | 24 + .../v2/model/model_create_route_table_req.go | 32 + .../model/model_create_route_table_request.go | 21 + .../model_create_route_table_response.go | 22 + .../model/model_create_routetable_req_body.go | 21 + .../model_create_security_group_option.go | 29 + .../model_create_security_group_request.go | 21 + ...odel_create_security_group_request_body.go | 21 + .../model_create_security_group_response.go | 22 + ...model_create_security_group_rule_option.go | 47 + ...odel_create_security_group_rule_request.go | 21 + ...create_security_group_rule_request_body.go | 21 + ...del_create_security_group_rule_response.go | 22 + .../v2/model/model_create_subnet_option.go | 56 + .../v2/model/model_create_subnet_request.go | 21 + .../model/model_create_subnet_request_body.go | 21 + .../v2/model/model_create_subnet_response.go | 22 + .../model/model_create_subnet_tag_request.go | 25 + .../model_create_subnet_tag_request_body.go | 21 + .../model/model_create_subnet_tag_response.go | 21 + .../vpc/v2/model/model_create_vpc_option.go | 32 + .../model/model_create_vpc_peering_option.go | 27 + .../model/model_create_vpc_peering_request.go | 21 + .../model_create_vpc_peering_request_body.go | 21 + .../model_create_vpc_peering_response.go | 22 + .../vpc/v2/model/model_create_vpc_request.go | 21 + .../v2/model/model_create_vpc_request_body.go | 21 + .../model_create_vpc_resource_tag_request.go | 25 + ...el_create_vpc_resource_tag_request_body.go | 21 + .../model_create_vpc_resource_tag_response.go | 21 + .../vpc/v2/model/model_create_vpc_response.go | 22 + .../v2/model/model_create_vpc_route_option.go | 73 + .../model/model_create_vpc_route_request.go | 21 + .../model_create_vpc_route_request_body.go | 21 + .../model/model_create_vpc_route_response.go | 22 + .../vpc/v2/model/model_delete_port_request.go | 23 + .../v2/model/model_delete_port_response.go | 21 + .../model/model_delete_privateip_request.go | 23 + .../model/model_delete_privateip_response.go | 21 + .../model/model_delete_route_table_request.go | 23 + .../model_delete_route_table_response.go | 21 + .../model_delete_security_group_request.go | 23 + .../model_delete_security_group_response.go | 21 + ...odel_delete_security_group_rule_request.go | 23 + ...del_delete_security_group_rule_response.go | 21 + .../v2/model/model_delete_subnet_request.go | 26 + .../v2/model/model_delete_subnet_response.go | 21 + .../model/model_delete_subnet_tag_request.go | 26 + .../model/model_delete_subnet_tag_response.go | 21 + .../model/model_delete_vpc_peering_request.go | 23 + .../model_delete_vpc_peering_response.go | 21 + .../vpc/v2/model/model_delete_vpc_request.go | 23 + .../vpc/v2/model/model_delete_vpc_response.go | 21 + .../model/model_delete_vpc_route_request.go | 23 + .../model/model_delete_vpc_route_response.go | 21 + .../v2/model/model_delete_vpc_tag_request.go | 26 + .../v2/model/model_delete_vpc_tag_response.go | 21 + .../model_disassociate_route_table_request.go | 25 + ...model_disassociate_route_table_response.go | 22 + .../vpc/v2/model/model_dns_assign_ment.go | 29 + .../vpc/v2/model/model_extra_dhcp_opt.go | 26 + .../vpc/v2/model/model_extra_dhcp_option.go | 71 + .../services/vpc/v2/model/model_fixed_ip.go | 26 + .../vpc/v2/model/model_list_ports_request.go | 155 ++ .../vpc/v2/model/model_list_ports_response.go | 24 + .../v2/model/model_list_privateips_request.go | 29 + .../model/model_list_privateips_response.go | 24 + .../vpc/v2/model/model_list_resource_resp.go | 32 + .../model/model_list_route_tables_request.go | 35 + .../model/model_list_route_tables_response.go | 24 + ...model_list_security_group_rules_request.go | 29 + ...odel_list_security_group_rules_response.go | 24 + .../model_list_security_groups_request.go | 32 + .../model_list_security_groups_response.go | 24 + .../model/model_list_subnet_tags_request.go | 20 + .../model/model_list_subnet_tags_response.go | 24 + .../model_list_subnets_by_tags_request.go | 21 + ...model_list_subnets_by_tags_request_body.go | 80 + .../model_list_subnets_by_tags_response.go | 27 + .../v2/model/model_list_subnets_request.go | 29 + .../v2/model/model_list_subnets_response.go | 24 + .../services/vpc/v2/model/model_list_tag.go | 26 + .../model/model_list_vpc_peerings_request.go | 98 + .../model/model_list_vpc_peerings_response.go | 27 + .../v2/model/model_list_vpc_routes_request.go | 82 + .../model/model_list_vpc_routes_response.go | 27 + .../v2/model/model_list_vpc_tags_request.go | 20 + .../v2/model/model_list_vpc_tags_response.go | 24 + .../model/model_list_vpcs_by_tags_request.go | 21 + .../model_list_vpcs_by_tags_request_body.go | 80 + .../model/model_list_vpcs_by_tags_response.go | 27 + .../vpc/v2/model/model_list_vpcs_request.go | 32 + .../vpc/v2/model/model_list_vpcs_response.go | 24 + .../services/vpc/v2/model/model_match.go | 26 + .../v2/model/model_network_ip_availability.go | 38 + ...model_neutron_add_firewall_rule_request.go | 25 + ...odel_neutron_add_firewall_rule_response.go | 45 + ...el_neutron_create_firewall_group_option.go | 38 + ...l_neutron_create_firewall_group_request.go | 21 + ...tron_create_firewall_group_request_body.go | 21 + ..._neutron_create_firewall_group_response.go | 22 + ...l_neutron_create_firewall_policy_option.go | 32 + ..._neutron_create_firewall_policy_request.go | 21 + ...ron_create_firewall_policy_request_body.go | 21 + ...neutron_create_firewall_policy_response.go | 22 + ...del_neutron_create_firewall_rule_option.go | 95 + ...el_neutron_create_firewall_rule_request.go | 21 + ...utron_create_firewall_rule_request_body.go | 21 + ...l_neutron_create_firewall_rule_response.go | 22 + ...el_neutron_create_security_group_option.go | 26 + ...l_neutron_create_security_group_request.go | 21 + ...tron_create_security_group_request_body.go | 21 + ..._neutron_create_security_group_response.go | 22 + ...utron_create_security_group_rule_option.go | 134 ++ ...tron_create_security_group_rule_request.go | 21 + ...create_security_group_rule_request_body.go | 21 + ...ron_create_security_group_rule_response.go | 22 + ...l_neutron_delete_firewall_group_request.go | 23 + ..._neutron_delete_firewall_group_response.go | 21 + ..._neutron_delete_firewall_policy_request.go | 23 + ...neutron_delete_firewall_policy_response.go | 21 + ...el_neutron_delete_firewall_rule_request.go | 23 + ...l_neutron_delete_firewall_rule_response.go | 21 + ...l_neutron_delete_security_group_request.go | 23 + ..._neutron_delete_security_group_response.go | 21 + ...tron_delete_security_group_rule_request.go | 23 + ...ron_delete_security_group_rule_response.go | 21 + .../v2/model/model_neutron_firewall_group.go | 60 + .../v2/model/model_neutron_firewall_policy.go | 44 + .../v2/model/model_neutron_firewall_rule.go | 107 + ...utron_insert_firewall_rule_request_body.go | 29 + ...el_neutron_list_firewall_groups_request.go | 41 + ...l_neutron_list_firewall_groups_response.go | 27 + ..._neutron_list_firewall_policies_request.go | 38 + ...neutron_list_firewall_policies_response.go | 27 + ...del_neutron_list_firewall_rules_request.go | 41 + ...el_neutron_list_firewall_rules_response.go | 27 + ...utron_list_security_group_rules_request.go | 59 + ...tron_list_security_group_rules_response.go | 27 + ...el_neutron_list_security_groups_request.go | 38 + ...l_neutron_list_security_groups_response.go | 27 + .../vpc/v2/model/model_neutron_page_link.go | 26 + ...el_neutron_remove_firewall_rule_request.go | 25 + ...utron_remove_firewall_rule_request_body.go | 23 + ...l_neutron_remove_firewall_rule_response.go | 45 + .../v2/model/model_neutron_security_group.go | 45 + .../model_neutron_security_group_rule.go | 109 + ...del_neutron_show_firewall_group_request.go | 23 + ...el_neutron_show_firewall_group_response.go | 22 + ...el_neutron_show_firewall_policy_request.go | 23 + ...l_neutron_show_firewall_policy_response.go | 22 + ...odel_neutron_show_firewall_rule_request.go | 23 + ...del_neutron_show_firewall_rule_response.go | 22 + ...del_neutron_show_security_group_request.go | 23 + ...el_neutron_show_security_group_response.go | 22 + ...eutron_show_security_group_rule_request.go | 23 + ...utron_show_security_group_rule_response.go | 22 + ...el_neutron_update_firewall_group_option.go | 38 + ...l_neutron_update_firewall_group_request.go | 25 + ...tron_update_firewall_group_request_body.go | 21 + ..._neutron_update_firewall_group_response.go | 22 + ...l_neutron_update_firewall_policy_option.go | 32 + ..._neutron_update_firewall_policy_request.go | 25 + ...ron_update_firewall_policy_request_body.go | 21 + ...neutron_update_firewall_policy_response.go | 22 + ...del_neutron_update_firewall_rule_option.go | 95 + ...el_neutron_update_firewall_rule_request.go | 25 + ...utron_update_firewall_rule_request_body.go | 21 + ...l_neutron_update_firewall_rule_response.go | 22 + ...el_neutron_update_security_group_option.go | 26 + ...l_neutron_update_security_group_request.go | 25 + ...tron_update_security_group_request_body.go | 21 + ..._neutron_update_security_group_response.go | 22 + .../services/vpc/v2/model/model_port.go | 184 ++ .../services/vpc/v2/model/model_privateip.go | 129 ++ .../services/vpc/v2/model/model_quota.go | 23 + .../model/model_reject_vpc_peering_request.go | 23 + .../model_reject_vpc_peering_response.go | 99 + .../vpc/v2/model/model_resource_result.go | 137 ++ .../vpc/v2/model/model_resource_tag.go | 26 + .../services/vpc/v2/model/model_route.go | 26 + .../v2/model/model_route_table_list_resp.go | 41 + .../vpc/v2/model/model_route_table_resp.go | 44 + .../vpc/v2/model/model_route_table_route.go | 32 + .../model_routetable_associate_reqbody.go | 21 + .../vpc/v2/model/model_security_group.go | 38 + .../vpc/v2/model/model_security_group_rule.go | 56 + ..._show_network_ip_availabilities_request.go | 23 + ...show_network_ip_availabilities_response.go | 22 + .../vpc/v2/model/model_show_port_request.go | 23 + .../vpc/v2/model/model_show_port_response.go | 22 + .../v2/model/model_show_privateip_request.go | 23 + .../v2/model/model_show_privateip_response.go | 22 + .../vpc/v2/model/model_show_quota_request.go | 128 ++ .../vpc/v2/model/model_show_quota_response.go | 22 + .../model/model_show_route_table_request.go | 23 + .../model/model_show_route_table_response.go | 22 + .../model_show_security_group_request.go | 23 + .../model_show_security_group_response.go | 22 + .../model_show_security_group_rule_request.go | 23 + ...model_show_security_group_rule_response.go | 22 + .../vpc/v2/model/model_show_subnet_request.go | 23 + .../v2/model/model_show_subnet_response.go | 22 + .../model/model_show_subnet_tags_request.go | 23 + .../model/model_show_subnet_tags_response.go | 24 + .../model/model_show_vpc_peering_request.go | 23 + .../model/model_show_vpc_peering_response.go | 22 + .../vpc/v2/model/model_show_vpc_request.go | 23 + .../vpc/v2/model/model_show_vpc_response.go | 22 + .../v2/model/model_show_vpc_route_request.go | 23 + .../v2/model/model_show_vpc_route_response.go | 22 + .../v2/model/model_show_vpc_tags_request.go | 23 + .../v2/model/model_show_vpc_tags_response.go | 24 + .../services/vpc/v2/model/model_subnet.go | 129 ++ .../v2/model/model_subnet_ip_availability.go | 38 + .../vpc/v2/model/model_subnet_list.go | 23 + .../vpc/v2/model/model_subnet_result.go | 75 + .../vpc/v2/model/model_update_port_option.go | 32 + .../vpc/v2/model/model_update_port_request.go | 25 + .../model/model_update_port_request_body.go | 21 + .../v2/model/model_update_port_response.go | 22 + .../v2/model/model_update_route_table_req.go | 29 + .../model/model_update_route_table_request.go | 25 + .../model_update_route_table_response.go | 22 + .../model/model_update_routetable_req_body.go | 21 + .../v2/model/model_update_subnet_option.go | 44 + .../v2/model/model_update_subnet_request.go | 28 + .../model/model_update_subnet_request_body.go | 21 + .../v2/model/model_update_subnet_response.go | 22 + .../vpc/v2/model/model_update_vpc_option.go | 32 + .../model/model_update_vpc_peering_option.go | 26 + .../model/model_update_vpc_peering_request.go | 25 + .../model_update_vpc_peering_request_body.go | 21 + .../model_update_vpc_peering_response.go | 22 + .../vpc/v2/model/model_update_vpc_request.go | 25 + .../v2/model/model_update_vpc_request_body.go | 21 + .../vpc/v2/model/model_update_vpc_response.go | 22 + .../services/vpc/v2/model/model_vpc.go | 90 + .../services/vpc/v2/model/model_vpc_info.go | 26 + .../vpc/v2/model/model_vpc_peering.go | 98 + .../services/vpc/v2/model/model_vpc_route.go | 79 + .../services/vpc/v2/vpc_client.go | 1863 +++++++++++++++++ .../services/vpc/v2/vpc_invoker.go | 1050 ++++++++++ .../services/vpc/v2/vpc_meta.go | 1759 ++++++++++++++++ vendor/modules.txt | 2 + 281 files changed, 13794 insertions(+), 28 deletions(-) create mode 100644 pkg/cloudprovider/huaweicloud/wrapper/vpc.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_allowed_address_pair.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_asscoiate_req.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_and_subnet_req.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_binding_vif_details.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_req.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_routetable_req_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_dns_assign_ment.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_opt.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_fixed_ip.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_resource_resp.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_tag.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_match.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_network_ip_availability.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_group.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_policy.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_rule.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_insert_firewall_rule_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_page_link.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group_rule.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_port.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_privateip.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_quota.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_result.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_tag.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_list_resp.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_resp.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_route.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_routetable_associate_reqbody.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group_rule.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_ip_availability.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_list.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_result.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_req.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_routetable_req_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_option.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request_body.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_response.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_info.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_peering.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_route.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_client.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_invoker.go create mode 100644 vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_meta.go diff --git a/docs/huawei-cloud-controller-manager-configuration.md b/docs/huawei-cloud-controller-manager-configuration.md index 58066ac4f..49fa994d1 100644 --- a/docs/huawei-cloud-controller-manager-configuration.md +++ b/docs/huawei-cloud-controller-manager-configuration.md @@ -161,6 +161,12 @@ The following arguments are supported: * `health-check-flag` Specifies whether to enable health check for a backend server group. Valid values are `on` and `off`, defaults to `on`. + > When health check is enabled, CCM will add a new inbound rule to one of the security groups of the backend service, + allowing traffic from `100.125.0.0/16`. + This rule will be removed when all LoadBalance services are removed. + > + > `100.125.0.0/16` are internal IP addresses used by ELB to check the health of backend servers. + * `health-check-option` Specifies the health check. This parameter is mandatory when the `health-check` is `on`. diff --git a/docs/usage-guide.md b/docs/usage-guide.md index 583bffa3e..036d904c9 100644 --- a/docs/usage-guide.md +++ b/docs/usage-guide.md @@ -120,6 +120,12 @@ will be used, otherwise use the set value. * `kubernetes.io/elb.health-check-flag` Optional. Specifies whether to enable health check for a backend server group. Valid values are `on` and `off`, defaults to `on`. + > When health check is enabled, CCM will add a new inbound rule to one of the security groups of the backend service, + allowing traffic from `100.125.0.0/16`. + This rule will be removed when all LoadBalance services are removed. + > + > `100.125.0.0/16` are internal IP addresses used by ELB to check the health of backend servers. + * `kubernetes.io/elb.health-check-option` Optional. Specifies the health check. This parameter is mandatory when the `health-check` is `on`. This is a json string, such as `{"delay": 3, "timeout": 15, "max_retries": 3}`. diff --git a/pkg/cloudprovider/huaweicloud/dedicatedloadbalancer.go b/pkg/cloudprovider/huaweicloud/dedicatedloadbalancer.go index a20a99df6..30e119323 100644 --- a/pkg/cloudprovider/huaweicloud/dedicatedloadbalancer.go +++ b/pkg/cloudprovider/huaweicloud/dedicatedloadbalancer.go @@ -177,7 +177,7 @@ func (d *DedicatedLoadBalancer) EnsureLoadBalancer(ctx context.Context, clusterN } // add or remove health monitor - if err = d.addOrRemoveHealthMonitor(loadbalancer.Id, pool, port, service); err != nil { + if err = d.ensureHealthCheck(loadbalancer.Id, pool, port, service, nodes[0]); err != nil { return nil, err } } @@ -672,11 +672,19 @@ func (d *DedicatedLoadBalancer) getSessionAffinity(service *v1.Service) *elbmode } } -func (d *DedicatedLoadBalancer) addOrRemoveHealthMonitor(loadbalancerID string, pool *elbmodel.Pool, - port v1.ServicePort, service *v1.Service) error { +// ensureHealthCheck add or update or remove health check +func (d *DedicatedLoadBalancer) ensureHealthCheck(loadbalancerID string, pool *elbmodel.Pool, + port v1.ServicePort, service *v1.Service, node *v1.Node) error { healthCheckOpts := getHealthCheckOptionFromAnnotation(service, d.loadbalancerOpts) monitorID := pool.HealthmonitorId - klog.Infof("add or remove health check: %s : %#v", monitorID, healthCheckOpts) + klog.Infof("add or update or remove health check: %s : %#v", monitorID, healthCheckOpts) + + if healthCheckOpts.Enable { + err := d.allowHealthCheckRule(node) + if err != nil { + return err + } + } // create health monitor if monitorID == "" && healthCheckOpts.Enable { @@ -775,7 +783,7 @@ func (d *DedicatedLoadBalancer) UpdateLoadBalancer(ctx context.Context, clusterN } // add or remove health monitor - if err = d.addOrRemoveHealthMonitor(loadbalancer.Id, pool, port, service); err != nil { + if err = d.ensureHealthCheck(loadbalancer.Id, pool, port, service, nodes[0]); err != nil { return err } } diff --git a/pkg/cloudprovider/huaweicloud/huaweicloud.go b/pkg/cloudprovider/huaweicloud/huaweicloud.go index a4f86379a..71d2a624d 100644 --- a/pkg/cloudprovider/huaweicloud/huaweicloud.go +++ b/pkg/cloudprovider/huaweicloud/huaweicloud.go @@ -21,9 +21,11 @@ import ( "fmt" "io" "os" + "sync" "time" ecsmodel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model" + vpcmodel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "k8s.io/api/core/v1" @@ -43,6 +45,7 @@ import ( "k8s.io/cloud-provider" "k8s.io/cloud-provider/options" "k8s.io/klog/v2" + "k8s.io/utils/pointer" "sigs.k8s.io/cloud-provider-huaweicloud/pkg/cloudprovider/huaweicloud/wrapper" "sigs.k8s.io/cloud-provider-huaweicloud/pkg/config" @@ -96,11 +99,15 @@ const ( ProtocolHTTP = "HTTP" ProtocolHTTPS = "HTTPS" ProtocolTerminatedHTTPS = "TERMINATED_HTTPS" + + healthCheckCidr = "100.125.0.0/16" ) type ELBProtocol string type ELBAlgorithm string +var healthCheckCidrOptLock = &sync.Mutex{} + type Basic struct { cloudControllerManagerOpts *options.CloudControllerManagerOptions cloudConfig *config.CloudConfig @@ -114,6 +121,7 @@ type Basic struct { dedicatedELBClient *wrapper.DedicatedLoadBalanceClient eipClient *wrapper.EIpClient ecsClient *wrapper.EcsClient + vpcClient *wrapper.VpcClient restConfig *rest.Config kubeClient *corev1.CoreV1Client @@ -171,6 +179,99 @@ func (b Basic) getNodeSubnetID(node *v1.Node) (string, error) { return "", fmt.Errorf("failed to get node subnet ID") } +func (b Basic) allowHealthCheckRule(node *v1.Node) error { + // Avoid adding security group rules in parallel. + healthCheckCidrOptLock.Lock() + defer func() { + healthCheckCidrOptLock.Unlock() + }() + + instance, err := b.ecsClient.GetByName(node.Name) + if err != nil { + return err + } + + secGroups, err := b.ecsClient.ListSecurityGroups(instance.Id) + if err != nil { + return err + } + if len(secGroups) == 0 { + klog.Warningf("not found any security groups on %s", node.Name) + return nil + } + + for _, sg := range secGroups { + rules, err := b.vpcClient.ListSecurityGroupRules(sg.Id) + if err != nil { + return fmt.Errorf("failed to list security group[%s] rules: %s", sg.Id, err) + } + + for _, r := range rules { + if r.Direction == "ingress" && r.RemoteIpPrefix == healthCheckCidr && + r.Ethertype == "IPv4" && r.PortRangeMin == 0 && r.PortRangeMax == 0 { + klog.Infof("the health check IP is already in the security group, no need to add rules") + return nil + } + } + } + + desc := fmt.Sprintf("DO NOT EDIT. %s are internal IP addresses used by ELB to check the health of backend"+ + " servers. Created by K8s CCM.", healthCheckCidr) + + securityGroupID := secGroups[0].Id + _, err = b.vpcClient.CreateSecurityGroupRule(&vpcmodel.CreateSecurityGroupRuleOption{ + SecurityGroupId: securityGroupID, + Description: &desc, + Direction: "ingress", + Ethertype: pointer.String("IPv4"), + RemoteIpPrefix: pointer.String(healthCheckCidr), + }) + + if err != nil { + return fmt.Errorf("failed to create security group[%s] rules: %s", securityGroupID, err) + } + + return err +} + +func (b Basic) removeHealthCheckRules(node *v1.Node) error { + instance, err := b.ecsClient.GetByName(node.Name) + if err != nil { + return err + } + + secGroups, err := b.ecsClient.ListSecurityGroups(instance.Id) + if err != nil { + return err + } + if len(secGroups) == 0 { + klog.Warningf("not found any security groups on %s", node.Name) + return nil + } + + desc := fmt.Sprintf("DO NOT EDIT. %s are internal IP addresses used by ELB to check the health of backend"+ + " servers. Created by K8s CCM.", healthCheckCidr) + + for _, sg := range secGroups { + rules, err := b.vpcClient.ListSecurityGroupRules(sg.Id) + if err != nil { + return fmt.Errorf("failed to list security group[%s] rules: %s", sg.Id, err) + } + + for _, r := range rules { + if r.Direction == "ingress" && r.RemoteIpPrefix == healthCheckCidr && + r.Ethertype == "IPv4" && r.PortRangeMin == 0 && r.PortRangeMax == 0 && r.Description == desc { + err := b.vpcClient.DeleteSecurityGroupRule(r.Id) + if err != nil { + klog.Errorf("failed to delete security group[%s] rule[%s]", sg.Id, r.Id) + } + } + } + } + + return nil +} + type CloudProvider struct { Basic providers map[LoadBalanceVersion]cloudprovider.LoadBalancer @@ -240,6 +341,7 @@ func NewHWSCloud(cfg io.Reader) (*CloudProvider, error) { dedicatedELBClient: &wrapper.DedicatedLoadBalanceClient{AuthOpts: &cloudConfig.AuthOpts}, eipClient: &wrapper.EIpClient{AuthOpts: &cloudConfig.AuthOpts}, ecsClient: &wrapper.EcsClient{AuthOpts: &cloudConfig.AuthOpts}, + vpcClient: &wrapper.VpcClient{AuthOpts: &cloudConfig.AuthOpts}, restConfig: restConfig, kubeClient: kubeClient, @@ -454,18 +556,20 @@ func IsPodActive(p v1.Pod) bool { return false } -type EndpointSliceListener struct { +type LoadBalancerServiceListener struct { stopChannel chan struct{} kubeClient *corev1.CoreV1Client mutexLock *mutexkv.MutexKV + + serviceCache map[string]*v1.Service } -func (e *EndpointSliceListener) stopListenerSlice() { +func (e *LoadBalancerServiceListener) stopListenerSlice() { klog.Warningf("Stop listening to Endpoints") close(e.stopChannel) } -func (e *EndpointSliceListener) startEndpointListener(handle func(*v1.Service)) { +func (e *LoadBalancerServiceListener) startEndpointListener(handle func(*v1.Service)) { klog.Infof("starting EndpointListener") for { endpointsList, err := e.kubeClient.Endpoints(metav1.NamespaceAll). @@ -534,7 +638,7 @@ func (e *EndpointSliceListener) startEndpointListener(handle func(*v1.Service)) klog.Infof("EndpointListener started") } -func (e *EndpointSliceListener) dispatcher(namespace, name string, handle func(*v1.Service)) { +func (e *LoadBalancerServiceListener) dispatcher(namespace, name string, handle func(*v1.Service)) { key := fmt.Sprintf("%s/%s", namespace, name) e.mutexLock.Lock(key) defer e.mutexLock.Unlock(key) @@ -546,10 +650,78 @@ func (e *EndpointSliceListener) dispatcher(namespace, name string, handle func(* handle(svc) } +func (e *LoadBalancerServiceListener) autoRemoveHealthCheckRule(handle func(node *v1.Node) error) { + informer := cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + return e.kubeClient.Services(metav1.NamespaceAll).List(context.Background(), options) + }, + WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + return e.kubeClient.Services(metav1.NamespaceAll).Watch(context.Background(), options) + }, + }, + &v1.Service{}, + 0, + cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, + ) + + _, err := informer.AddEventHandlerWithResyncPeriod(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + service := obj.(*v1.Service) + if service.Spec.Type != v1.ServiceTypeLoadBalancer { + return + } + + key := fmt.Sprintf("%s/%s", service.Namespace, service.Name) + e.serviceCache[key] = service + klog.V(6).Infof("new LoadBalancer service %s/%s added, cache size: %v", + service.Namespace, service.Name, len(e.serviceCache)) + }, + UpdateFunc: func(oldObj, newObj interface{}) {}, + DeleteFunc: func(obj interface{}) { + service := obj.(*v1.Service) + if service.Spec.Type != v1.ServiceTypeLoadBalancer { + return + } + key := fmt.Sprintf("%s/%s", service.Namespace, service.Name) + delete(e.serviceCache, key) + klog.V(6).Infof("found LoadBalancer service %s/%s deleted, cache size: %v", + service.Namespace, service.Name, len(e.serviceCache)) + + if len(e.serviceCache) > 0 { + klog.V(6).Infof("found %v LoadBalancer service(s), "+ + "skip clearing the security group rules for ELB health check", len(e.serviceCache)) + return + } + + nodes, err := e.kubeClient.Nodes().List(context.TODO(), metav1.ListOptions{ + Limit: 1, + }) + if err != nil { + klog.Errorf("failed to query a list of nodes in autoRemoveHealthCheckRule: %s", err) + } + + if len(nodes.Items) <= 0 { + klog.Warningf("not found any nodes, skip clearing the security group rules for ELB health check") + return + } + klog.Infof("all LoadBalancer services has been deleted, start to clean health check rules") + n := nodes.Items[0] + handle(&n) //nolint:errcheck + }, + }, 5*time.Second) + if err != nil { + klog.Errorf("failed to watch service: %s", err) + } + + informer.Run(e.stopChannel) +} + func (h *CloudProvider) listenerDeploy() error { - listener := EndpointSliceListener{ - kubeClient: h.kubeClient, - mutexLock: mutexkv.NewMutexKV(), + listener := LoadBalancerServiceListener{ + kubeClient: h.kubeClient, + mutexLock: mutexkv.NewMutexKV(), + serviceCache: make(map[string]*v1.Service, 0), } clusterName := h.cloudControllerManagerOpts.KubeCloudShared.ClusterName @@ -559,6 +731,8 @@ func (h *CloudProvider) listenerDeploy() error { } go leaderElection(id, h.restConfig, h.eventRecorder, func(ctx context.Context) { + go listener.autoRemoveHealthCheckRule(h.removeHealthCheckRules) + listener.startEndpointListener(func(service *v1.Service) { if service.Spec.Type != v1.ServiceTypeLoadBalancer { return @@ -589,9 +763,9 @@ func (h *CloudProvider) listenerDeploy() error { func leaderElection(id string, restConfig *rest.Config, recorder record.EventRecorder, onSuccess func(context.Context), onStop func()) { leaseName := "endpoint-slice-listener" - leaseDuration := 30 * time.Second - renewDeadline := 20 * time.Second - retryPeriod := 10 * time.Second + leaseDuration := 60 * time.Second + renewDeadline := 50 * time.Second + retryPeriod := 30 * time.Second configmapLock, err := resourcelock.NewFromKubeconfig(resourcelock.ConfigMapsLeasesResourceLock, config.ProviderNamespace, @@ -613,11 +787,11 @@ func leaderElection(id string, restConfig *rest.Config, recorder record.EventRec RetryPeriod: retryPeriod, Callbacks: leaderelection.LeaderCallbacks{ OnStartedLeading: func(ctx context.Context) { - klog.V(4).Infof("[Listener EndpointSlices] leader election got: %s", id) + klog.V(6).Infof("[Listener EndpointSlices] leader election got: %s", id) onSuccess(ctx) }, OnStoppedLeading: func() { - klog.V(4).Infof("[Listener EndpointSlices] leader election lost: %s", id) + klog.Infof("[Listener EndpointSlices] leader election lost: %s", id) onStop() }, }, diff --git a/pkg/cloudprovider/huaweicloud/sharedloadbalancer.go b/pkg/cloudprovider/huaweicloud/sharedloadbalancer.go index 4e6bd5c3e..a71392310 100644 --- a/pkg/cloudprovider/huaweicloud/sharedloadbalancer.go +++ b/pkg/cloudprovider/huaweicloud/sharedloadbalancer.go @@ -197,7 +197,7 @@ func (l *SharedLoadBalancer) EnsureLoadBalancer(ctx context.Context, clusterName } // add or remove health monitor - if err = l.addOrRemoveHealthMonitor(loadbalancer.Id, pool, port, service); err != nil { + if err = l.ensureHealthCheck(loadbalancer.Id, pool, port, service, nodes[0]); err != nil { return nil, err } } @@ -292,10 +292,19 @@ func (l *SharedLoadBalancer) createLoadbalancer(clusterName, subnetID string, se return loadbalancer, nil } -func (l *SharedLoadBalancer) addOrRemoveHealthMonitor(loadbalancerID string, pool *elbmodel.PoolResp, port v1.ServicePort, service *v1.Service) error { +// ensureHealthCheck add or update or remove health check +func (l *SharedLoadBalancer) ensureHealthCheck(loadbalancerID string, pool *elbmodel.PoolResp, + port v1.ServicePort, service *v1.Service, node *v1.Node) error { healthCheckOpts := getHealthCheckOptionFromAnnotation(service, l.loadbalancerOpts) monitorID := pool.HealthmonitorId - klog.Infof("add or remove health check: %s : %#v", monitorID, healthCheckOpts) + klog.Infof("add or update or remove health check: %s : %#v", monitorID, healthCheckOpts) + + if healthCheckOpts.Enable { + err := l.allowHealthCheckRule(node) + if err != nil { + return err + } + } protocolStr := parseProtocol(service, port) // create health monitor @@ -808,7 +817,7 @@ func (l *SharedLoadBalancer) UpdateLoadBalancer(ctx context.Context, clusterName } // add or remove health monitor - if err = l.addOrRemoveHealthMonitor(loadbalancer.Id, pool, port, service); err != nil { + if err = l.ensureHealthCheck(loadbalancer.Id, pool, port, service, nodes[0]); err != nil { return err } } @@ -978,10 +987,9 @@ func getHealthCheckOptionFromAnnotation(service *v1.Service, opts *config.LoadBa checkOpts := opts.HealthCheckOption healthCheckFlag := getStringFromSvsAnnotation(service, ElbHealthCheckFlag, opts.HealthCheckFlag) - if healthCheckFlag == "off" || healthCheckFlag == "" { - checkOpts.Enable = false + if healthCheckFlag == "" || healthCheckFlag == "on" { + checkOpts.Enable = true } - checkOpts.Enable = true str := getStringFromSvsAnnotation(service, ElbHealthCheckOptions, "") if str == "" { diff --git a/pkg/cloudprovider/huaweicloud/wrapper/ecs.go b/pkg/cloudprovider/huaweicloud/wrapper/ecs.go index 0b3671da8..9bbbcc0ab 100644 --- a/pkg/cloudprovider/huaweicloud/wrapper/ecs.go +++ b/pkg/cloudprovider/huaweicloud/wrapper/ecs.go @@ -174,6 +174,16 @@ func (e *EcsClient) BuildAddresses(server *model.ServerDetail, interfaces []mode return addrs, nil } +func (e *EcsClient) ListSecurityGroups(instanceID string) ([]model.NovaSecurityGroup, error) { + var rst []model.NovaSecurityGroup + err := e.wrapper(func(c *ecs.EcsClient) (interface{}, error) { + return c.NovaListServerSecurityGroups(&model.NovaListServerSecurityGroupsRequest{ + ServerId: instanceID, + }) + }, "SecurityGroups", &rst) + return rst, err +} + // addToNodeAddresses appends the NodeAddresses to the passed-by-pointer slice, only if they do not already exist. func addToNodeAddresses(addresses *[]v1.NodeAddress, addAddresses ...v1.NodeAddress) { for _, add := range addAddresses { diff --git a/pkg/cloudprovider/huaweicloud/wrapper/vpc.go b/pkg/cloudprovider/huaweicloud/wrapper/vpc.go new file mode 100644 index 000000000..82c310c99 --- /dev/null +++ b/pkg/cloudprovider/huaweicloud/wrapper/vpc.go @@ -0,0 +1,48 @@ +package wrapper + +import ( + vpc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model" + "sigs.k8s.io/cloud-provider-huaweicloud/pkg/config" +) + +type VpcClient struct { + AuthOpts *config.AuthOptions +} + +func (c *VpcClient) ListSecurityGroupRules(securityGroupID string) ([]model.SecurityGroupRule, error) { + var rst []model.SecurityGroupRule + err := c.wrapper(func(c *vpc.VpcClient) (interface{}, error) { + return c.ListSecurityGroupRules(&model.ListSecurityGroupRulesRequest{ + SecurityGroupId: &securityGroupID, + }) + }, "SecurityGroupRules", &rst) + return rst, err +} + +func (c *VpcClient) CreateSecurityGroupRule(rule *model.CreateSecurityGroupRuleOption) (*model.SecurityGroupRule, error) { + var rst *model.SecurityGroupRule + err := c.wrapper(func(c *vpc.VpcClient) (interface{}, error) { + return c.CreateSecurityGroupRule(&model.CreateSecurityGroupRuleRequest{ + Body: &model.CreateSecurityGroupRuleRequestBody{ + SecurityGroupRule: rule, + }, + }) + }, "SecurityGroupRule", &rst) + return rst, err +} + +func (c *VpcClient) DeleteSecurityGroupRule(ruleID string) error { + return c.wrapper(func(c *vpc.VpcClient) (interface{}, error) { + return c.DeleteSecurityGroupRule(&model.DeleteSecurityGroupRuleRequest{ + SecurityGroupRuleId: ruleID, + }) + }) +} + +func (c *VpcClient) wrapper(handler func(*vpc.VpcClient) (interface{}, error), args ...interface{}) error { + return commonWrapper(func() (interface{}, error) { + hc := c.AuthOpts.GetHcClient("vpc") + return handler(vpc.NewVpcClient(hc)) + }, OKCodes, args...) +} diff --git a/test/e2e/dedicated_loadbalancer_test.go b/test/e2e/dedicated_loadbalancer_test.go index 71cb853c5..2f6c0813a 100644 --- a/test/e2e/dedicated_loadbalancer_test.go +++ b/test/e2e/dedicated_loadbalancer_test.go @@ -161,7 +161,7 @@ var _ = ginkgo.Describe("dedicated ELB service test with the specified ID", func annotations[huaweicloud.ElbAlgorithm] = "ROUND_ROBIN" annotations[huaweicloud.ElbSessionAffinityFlag] = "on" annotations[huaweicloud.ElbSessionAffinityOption] = `{"type":"SOURCE_IP", "persistence_timeout": 5}` - annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 3, "timeout": 15, "max_retries": 3}` + annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 3, "timeout": 16, "max_retries": 4}` annotations[huaweicloud.ElbXForwardedHost] = "true" annotations[huaweicloud.ElbID] = *elbID annotations[huaweicloud.ElbEipID] = *eipID diff --git a/test/e2e/shared_loadbalancer_test.go b/test/e2e/shared_loadbalancer_test.go index 980f3260a..c692d3037 100644 --- a/test/e2e/shared_loadbalancer_test.go +++ b/test/e2e/shared_loadbalancer_test.go @@ -75,7 +75,7 @@ var _ = ginkgo.Describe("Shared loadbalancer(TCP) service testing", func() { annotations[huaweicloud.ElbSessionAffinityFlag] = "on" annotations[huaweicloud.ElbSessionAffinityOption] = `{"type":"SOURCE_IP", "persistence_timeout": 3}` annotations[huaweicloud.ElbHealthCheckFlag] = "on" - annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 3, "timeout": 15, "max_retries": 3}` + annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 4, "timeout": 16, "max_retries": 4}` service = newLoadbalancerAutoService(testNamespace, serviceName, 80, annotations) framework.CreateService(kubeClient, service) @@ -144,7 +144,7 @@ var _ = ginkgo.Describe("Shared loadbalancer(HTTP) service testing", func() { annotations[huaweicloud.ElbSessionAffinityFlag] = "on" annotations[huaweicloud.ElbSessionAffinityOption] = `{"type":"SOURCE_IP", "persistence_timeout": 3}` annotations[huaweicloud.ElbHealthCheckFlag] = "on" - annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 3, "timeout": 15, "max_retries": 3}` + annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 4, "timeout": 16, "max_retries": 4}` annotations[huaweicloud.ElbXForwardedHost] = "true" annotations[huaweicloud.ElbIdleTimeout] = "120" annotations[huaweicloud.ElbRequestTimeout] = "120" @@ -239,7 +239,7 @@ var _ = ginkgo.Describe("Use an existing shared load balancer (TCP) service test annotations[huaweicloud.ElbAlgorithm] = "ROUND_ROBIN" annotations[huaweicloud.ElbSessionAffinityFlag] = "on" annotations[huaweicloud.ElbSessionAffinityOption] = `{"type":"SOURCE_IP", "persistence_timeout": 5}` - annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 3, "timeout": 15, "max_retries": 3}` + annotations[huaweicloud.ElbHealthCheckOptions] = `{"delay": 4, "timeout": 16, "max_retries": 4}` annotations[huaweicloud.ElbXForwardedHost] = "true" annotations[huaweicloud.ElbID] = *elbID annotations[huaweicloud.ElbEipID] = *eipID diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_request.go new file mode 100644 index 000000000..65c2e0a70 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type AcceptVpcPeeringRequest struct { + + // 对等连接ID + PeeringId string `json:"peering_id"` +} + +func (o AcceptVpcPeeringRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AcceptVpcPeeringRequest struct{}" + } + + return strings.Join([]string{"AcceptVpcPeeringRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_response.go new file mode 100644 index 000000000..7f04f1ac8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_accept_vpc_peering_response.go @@ -0,0 +1,99 @@ +package model + +import ( + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "strings" +) + +// Response Object +type AcceptVpcPeeringResponse struct { + + // 对等连接ID + Id *string `json:"id,omitempty"` + + // 功能说明:对等连接名称 取值范围:支持1~64个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:对等连接状态 取值范围: - PENDING_ACCEPTANCE:等待接受 - REJECTED:已拒绝。 - EXPIRED:已过期。 - DELETED:已删除。 - ACTIVE:活动的。 + Status *AcceptVpcPeeringResponseStatus `json:"status,omitempty"` + + RequestVpcInfo *VpcInfo `json:"request_vpc_info,omitempty"` + + AcceptVpcInfo *VpcInfo `json:"accept_vpc_info,omitempty"` + + // 功能说明:资源创建UTC时间 格式:yyyy-MM-ddTHH:mm:ss + CreatedAt *sdktime.SdkTime `json:"created_at,omitempty"` + + // 功能说明:资源更新UTC时间 格式:yyyy-MM-ddTHH:mm:ss + UpdatedAt *sdktime.SdkTime `json:"updated_at,omitempty"` + + // 对等连接描述 + Description *string `json:"description,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o AcceptVpcPeeringResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AcceptVpcPeeringResponse struct{}" + } + + return strings.Join([]string{"AcceptVpcPeeringResponse", string(data)}, " ") +} + +type AcceptVpcPeeringResponseStatus struct { + value string +} + +type AcceptVpcPeeringResponseStatusEnum struct { + PENDING_ACCEPTANCE AcceptVpcPeeringResponseStatus + REJECTED AcceptVpcPeeringResponseStatus + EXPIRED AcceptVpcPeeringResponseStatus + DELETED AcceptVpcPeeringResponseStatus + ACTIVE AcceptVpcPeeringResponseStatus +} + +func GetAcceptVpcPeeringResponseStatusEnum() AcceptVpcPeeringResponseStatusEnum { + return AcceptVpcPeeringResponseStatusEnum{ + PENDING_ACCEPTANCE: AcceptVpcPeeringResponseStatus{ + value: "PENDING_ACCEPTANCE", + }, + REJECTED: AcceptVpcPeeringResponseStatus{ + value: "REJECTED", + }, + EXPIRED: AcceptVpcPeeringResponseStatus{ + value: "EXPIRED", + }, + DELETED: AcceptVpcPeeringResponseStatus{ + value: "DELETED", + }, + ACTIVE: AcceptVpcPeeringResponseStatus{ + value: "ACTIVE", + }, + } +} + +func (c AcceptVpcPeeringResponseStatus) Value() string { + return c.value +} + +func (c AcceptVpcPeeringResponseStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *AcceptVpcPeeringResponseStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_allowed_address_pair.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_allowed_address_pair.go new file mode 100644 index 000000000..924aa7c00 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_allowed_address_pair.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type AllowedAddressPair struct { + + // 功能说明:IP地址 取值范围:可以是IP地址或CIDR 约束:不支持0.0.0.0/0如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 如果填写allowed_address_pairs参数,则ip_address是必选参数。 + IpAddress string `json:"ip_address"` + + // mac地址 + MacAddress *string `json:"mac_address,omitempty"` +} + +func (o AllowedAddressPair) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AllowedAddressPair struct{}" + } + + return strings.Join([]string{"AllowedAddressPair", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_asscoiate_req.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_asscoiate_req.go new file mode 100644 index 000000000..36c0b8982 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_asscoiate_req.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type AsscoiateReq struct { + Subnets *AssociateRouteTableAndSubnetReq `json:"subnets"` +} + +func (o AsscoiateReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AsscoiateReq struct{}" + } + + return strings.Join([]string{"AsscoiateReq", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_and_subnet_req.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_and_subnet_req.go new file mode 100644 index 000000000..8b0cdc81a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_and_subnet_req.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type AssociateRouteTableAndSubnetReq struct { + + // 路由表关联子网ID列表 + Associate *[]string `json:"associate,omitempty"` + + // 路由表解除关联子网ID列表 + Disassociate *[]string `json:"disassociate,omitempty"` +} + +func (o AssociateRouteTableAndSubnetReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateRouteTableAndSubnetReq struct{}" + } + + return strings.Join([]string{"AssociateRouteTableAndSubnetReq", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_request.go new file mode 100644 index 000000000..55360e7cc --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type AssociateRouteTableRequest struct { + + // 路由表ID + RoutetableId string `json:"routetable_id"` + + Body *RoutetableAssociateReqbody `json:"body,omitempty"` +} + +func (o AssociateRouteTableRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateRouteTableRequest struct{}" + } + + return strings.Join([]string{"AssociateRouteTableRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_response.go new file mode 100644 index 000000000..b448ff889 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_associate_route_table_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type AssociateRouteTableResponse struct { + Routetable *RouteTableResp `json:"routetable,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o AssociateRouteTableResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateRouteTableResponse struct{}" + } + + return strings.Join([]string{"AssociateRouteTableResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request.go new file mode 100644 index 000000000..cf1c10619 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchCreateSubnetTagsRequest struct { + + // 子网ID + SubnetId string `json:"subnet_id"` + + Body *BatchCreateSubnetTagsRequestBody `json:"body,omitempty"` +} + +func (o BatchCreateSubnetTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateSubnetTagsRequest struct{}" + } + + return strings.Join([]string{"BatchCreateSubnetTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request_body.go new file mode 100644 index 000000000..eef2d4962 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_request_body.go @@ -0,0 +1,67 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// This is a auto create Body Object +type BatchCreateSubnetTagsRequestBody struct { + + // 操作标识 + Action BatchCreateSubnetTagsRequestBodyAction `json:"action"` + + // 标签列表 + Tags []ResourceTag `json:"tags"` +} + +func (o BatchCreateSubnetTagsRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateSubnetTagsRequestBody struct{}" + } + + return strings.Join([]string{"BatchCreateSubnetTagsRequestBody", string(data)}, " ") +} + +type BatchCreateSubnetTagsRequestBodyAction struct { + value string +} + +type BatchCreateSubnetTagsRequestBodyActionEnum struct { + CREATE BatchCreateSubnetTagsRequestBodyAction +} + +func GetBatchCreateSubnetTagsRequestBodyActionEnum() BatchCreateSubnetTagsRequestBodyActionEnum { + return BatchCreateSubnetTagsRequestBodyActionEnum{ + CREATE: BatchCreateSubnetTagsRequestBodyAction{ + value: "create", + }, + } +} + +func (c BatchCreateSubnetTagsRequestBodyAction) Value() string { + return c.value +} + +func (c BatchCreateSubnetTagsRequestBodyAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchCreateSubnetTagsRequestBodyAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_response.go new file mode 100644 index 000000000..c173b9961 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_subnet_tags_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchCreateSubnetTagsResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchCreateSubnetTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateSubnetTagsResponse struct{}" + } + + return strings.Join([]string{"BatchCreateSubnetTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request.go new file mode 100644 index 000000000..b92c2d60b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchCreateVpcTagsRequest struct { + + // 功能说明:虚拟私有云唯一标识 取值范围:合法UUID 约束:ID对应的VPC必须存在 + VpcId string `json:"vpc_id"` + + Body *BatchCreateVpcTagsRequestBody `json:"body,omitempty"` +} + +func (o BatchCreateVpcTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateVpcTagsRequest struct{}" + } + + return strings.Join([]string{"BatchCreateVpcTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request_body.go new file mode 100644 index 000000000..80848d287 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_request_body.go @@ -0,0 +1,67 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// This is a auto create Body Object +type BatchCreateVpcTagsRequestBody struct { + + // 功能说明:操作标识 取值范围:create + Action BatchCreateVpcTagsRequestBodyAction `json:"action"` + + // 功能说明:标签列表 + Tags []ResourceTag `json:"tags"` +} + +func (o BatchCreateVpcTagsRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateVpcTagsRequestBody struct{}" + } + + return strings.Join([]string{"BatchCreateVpcTagsRequestBody", string(data)}, " ") +} + +type BatchCreateVpcTagsRequestBodyAction struct { + value string +} + +type BatchCreateVpcTagsRequestBodyActionEnum struct { + CREATE BatchCreateVpcTagsRequestBodyAction +} + +func GetBatchCreateVpcTagsRequestBodyActionEnum() BatchCreateVpcTagsRequestBodyActionEnum { + return BatchCreateVpcTagsRequestBodyActionEnum{ + CREATE: BatchCreateVpcTagsRequestBodyAction{ + value: "create", + }, + } +} + +func (c BatchCreateVpcTagsRequestBodyAction) Value() string { + return c.value +} + +func (c BatchCreateVpcTagsRequestBodyAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchCreateVpcTagsRequestBodyAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_response.go new file mode 100644 index 000000000..45b445328 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_create_vpc_tags_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchCreateVpcTagsResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchCreateVpcTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateVpcTagsResponse struct{}" + } + + return strings.Join([]string{"BatchCreateVpcTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request.go new file mode 100644 index 000000000..65ee62553 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchDeleteSubnetTagsRequest struct { + + // 子网ID + SubnetId string `json:"subnet_id"` + + Body *BatchDeleteSubnetTagsRequestBody `json:"body,omitempty"` +} + +func (o BatchDeleteSubnetTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteSubnetTagsRequest struct{}" + } + + return strings.Join([]string{"BatchDeleteSubnetTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request_body.go new file mode 100644 index 000000000..c29a650a6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_request_body.go @@ -0,0 +1,67 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// This is a auto create Body Object +type BatchDeleteSubnetTagsRequestBody struct { + + // 功能说明:操作标识 取值范围:delete + Action BatchDeleteSubnetTagsRequestBodyAction `json:"action"` + + // 标签列表 + Tags []ResourceTag `json:"tags"` +} + +func (o BatchDeleteSubnetTagsRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteSubnetTagsRequestBody struct{}" + } + + return strings.Join([]string{"BatchDeleteSubnetTagsRequestBody", string(data)}, " ") +} + +type BatchDeleteSubnetTagsRequestBodyAction struct { + value string +} + +type BatchDeleteSubnetTagsRequestBodyActionEnum struct { + DELETE BatchDeleteSubnetTagsRequestBodyAction +} + +func GetBatchDeleteSubnetTagsRequestBodyActionEnum() BatchDeleteSubnetTagsRequestBodyActionEnum { + return BatchDeleteSubnetTagsRequestBodyActionEnum{ + DELETE: BatchDeleteSubnetTagsRequestBodyAction{ + value: "delete", + }, + } +} + +func (c BatchDeleteSubnetTagsRequestBodyAction) Value() string { + return c.value +} + +func (c BatchDeleteSubnetTagsRequestBodyAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchDeleteSubnetTagsRequestBodyAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_response.go new file mode 100644 index 000000000..119596425 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_subnet_tags_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchDeleteSubnetTagsResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchDeleteSubnetTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteSubnetTagsResponse struct{}" + } + + return strings.Join([]string{"BatchDeleteSubnetTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request.go new file mode 100644 index 000000000..44eddd887 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchDeleteVpcTagsRequest struct { + + // 功能说明:虚拟私有云唯一标识 取值范围:合法UUID 约束:ID对应的VPC必须存在 + VpcId string `json:"vpc_id"` + + Body *BatchDeleteVpcTagsRequestBody `json:"body,omitempty"` +} + +func (o BatchDeleteVpcTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteVpcTagsRequest struct{}" + } + + return strings.Join([]string{"BatchDeleteVpcTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request_body.go new file mode 100644 index 000000000..dd354da23 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_request_body.go @@ -0,0 +1,67 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// This is a auto create Body Object +type BatchDeleteVpcTagsRequestBody struct { + + // 操作标识 + Action BatchDeleteVpcTagsRequestBodyAction `json:"action"` + + // 标签列表 + Tags []ResourceTag `json:"tags"` +} + +func (o BatchDeleteVpcTagsRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteVpcTagsRequestBody struct{}" + } + + return strings.Join([]string{"BatchDeleteVpcTagsRequestBody", string(data)}, " ") +} + +type BatchDeleteVpcTagsRequestBodyAction struct { + value string +} + +type BatchDeleteVpcTagsRequestBodyActionEnum struct { + DELETE BatchDeleteVpcTagsRequestBodyAction +} + +func GetBatchDeleteVpcTagsRequestBodyActionEnum() BatchDeleteVpcTagsRequestBodyActionEnum { + return BatchDeleteVpcTagsRequestBodyActionEnum{ + DELETE: BatchDeleteVpcTagsRequestBodyAction{ + value: "delete", + }, + } +} + +func (c BatchDeleteVpcTagsRequestBodyAction) Value() string { + return c.value +} + +func (c BatchDeleteVpcTagsRequestBodyAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchDeleteVpcTagsRequestBodyAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_response.go new file mode 100644 index 000000000..75093d3c8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_batch_delete_vpc_tags_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchDeleteVpcTagsResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchDeleteVpcTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteVpcTagsResponse struct{}" + } + + return strings.Join([]string{"BatchDeleteVpcTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_binding_vif_details.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_binding_vif_details.go new file mode 100644 index 000000000..11283d0fd --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_binding_vif_details.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type BindingVifDetails struct { + + // 功能说明:取值为true,表示是虚拟机的主网卡。 + PrimaryInterface *bool `json:"primary_interface,omitempty"` + + // 功能说明:表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。 + PortFilter *bool `json:"port_filter,omitempty"` + + // 用于通知像nova这样的API消费者,应该使用OVS的混合插入策略。 + OvsHybridPlug *bool `json:"ovs_hybrid_plug,omitempty"` +} + +func (o BindingVifDetails) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BindingVifDetails struct{}" + } + + return strings.Join([]string{"BindingVifDetails", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_option.go new file mode 100644 index 000000000..98aa4cb5d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_option.go @@ -0,0 +1,47 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreatePortOption struct { + + // 功能说明:端口名称 取值范围:0~255个字符,支持中文、英文、字母、_(下划线)、-(中划线),默认为空 + Name *string `json:"name,omitempty"` + + // 功能说明:端口所属网络的ID 约束:必须是存在的网络ID + NetworkId string `json:"network_id"` + + // 功能说明:端口IP 例如:\"fixed_ips\": [{\"subnet_id\": \"4dc70db6-cb7f-4200-9790-a6a910776bba\", \"ip_address\": \"192.169.25.79\"}] 约束:ipv4场景下一个端口只支持一个fixed_ip,且不支持更新 + FixedIps *[]FixedIp `json:"fixed_ips,omitempty"` + + // 功能说明:端口设备所属 取值范围:目前只支持指定\"\"和\"neutron:VIP_PORT\";neutron:VIP_PORT表示创建的是VIP + DeviceOwner *string `json:"device_owner,omitempty"` + + // 功能说明:安全组的ID列表;例如:\"security_groups\": [\"a0608cbf-d047-4f54-8b28-cd7b59853fff\"] 取值范围:默认值为系统默认安全组 + SecurityGroups *[]string `json:"security_groups,omitempty"` + + // 功能说明:管理状态 取值范围:只支持true,默认为true + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + // 功能说明:IP/Mac对列表 约束:IP地址不允许为 “0.0.0.0/0” 如果配置的地址池较大(CIDR掩码小于24位),建议为该port配置一个单独的安全组。 + AllowedAddressPairs *[]AllowedAddressPair `json:"allowed_address_pairs,omitempty"` + + // 功能说明:DHCP的扩展Option(扩展属性) + ExtraDhcpOpts *[]ExtraDhcpOpt `json:"extra_dhcp_opts,omitempty"` + + // 功能说明:端口所属项目ID + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o CreatePortOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePortOption struct{}" + } + + return strings.Join([]string{"CreatePortOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request.go new file mode 100644 index 000000000..bf115830c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreatePortRequest struct { + Body *CreatePortRequestBody `json:"body,omitempty"` +} + +func (o CreatePortRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePortRequest struct{}" + } + + return strings.Join([]string{"CreatePortRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request_body.go new file mode 100644 index 000000000..0e389f6f6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreatePortRequestBody struct { + Port *CreatePortOption `json:"port"` +} + +func (o CreatePortRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePortRequestBody struct{}" + } + + return strings.Join([]string{"CreatePortRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_response.go new file mode 100644 index 000000000..b6330389e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_port_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreatePortResponse struct { + Port *Port `json:"port,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreatePortResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePortResponse struct{}" + } + + return strings.Join([]string{"CreatePortResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_option.go new file mode 100644 index 000000000..4df13959b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_option.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreatePrivateipOption struct { + + // 分配IP的子网标识 + SubnetId string `json:"subnet_id"` + + // 功能说明:指定IP地址申请 取值范围:子网段中的可以使用且未分配的IP地址,不指定时由系统自动分配 + IpAddress *string `json:"ip_address,omitempty"` +} + +func (o CreatePrivateipOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePrivateipOption struct{}" + } + + return strings.Join([]string{"CreatePrivateipOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request.go new file mode 100644 index 000000000..c5a5f76c5 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreatePrivateipRequest struct { + Body *CreatePrivateipRequestBody `json:"body,omitempty"` +} + +func (o CreatePrivateipRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePrivateipRequest struct{}" + } + + return strings.Join([]string{"CreatePrivateipRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request_body.go new file mode 100644 index 000000000..e9dd5434d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_request_body.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreatePrivateipRequestBody struct { + + // 私有IP列表对象 + Privateips []CreatePrivateipOption `json:"privateips"` +} + +func (o CreatePrivateipRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePrivateipRequestBody struct{}" + } + + return strings.Join([]string{"CreatePrivateipRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_response.go new file mode 100644 index 000000000..49b66d409 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_privateip_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreatePrivateipResponse struct { + + // 私有IP列表对象 + Privateips *[]Privateip `json:"privateips,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreatePrivateipResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreatePrivateipResponse struct{}" + } + + return strings.Join([]string{"CreatePrivateipResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_req.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_req.go new file mode 100644 index 000000000..d70ac9c6d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_req.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateRouteTableReq struct { + + // 功能说明:路由表名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name *string `json:"name,omitempty"` + + // 功能说明:路由对象,参见route字段说明 约束:每个路由表最大关联200条路由 + Routes *[]RouteTableRoute `json:"routes,omitempty"` + + // 路由表所在的虚拟私有云ID + VpcId string `json:"vpc_id"` + + // 功能说明:路由表描述信息 取值范围:0-255个字符,不能包含“<”和“>” + Description *string `json:"description,omitempty"` +} + +func (o CreateRouteTableReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateRouteTableReq struct{}" + } + + return strings.Join([]string{"CreateRouteTableReq", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_request.go new file mode 100644 index 000000000..7e8982d4f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateRouteTableRequest struct { + Body *CreateRoutetableReqBody `json:"body,omitempty"` +} + +func (o CreateRouteTableRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateRouteTableRequest struct{}" + } + + return strings.Join([]string{"CreateRouteTableRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_response.go new file mode 100644 index 000000000..2385e3360 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_route_table_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateRouteTableResponse struct { + Routetable *RouteTableResp `json:"routetable,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateRouteTableResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateRouteTableResponse struct{}" + } + + return strings.Join([]string{"CreateRouteTableResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_routetable_req_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_routetable_req_body.go new file mode 100644 index 000000000..dea603403 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_routetable_req_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateRoutetableReqBody struct { + Routetable *CreateRouteTableReq `json:"routetable"` +} + +func (o CreateRoutetableReqBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateRoutetableReqBody struct{}" + } + + return strings.Join([]string{"CreateRoutetableReqBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_option.go new file mode 100644 index 000000000..d07f9bd75 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_option.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateSecurityGroupOption struct { + + // 功能说明:安全组名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name string `json:"name"` + + // 功能说明:安全组所在的vpc的资源标识 + VpcId *string `json:"vpc_id,omitempty"` + + // 功能说明:企业项目ID。创建安全组时,给安全组绑定企业项目ID。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 默认值:“0” + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o CreateSecurityGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupOption struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request.go new file mode 100644 index 000000000..075d5420d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateSecurityGroupRequest struct { + Body *CreateSecurityGroupRequestBody `json:"body,omitempty"` +} + +func (o CreateSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request_body.go new file mode 100644 index 000000000..73b612c12 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateSecurityGroupRequestBody struct { + SecurityGroup *CreateSecurityGroupOption `json:"security_group"` +} + +func (o CreateSecurityGroupRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupRequestBody struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_response.go new file mode 100644 index 000000000..d77f2f142 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateSecurityGroupResponse struct { + SecurityGroup *SecurityGroup `json:"security_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_option.go new file mode 100644 index 000000000..f912543a2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_option.go @@ -0,0 +1,47 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateSecurityGroupRuleOption struct { + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` + + // 功能说明:安全组规则描述 取值范围:0-255个字符,支持数字、字母、中文字符 + Description *string `json:"description,omitempty"` + + // 功能说明:出入控制方向 取值范围: - egress:出方向 - ingress:入方向 + Direction string `json:"direction"` + + // 功能说明:IP地址协议类型 取值范围:IPv4,IPv6 约束:默认值为IPv4 + Ethertype *string `json:"ethertype,omitempty"` + + // 功能说明:协议类型 取值范围:tcp、udp、icmp或IP协议编号(0~255) 约束:为空表示支持所有协议 + Protocol *string `json:"protocol,omitempty"` + + // 功能说明:起始端口值 取值范围:1~65535 约束:不能大于port_range_max的值,为空表示所有端口,如果协议是icmp类型,取值范围请参见 [安全组规则icmp协议名称对应关系表](https://support.huaweicloud.com/api-vpc/vpc_api_0009.html) + PortRangeMin *int32 `json:"port_range_min,omitempty"` + + // 功能说明:结束端口值 取值范围:1~65535 约束:协议不为icmp时,取值不能小于port_range_min的值,为空表示所有端口,如果协议是icmp类型,取值范围请参见 [安全组规则icmp协议名称对应关系表](https://support.huaweicloud.com/api-vpc/vpc_api_0009.html) + PortRangeMax *int32 `json:"port_range_max,omitempty"` + + // 功能说明:远端IP地址,当direction是egress时为虚拟机访问端的地址,当direction是ingress时为访问虚拟机的地址 取值范围:IP地址,或者cidr格式 约束:和remote_group_id互斥 + RemoteIpPrefix *string `json:"remote_ip_prefix,omitempty"` + + // 功能说明:对端安全组ID 约束:和remote_ip_prefix互斥 + RemoteGroupId *string `json:"remote_group_id,omitempty"` +} + +func (o CreateSecurityGroupRuleOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupRuleOption struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupRuleOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request.go new file mode 100644 index 000000000..a3c87d01d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateSecurityGroupRuleRequest struct { + Body *CreateSecurityGroupRuleRequestBody `json:"body,omitempty"` +} + +func (o CreateSecurityGroupRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupRuleRequest struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request_body.go new file mode 100644 index 000000000..01b8f0929 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateSecurityGroupRuleRequestBody struct { + SecurityGroupRule *CreateSecurityGroupRuleOption `json:"security_group_rule"` +} + +func (o CreateSecurityGroupRuleRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupRuleRequestBody struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupRuleRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_response.go new file mode 100644 index 000000000..13ae2325c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_security_group_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateSecurityGroupRuleResponse struct { + SecurityGroupRule *SecurityGroupRule `json:"security_group_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateSecurityGroupRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSecurityGroupRuleResponse struct{}" + } + + return strings.Join([]string{"CreateSecurityGroupRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_option.go new file mode 100644 index 000000000..19c2af566 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_option.go @@ -0,0 +1,56 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateSubnetOption struct { + + // 功能说明:子网名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name string `json:"name"` + + // 功能说明:子网描述 取值范围:0-255个字符,不能包含“<”和“>”。 + Description *string `json:"description,omitempty"` + + // 功能说明:子网的网段 取值范围:必须在vpc对应cidr范围内 约束:必须是cidr格式。掩码长度不能大于28 + Cidr string `json:"cidr"` + + // 子网所在VPC标识 + VpcId string `json:"vpc_id"` + + // 功能说明:子网的网关 取值范围:子网网段中的IP地址 约束:必须是ip格式 + GatewayIp string `json:"gateway_ip"` + + // 功能说明:是否创建cidr_v6 取值范围:true(开启),false(关闭) 约束:不填时默认为false > 说明 该参数目前仅在“华北-北京四”区域开放,且申请IPv6公测后才可设置。 + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + // 功能说明:子网是否开启dhcp功能 取值范围:true(开启),false(关闭) 约束:不填时默认为true。当设置为false时,会导致新创建的ECS无法获取IP地址,cloudinit无法注入账号密码,请谨慎操作。 + DhcpEnable *bool `json:"dhcp_enable,omitempty"` + + // 功能说明:子网dns服务器地址1 约束:ip格式,不支持IPv6地址 默认值:不填时为空 [内网DNS地址请参见](https://support.huaweicloud.com/dns_faq/dns_faq_002.html) [通过API获取请参见](https://support.huaweicloud.com/api-dns/dns_api_69001.html) + PrimaryDns *string `json:"primary_dns,omitempty"` + + // 功能说明:子网dns服务器地址2 约束:ip格式,不支持IPv6地址 默认值:不填时为空 [内网DNS地址请参见](https://support.huaweicloud.com/dns_faq/dns_faq_002.html) [通过API获取请参见](https://support.huaweicloud.com/api-dns/dns_api_69001.html) + SecondaryDns *string `json:"secondary_dns,omitempty"` + + // 功能说明:子网dns服务器地址的集合;如果想使用两个以上dns服务器,请使用该字段 约束:是子网dns服务器地址1跟子网dns服务器地址2的合集的父集,不支持IPv6地址。 默认值:不填时为空,无法使用云内网DNS功能 [内网DNS地址请参见](https://support.huaweicloud.com/dns_faq/dns_faq_002.html) [通过API获取请参见](https://support.huaweicloud.com/api-dns/dns_api_69001.html) + DnsList *[]string `json:"dnsList,omitempty"` + + // 功能说明:子网所在的可用分区标识 约束:系统存在的可用分区标识 + AvailabilityZone *string `json:"availability_zone,omitempty"` + + // 子网配置的NTP地址或租约时间 + ExtraDhcpOpts *[]ExtraDhcpOption `json:"extra_dhcp_opts,omitempty"` +} + +func (o CreateSubnetOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetOption struct{}" + } + + return strings.Join([]string{"CreateSubnetOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request.go new file mode 100644 index 000000000..2a8d39d83 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateSubnetRequest struct { + Body *CreateSubnetRequestBody `json:"body,omitempty"` +} + +func (o CreateSubnetRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetRequest struct{}" + } + + return strings.Join([]string{"CreateSubnetRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request_body.go new file mode 100644 index 000000000..52140187d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 创建子网对象 +type CreateSubnetRequestBody struct { + Subnet *CreateSubnetOption `json:"subnet"` +} + +func (o CreateSubnetRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetRequestBody struct{}" + } + + return strings.Join([]string{"CreateSubnetRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_response.go new file mode 100644 index 000000000..f5744921e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateSubnetResponse struct { + Subnet *Subnet `json:"subnet,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateSubnetResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetResponse struct{}" + } + + return strings.Join([]string{"CreateSubnetResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request.go new file mode 100644 index 000000000..61aff9af5 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateSubnetTagRequest struct { + + // 子网ID + SubnetId string `json:"subnet_id"` + + Body *CreateSubnetTagRequestBody `json:"body,omitempty"` +} + +func (o CreateSubnetTagRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetTagRequest struct{}" + } + + return strings.Join([]string{"CreateSubnetTagRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request_body.go new file mode 100644 index 000000000..d2cbf1d37 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type CreateSubnetTagRequestBody struct { + Tag *ResourceTag `json:"tag"` +} + +func (o CreateSubnetTagRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetTagRequestBody struct{}" + } + + return strings.Join([]string{"CreateSubnetTagRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_response.go new file mode 100644 index 000000000..db2f03b97 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_subnet_tag_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateSubnetTagResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o CreateSubnetTagResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateSubnetTagResponse struct{}" + } + + return strings.Join([]string{"CreateSubnetTagResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_option.go new file mode 100644 index 000000000..fd09aee7e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_option.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// vpc对象 +type CreateVpcOption struct { + + // 功能说明:虚拟私有云下可用子网的范围 取值范围: - 10.0.0.0/8 ~ 10.255.255.240/28 - 172.16.0.0/12 ~ 172.31.255.240/28 - 192.168.0.0/16 ~ 192.168.255.240/28 约束:必须是ipv4 cidr格式,例如:192.168.0.0/16 + Cidr *string `json:"cidr,omitempty"` + + // 功能说明:虚拟私有云名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 约束:如果名称不为空,则同一个租户下的名称不能重复 + Name *string `json:"name,omitempty"` + + // 功能说明:虚拟私有云的描述 取值范围:0-255个字符,不能包含“<”和“>”。 + Description *string `json:"description,omitempty"` + + // 功能说明:企业项目ID。创建虚拟私有云时,给虚拟私有云绑定企业项目ID。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 默认值:\"0\" + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o CreateVpcOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcOption struct{}" + } + + return strings.Join([]string{"CreateVpcOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_option.go new file mode 100644 index 000000000..ce943ea1d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_option.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// peering对象 +type CreateVpcPeeringOption struct { + + // 功能说明:对等连接名称 取值范围:支持1~64个字符 + Name string `json:"name"` + + RequestVpcInfo *VpcInfo `json:"request_vpc_info"` + + AcceptVpcInfo *VpcInfo `json:"accept_vpc_info"` +} + +func (o CreateVpcPeeringOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcPeeringOption struct{}" + } + + return strings.Join([]string{"CreateVpcPeeringOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request.go new file mode 100644 index 000000000..948065c3d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateVpcPeeringRequest struct { + Body *CreateVpcPeeringRequestBody `json:"body,omitempty"` +} + +func (o CreateVpcPeeringRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcPeeringRequest struct{}" + } + + return strings.Join([]string{"CreateVpcPeeringRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request_body.go new file mode 100644 index 000000000..d243fa899 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateVpcPeeringRequestBody struct { + Peering *CreateVpcPeeringOption `json:"peering"` +} + +func (o CreateVpcPeeringRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcPeeringRequestBody struct{}" + } + + return strings.Join([]string{"CreateVpcPeeringRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_response.go new file mode 100644 index 000000000..ac3111bf4 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_peering_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateVpcPeeringResponse struct { + Peering *VpcPeering `json:"peering,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateVpcPeeringResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcPeeringResponse struct{}" + } + + return strings.Join([]string{"CreateVpcPeeringResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request.go new file mode 100644 index 000000000..fe1fa21c2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateVpcRequest struct { + Body *CreateVpcRequestBody `json:"body,omitempty"` +} + +func (o CreateVpcRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcRequest struct{}" + } + + return strings.Join([]string{"CreateVpcRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request_body.go new file mode 100644 index 000000000..eef61a66e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateVpcRequestBody struct { + Vpc *CreateVpcOption `json:"vpc"` +} + +func (o CreateVpcRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcRequestBody struct{}" + } + + return strings.Join([]string{"CreateVpcRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request.go new file mode 100644 index 000000000..0d806a0a2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateVpcResourceTagRequest struct { + + // 功能说明:虚拟私有云唯一标识 取值范围:合法UUID 约束:ID对应的VPC必须存在 + VpcId string `json:"vpc_id"` + + Body *CreateVpcResourceTagRequestBody `json:"body,omitempty"` +} + +func (o CreateVpcResourceTagRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcResourceTagRequest struct{}" + } + + return strings.Join([]string{"CreateVpcResourceTagRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request_body.go new file mode 100644 index 000000000..288538339 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type CreateVpcResourceTagRequestBody struct { + Tag *ResourceTag `json:"tag"` +} + +func (o CreateVpcResourceTagRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcResourceTagRequestBody struct{}" + } + + return strings.Join([]string{"CreateVpcResourceTagRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_response.go new file mode 100644 index 000000000..206ecc305 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_resource_tag_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateVpcResourceTagResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o CreateVpcResourceTagResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcResourceTagResponse struct{}" + } + + return strings.Join([]string{"CreateVpcResourceTagResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_response.go new file mode 100644 index 000000000..9a7f67f9f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateVpcResponse struct { + Vpc *Vpc `json:"vpc,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateVpcResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcResponse struct{}" + } + + return strings.Join([]string{"CreateVpcResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_option.go new file mode 100644 index 000000000..85a98b215 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_option.go @@ -0,0 +1,73 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type CreateVpcRouteOption struct { + + // 路由目的地址CIDR,如192.168.200.0/24。 + Destination string `json:"destination"` + + // 功能说明:路由下一跳 取值范围:如果type为peering类型,则nexthop为peering的ID + Nexthop string `json:"nexthop"` + + // 功能说明:路由类型 取值范围:peering + Type CreateVpcRouteOptionType `json:"type"` + + // 请求添加路由的VPC ID + VpcId string `json:"vpc_id"` +} + +func (o CreateVpcRouteOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcRouteOption struct{}" + } + + return strings.Join([]string{"CreateVpcRouteOption", string(data)}, " ") +} + +type CreateVpcRouteOptionType struct { + value string +} + +type CreateVpcRouteOptionTypeEnum struct { + PEERING CreateVpcRouteOptionType +} + +func GetCreateVpcRouteOptionTypeEnum() CreateVpcRouteOptionTypeEnum { + return CreateVpcRouteOptionTypeEnum{ + PEERING: CreateVpcRouteOptionType{ + value: "peering", + }, + } +} + +func (c CreateVpcRouteOptionType) Value() string { + return c.value +} + +func (c CreateVpcRouteOptionType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateVpcRouteOptionType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request.go new file mode 100644 index 000000000..dd1b2f3e8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateVpcRouteRequest struct { + Body *CreateVpcRouteRequestBody `json:"body,omitempty"` +} + +func (o CreateVpcRouteRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcRouteRequest struct{}" + } + + return strings.Join([]string{"CreateVpcRouteRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request_body.go new file mode 100644 index 000000000..09f100895 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type CreateVpcRouteRequestBody struct { + Route *CreateVpcRouteOption `json:"route"` +} + +func (o CreateVpcRouteRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcRouteRequestBody struct{}" + } + + return strings.Join([]string{"CreateVpcRouteRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_response.go new file mode 100644 index 000000000..a64cf0816 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_create_vpc_route_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateVpcRouteResponse struct { + Route *VpcRoute `json:"route,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateVpcRouteResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateVpcRouteResponse struct{}" + } + + return strings.Join([]string{"CreateVpcRouteResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_request.go new file mode 100644 index 000000000..e10ac2d34 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeletePortRequest struct { + + // 端口ID + PortId string `json:"port_id"` +} + +func (o DeletePortRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeletePortRequest struct{}" + } + + return strings.Join([]string{"DeletePortRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_response.go new file mode 100644 index 000000000..a2904a21c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_port_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeletePortResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeletePortResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeletePortResponse struct{}" + } + + return strings.Join([]string{"DeletePortResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_request.go new file mode 100644 index 000000000..278bdadc2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeletePrivateipRequest struct { + + // 私有IP ID + PrivateipId string `json:"privateip_id"` +} + +func (o DeletePrivateipRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeletePrivateipRequest struct{}" + } + + return strings.Join([]string{"DeletePrivateipRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_response.go new file mode 100644 index 000000000..ebc32a950 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_privateip_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeletePrivateipResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeletePrivateipResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeletePrivateipResponse struct{}" + } + + return strings.Join([]string{"DeletePrivateipResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_request.go new file mode 100644 index 000000000..39fcb818d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteRouteTableRequest struct { + + // 路由表ID + RoutetableId string `json:"routetable_id"` +} + +func (o DeleteRouteTableRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteRouteTableRequest struct{}" + } + + return strings.Join([]string{"DeleteRouteTableRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_response.go new file mode 100644 index 000000000..7ff36bb20 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_route_table_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteRouteTableResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteRouteTableResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteRouteTableResponse struct{}" + } + + return strings.Join([]string{"DeleteRouteTableResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_request.go new file mode 100644 index 000000000..88433d305 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteSecurityGroupRequest struct { + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` +} + +func (o DeleteSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"DeleteSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_response.go new file mode 100644 index 000000000..a5d6bcc62 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteSecurityGroupResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"DeleteSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_request.go new file mode 100644 index 000000000..c7bcef4e4 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteSecurityGroupRuleRequest struct { + + // 安全组规则ID + SecurityGroupRuleId string `json:"security_group_rule_id"` +} + +func (o DeleteSecurityGroupRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSecurityGroupRuleRequest struct{}" + } + + return strings.Join([]string{"DeleteSecurityGroupRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_response.go new file mode 100644 index 000000000..905d6d491 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_security_group_rule_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteSecurityGroupRuleResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteSecurityGroupRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSecurityGroupRuleResponse struct{}" + } + + return strings.Join([]string{"DeleteSecurityGroupRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_request.go new file mode 100644 index 000000000..074740f72 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteSubnetRequest struct { + + // 子网对应的vpc_id + VpcId string `json:"vpc_id"` + + // 子网ID + SubnetId string `json:"subnet_id"` +} + +func (o DeleteSubnetRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSubnetRequest struct{}" + } + + return strings.Join([]string{"DeleteSubnetRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_response.go new file mode 100644 index 000000000..347e74a4f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteSubnetResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteSubnetResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSubnetResponse struct{}" + } + + return strings.Join([]string{"DeleteSubnetResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_request.go new file mode 100644 index 000000000..4e8955640 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteSubnetTagRequest struct { + + // 子网ID + SubnetId string `json:"subnet_id"` + + // 功能说明:键值 + Key string `json:"key"` +} + +func (o DeleteSubnetTagRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSubnetTagRequest struct{}" + } + + return strings.Join([]string{"DeleteSubnetTagRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_response.go new file mode 100644 index 000000000..f843d6db9 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_subnet_tag_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteSubnetTagResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteSubnetTagResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteSubnetTagResponse struct{}" + } + + return strings.Join([]string{"DeleteSubnetTagResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_request.go new file mode 100644 index 000000000..286a7ead8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteVpcPeeringRequest struct { + + // 对等连接ID + PeeringId string `json:"peering_id"` +} + +func (o DeleteVpcPeeringRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcPeeringRequest struct{}" + } + + return strings.Join([]string{"DeleteVpcPeeringRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_response.go new file mode 100644 index 000000000..13b37cc40 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_peering_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteVpcPeeringResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteVpcPeeringResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcPeeringResponse struct{}" + } + + return strings.Join([]string{"DeleteVpcPeeringResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_request.go new file mode 100644 index 000000000..1eaa94452 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteVpcRequest struct { + + // 虚拟私有云ID + VpcId string `json:"vpc_id"` +} + +func (o DeleteVpcRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcRequest struct{}" + } + + return strings.Join([]string{"DeleteVpcRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_response.go new file mode 100644 index 000000000..52a3a3138 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteVpcResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteVpcResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcResponse struct{}" + } + + return strings.Join([]string{"DeleteVpcResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_request.go new file mode 100644 index 000000000..f245b9a13 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteVpcRouteRequest struct { + + // 路由ID + RouteId string `json:"route_id"` +} + +func (o DeleteVpcRouteRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcRouteRequest struct{}" + } + + return strings.Join([]string{"DeleteVpcRouteRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_response.go new file mode 100644 index 000000000..0b9e6ea7c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_route_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteVpcRouteResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteVpcRouteResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcRouteResponse struct{}" + } + + return strings.Join([]string{"DeleteVpcRouteResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_request.go new file mode 100644 index 000000000..6b864fc2f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteVpcTagRequest struct { + + // 功能说明:虚拟私有云唯一标识 取值范围:合法UUID 约束:ID对应的VPC必须存在 + VpcId string `json:"vpc_id"` + + // 功能说明:标签键 + Key string `json:"key"` +} + +func (o DeleteVpcTagRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcTagRequest struct{}" + } + + return strings.Join([]string{"DeleteVpcTagRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_response.go new file mode 100644 index 000000000..e8e41bf55 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_delete_vpc_tag_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteVpcTagResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteVpcTagResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteVpcTagResponse struct{}" + } + + return strings.Join([]string{"DeleteVpcTagResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_request.go new file mode 100644 index 000000000..d8c1e449e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DisassociateRouteTableRequest struct { + + // 路由表ID + RoutetableId string `json:"routetable_id"` + + Body *RoutetableAssociateReqbody `json:"body,omitempty"` +} + +func (o DisassociateRouteTableRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateRouteTableRequest struct{}" + } + + return strings.Join([]string{"DisassociateRouteTableRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_response.go new file mode 100644 index 000000000..4a04a6ea6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_disassociate_route_table_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DisassociateRouteTableResponse struct { + Routetable *RouteTableResp `json:"routetable,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o DisassociateRouteTableResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateRouteTableResponse struct{}" + } + + return strings.Join([]string{"DisassociateRouteTableResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_dns_assign_ment.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_dns_assign_ment.go new file mode 100644 index 000000000..3f07133a8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_dns_assign_ment.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type DnsAssignMent struct { + + // 端口hostname + Hostname *string `json:"hostname,omitempty"` + + // 端口IP地址 + IpAddress *string `json:"ip_address,omitempty"` + + // 端口内网fqdn + Fqdn *string `json:"fqdn,omitempty"` +} + +func (o DnsAssignMent) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DnsAssignMent struct{}" + } + + return strings.Join([]string{"DnsAssignMent", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_opt.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_opt.go new file mode 100644 index 000000000..342bb460b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_opt.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type ExtraDhcpOpt struct { + + // Option名称 + OptName *string `json:"opt_name,omitempty"` + + // Option值 + OptValue *string `json:"opt_value,omitempty"` +} + +func (o ExtraDhcpOpt) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ExtraDhcpOpt struct{}" + } + + return strings.Join([]string{"ExtraDhcpOpt", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_option.go new file mode 100644 index 000000000..c32ef0bbb --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_extra_dhcp_option.go @@ -0,0 +1,71 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 子网配置的NTP地址或租约时间对象 +type ExtraDhcpOption struct { + + // 功能说明:子网配置的NTP地址名称或子网配置的租约到期名称。 约束:目前只支持字段“ntp”或“addresstime” + OptName ExtraDhcpOptionOptName `json:"opt_name"` + + // 功能说明:子网配置的NTP地址或子网配置的租约到期时间。 约束:opt_name配置为“ntp”,则表示是子网ntp地址,目前只支持IPv4地址,每个IP地址以逗号隔开,IP地址个数不能超过4个,不能存在相同地址。 该字段为null表示取消该子网NTP的设置,不能为””(空字符串)。 opt_name配置为“addresstime”,则该值表示是子网租约到期时间,取值格式有两种,取-1,表示无限租约;数字+h,数字范围是1~30000,比如5h。 + OptValue *string `json:"opt_value,omitempty"` +} + +func (o ExtraDhcpOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ExtraDhcpOption struct{}" + } + + return strings.Join([]string{"ExtraDhcpOption", string(data)}, " ") +} + +type ExtraDhcpOptionOptName struct { + value string +} + +type ExtraDhcpOptionOptNameEnum struct { + NTP ExtraDhcpOptionOptName + ADDRESSTIME ExtraDhcpOptionOptName +} + +func GetExtraDhcpOptionOptNameEnum() ExtraDhcpOptionOptNameEnum { + return ExtraDhcpOptionOptNameEnum{ + NTP: ExtraDhcpOptionOptName{ + value: "ntp", + }, + ADDRESSTIME: ExtraDhcpOptionOptName{ + value: "addresstime", + }, + } +} + +func (c ExtraDhcpOptionOptName) Value() string { + return c.value +} + +func (c ExtraDhcpOptionOptName) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ExtraDhcpOptionOptName) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_fixed_ip.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_fixed_ip.go new file mode 100644 index 000000000..2f6333ffd --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_fixed_ip.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type FixedIp struct { + + // 功能说明:端口IP地址,如果同时指定子网ID和IP地址,会尝试将该子网上的IP地址分配给该端口。 如果仅指定子网ID,会将该子网中的可用IP分配给该端口。 如果仅指定IP地址,会尝试分配IP地址(如果该地址是指定网络上任何子网的有效IP) + IpAddress *string `json:"ip_address,omitempty"` + + // 功能说明:端口所属子网ID,如果同时指定子网ID和IP地址,会尝试将该子网上的IP地址分配给该端口。 如果仅指定子网ID,会将该子网中的可用IP分配给该端口。 如果仅指定IP地址,会尝试分配IP地址(如果该地址是指定网络上任何子网的有效IP) + SubnetId *string `json:"subnet_id,omitempty"` +} + +func (o FixedIp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "FixedIp struct{}" + } + + return strings.Join([]string{"FixedIp", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_request.go new file mode 100644 index 000000000..03cc69153 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_request.go @@ -0,0 +1,155 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ListPortsRequest struct { + + // 功能说明:按照name过滤查询 取值范围:最大长度不超过255 + Name *string `json:"name,omitempty"` + + // 按照port_id过滤查询 + Id *string `json:"id,omitempty"` + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 按照admin_state_up进行过滤 + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + // 按照network_id过滤查询 + NetworkId *string `json:"network_id,omitempty"` + + // 按照mac_address过滤查询 + MacAddress *string `json:"mac_address,omitempty"` + + // 按照device_id过滤查询 + DeviceId *string `json:"device_id,omitempty"` + + // 按照device_owner过滤查询 + DeviceOwner *ListPortsRequestDeviceOwner `json:"device_owner,omitempty"` + + // 功能说明:按照status过滤查询 取值范围:ACTIVE、BUILD、DOWN + Status *ListPortsRequestStatus `json:"status,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照fixed_ips=ip_address或者fixed_ips=subnet_id过滤查询 + FixedIps *string `json:"fixed_ips,omitempty"` + + // 功能说明:企业项目ID,用于基于企业项目的权限管理。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 若需要查询当前用户所有企业项目绑定的端口,请传参all_granted_eps。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o ListPortsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListPortsRequest struct{}" + } + + return strings.Join([]string{"ListPortsRequest", string(data)}, " ") +} + +type ListPortsRequestDeviceOwner struct { + value string +} + +type ListPortsRequestDeviceOwnerEnum struct { + NETWORKDHCP ListPortsRequestDeviceOwner + NEUTRONVIP_PORT ListPortsRequestDeviceOwner + NETWORKROUTER_INTERFACE_DISTRIBUTED ListPortsRequestDeviceOwner + NETWORKROUTER_CENTRALIZED_SNAT ListPortsRequestDeviceOwner +} + +func GetListPortsRequestDeviceOwnerEnum() ListPortsRequestDeviceOwnerEnum { + return ListPortsRequestDeviceOwnerEnum{ + NETWORKDHCP: ListPortsRequestDeviceOwner{ + value: "network:dhcp", + }, + NEUTRONVIP_PORT: ListPortsRequestDeviceOwner{ + value: "neutron:VIP_PORT", + }, + NETWORKROUTER_INTERFACE_DISTRIBUTED: ListPortsRequestDeviceOwner{ + value: "network:router_interface_distributed", + }, + NETWORKROUTER_CENTRALIZED_SNAT: ListPortsRequestDeviceOwner{ + value: "network:router_centralized_snat", + }, + } +} + +func (c ListPortsRequestDeviceOwner) Value() string { + return c.value +} + +func (c ListPortsRequestDeviceOwner) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListPortsRequestDeviceOwner) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ListPortsRequestStatus struct { + value string +} + +type ListPortsRequestStatusEnum struct { + ACTIVE ListPortsRequestStatus + BUILD ListPortsRequestStatus + DOWN ListPortsRequestStatus +} + +func GetListPortsRequestStatusEnum() ListPortsRequestStatusEnum { + return ListPortsRequestStatusEnum{ + ACTIVE: ListPortsRequestStatus{ + value: "ACTIVE", + }, + BUILD: ListPortsRequestStatus{ + value: "BUILD", + }, + DOWN: ListPortsRequestStatus{ + value: "DOWN", + }, + } +} + +func (c ListPortsRequestStatus) Value() string { + return c.value +} + +func (c ListPortsRequestStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListPortsRequestStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_response.go new file mode 100644 index 000000000..02103ce0b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_ports_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListPortsResponse struct { + + // port列表对象 + Ports *[]Port `json:"ports,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListPortsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListPortsResponse struct{}" + } + + return strings.Join([]string{"ListPortsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_request.go new file mode 100644 index 000000000..c18867918 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_request.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListPrivateipsRequest struct { + + // 私有IP所在子网的唯一标识 + SubnetId string `json:"subnet_id"` + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源id,为空时查询第一页 + Marker *string `json:"marker,omitempty"` +} + +func (o ListPrivateipsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListPrivateipsRequest struct{}" + } + + return strings.Join([]string{"ListPrivateipsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_response.go new file mode 100644 index 000000000..96e098c78 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_privateips_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListPrivateipsResponse struct { + + // 私有IP列表对象 + Privateips *[]Privateip `json:"privateips,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListPrivateipsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListPrivateipsResponse struct{}" + } + + return strings.Join([]string{"ListPrivateipsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_resource_resp.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_resource_resp.go new file mode 100644 index 000000000..8fcf8c3a3 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_resource_resp.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type ListResourceResp struct { + + // 资源详情。 资源对象,用于扩展。默认为空 + ResouceDetail *interface{} `json:"resouce_detail"` + + // 资源ID + ResourceId string `json:"resource_id"` + + // 资源名称,没有默认为空字符串 + ResourceName string `json:"resource_name"` + + // 标签列表,没有标签默认为空数组 + Tags *[]ResourceTag `json:"tags,omitempty"` +} + +func (o ListResourceResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListResourceResp struct{}" + } + + return strings.Join([]string{"ListResourceResp", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_request.go new file mode 100644 index 000000000..20b5a3126 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_request.go @@ -0,0 +1,35 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListRouteTablesRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时为查询第一页 + Marker *string `json:"marker,omitempty"` + + // 路由表ID,可过滤对应ID的路由表 + Id *string `json:"id,omitempty"` + + // 虚拟私有云ID,可过滤对应虚拟私有云包含的路由表 + VpcId *string `json:"vpc_id,omitempty"` + + // 子网ID,可过滤对应子网关联的路由表 + SubnetId *string `json:"subnet_id,omitempty"` +} + +func (o ListRouteTablesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListRouteTablesRequest struct{}" + } + + return strings.Join([]string{"ListRouteTablesRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_response.go new file mode 100644 index 000000000..f48ce7169 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_route_tables_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListRouteTablesResponse struct { + + // 路由表对象列表 + Routetables *[]RouteTableListResp `json:"routetables,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListRouteTablesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListRouteTablesResponse struct{}" + } + + return strings.Join([]string{"ListRouteTablesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_request.go new file mode 100644 index 000000000..04c18a161 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_request.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListSecurityGroupRulesRequest struct { + + // 功能说明:分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 安全组ID + SecurityGroupId *string `json:"security_group_id,omitempty"` +} + +func (o ListSecurityGroupRulesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSecurityGroupRulesRequest struct{}" + } + + return strings.Join([]string{"ListSecurityGroupRulesRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_response.go new file mode 100644 index 000000000..ddee25328 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_group_rules_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListSecurityGroupRulesResponse struct { + + // 安全组规则对象列表 + SecurityGroupRules *[]SecurityGroupRule `json:"security_group_rules,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListSecurityGroupRulesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSecurityGroupRulesResponse struct{}" + } + + return strings.Join([]string{"ListSecurityGroupRulesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_request.go new file mode 100644 index 000000000..0c80fc7e4 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_request.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListSecurityGroupsRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照vpc_id过滤查询 + VpcId *string `json:"vpc_id,omitempty"` + + // 功能说明:企业项目ID。可以使用该字段过滤某个企业项目下的安全组。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。若需要查询当前用户所有企业项目绑定的安全组,或者企业项目子账号需要进行安全组列表展示,请传参all_granted_eps。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o ListSecurityGroupsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSecurityGroupsRequest struct{}" + } + + return strings.Join([]string{"ListSecurityGroupsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_response.go new file mode 100644 index 000000000..7984b73b8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_security_groups_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListSecurityGroupsResponse struct { + + // 安全组列表对象 + SecurityGroups *[]SecurityGroup `json:"security_groups,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListSecurityGroupsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSecurityGroupsResponse struct{}" + } + + return strings.Join([]string{"ListSecurityGroupsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_request.go new file mode 100644 index 000000000..bef8145fa --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_request.go @@ -0,0 +1,20 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListSubnetTagsRequest struct { +} + +func (o ListSubnetTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetTagsRequest struct{}" + } + + return strings.Join([]string{"ListSubnetTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_response.go new file mode 100644 index 000000000..58e67f25b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnet_tags_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListSubnetTagsResponse struct { + + // tag对象列表 + Tags *[]ListTag `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListSubnetTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetTagsResponse struct{}" + } + + return strings.Join([]string{"ListSubnetTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request.go new file mode 100644 index 000000000..c5cb78a12 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListSubnetsByTagsRequest struct { + Body *ListSubnetsByTagsRequestBody `json:"body,omitempty"` +} + +func (o ListSubnetsByTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetsByTagsRequest struct{}" + } + + return strings.Join([]string{"ListSubnetsByTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request_body.go new file mode 100644 index 000000000..fefc87c84 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_request_body.go @@ -0,0 +1,80 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// This is a auto create Body Object +type ListSubnetsByTagsRequestBody struct { + + // 功能说明:操作标识 取值范围:filter(过滤),count(查询总条数) + Action ListSubnetsByTagsRequestBodyAction `json:"action"` + + // 功能说明:查询记录数 取值范围:1-1000 约束:action为count时此参数不生效;action为filter时默认为1000 + Limit *int32 `json:"limit,omitempty"` + + // 功能说明:索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数 约束:action为count时无此参数;action为filter时默认为0;必须为数字,不能为负数 + Offset *int32 `json:"offset,omitempty"` + + // 功能说明:搜索字段,key为要匹配的字段,value为匹配的值 约束:当前仅支持resource_name + Matches *[]Match `json:"matches,omitempty"` + + // 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复 + Tags *[]ListTag `json:"tags,omitempty"` +} + +func (o ListSubnetsByTagsRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetsByTagsRequestBody struct{}" + } + + return strings.Join([]string{"ListSubnetsByTagsRequestBody", string(data)}, " ") +} + +type ListSubnetsByTagsRequestBodyAction struct { + value string +} + +type ListSubnetsByTagsRequestBodyActionEnum struct { + FILTER ListSubnetsByTagsRequestBodyAction + COUNT ListSubnetsByTagsRequestBodyAction +} + +func GetListSubnetsByTagsRequestBodyActionEnum() ListSubnetsByTagsRequestBodyActionEnum { + return ListSubnetsByTagsRequestBodyActionEnum{ + FILTER: ListSubnetsByTagsRequestBodyAction{ + value: "filter", + }, + COUNT: ListSubnetsByTagsRequestBodyAction{ + value: "count", + }, + } +} + +func (c ListSubnetsByTagsRequestBodyAction) Value() string { + return c.value +} + +func (c ListSubnetsByTagsRequestBodyAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListSubnetsByTagsRequestBodyAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_response.go new file mode 100644 index 000000000..2c7287810 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_by_tags_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListSubnetsByTagsResponse struct { + + // 资源列表 + Resources *[]ListResourceResp `json:"resources,omitempty"` + + // 资源数量 + TotalCount *int32 `json:"total_count,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListSubnetsByTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetsByTagsResponse struct{}" + } + + return strings.Join([]string{"ListSubnetsByTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_request.go new file mode 100644 index 000000000..6eee5260f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_request.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListSubnetsRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源id,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照vpc_id过滤查询 企业项目细粒度授权场景下,该字段必传 + VpcId *string `json:"vpc_id,omitempty"` +} + +func (o ListSubnetsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetsRequest struct{}" + } + + return strings.Join([]string{"ListSubnetsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_response.go new file mode 100644 index 000000000..b498d75a1 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_subnets_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListSubnetsResponse struct { + + // subnet对象列表 + Subnets *[]Subnet `json:"subnets,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListSubnetsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListSubnetsResponse struct{}" + } + + return strings.Join([]string{"ListSubnetsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_tag.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_tag.go new file mode 100644 index 000000000..2a387c62b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_tag.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type ListTag struct { + + // 功能说明:标签键 约束:key不能为空 + Key string `json:"key"` + + // 功能描述:标签值列表。 如果values为空列表,则表示any_value。value之间为或的关系。 + Values []string `json:"values"` +} + +func (o ListTag) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListTag struct{}" + } + + return strings.Join([]string{"ListTag", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_request.go new file mode 100644 index 000000000..2bf00eca9 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_request.go @@ -0,0 +1,98 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ListVpcPeeringsRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照peering_id过滤查询 + Id *string `json:"id,omitempty"` + + // 功能说明:按照peering_name过查询 取值范围:最大长度不超过64 + Name *string `json:"name,omitempty"` + + // 根据status进行过滤 - PENDING_ACCEPTANCE:等待接受 - REJECTED:已拒绝。 - EXPIRED:已过期。 - DELETED:已删除。 - ACTIVE:活动的。 + Status *ListVpcPeeringsRequestStatus `json:"status,omitempty"` + + // 按照项目ID过滤查询 + TenantId *string `json:"tenant_id,omitempty"` + + // 根据vpc ID过滤查询 + VpcId *string `json:"vpc_id,omitempty"` +} + +func (o ListVpcPeeringsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcPeeringsRequest struct{}" + } + + return strings.Join([]string{"ListVpcPeeringsRequest", string(data)}, " ") +} + +type ListVpcPeeringsRequestStatus struct { + value string +} + +type ListVpcPeeringsRequestStatusEnum struct { + PENDING_ACCEPTANCE ListVpcPeeringsRequestStatus + REJECTED ListVpcPeeringsRequestStatus + EXPIRED ListVpcPeeringsRequestStatus + DELETED ListVpcPeeringsRequestStatus + ACTIVE ListVpcPeeringsRequestStatus +} + +func GetListVpcPeeringsRequestStatusEnum() ListVpcPeeringsRequestStatusEnum { + return ListVpcPeeringsRequestStatusEnum{ + PENDING_ACCEPTANCE: ListVpcPeeringsRequestStatus{ + value: "PENDING_ACCEPTANCE", + }, + REJECTED: ListVpcPeeringsRequestStatus{ + value: "REJECTED", + }, + EXPIRED: ListVpcPeeringsRequestStatus{ + value: "EXPIRED", + }, + DELETED: ListVpcPeeringsRequestStatus{ + value: "DELETED", + }, + ACTIVE: ListVpcPeeringsRequestStatus{ + value: "ACTIVE", + }, + } +} + +func (c ListVpcPeeringsRequestStatus) Value() string { + return c.value +} + +func (c ListVpcPeeringsRequestStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListVpcPeeringsRequestStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_response.go new file mode 100644 index 000000000..3ef05285e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_peerings_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListVpcPeeringsResponse struct { + + // peering对象列表 + Peerings *[]VpcPeering `json:"peerings,omitempty"` + + // 分页信息 + PeeringsLinks *[]NeutronPageLink `json:"peerings_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListVpcPeeringsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcPeeringsResponse struct{}" + } + + return strings.Join([]string{"ListVpcPeeringsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_request.go new file mode 100644 index 000000000..4a104b4a5 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_request.go @@ -0,0 +1,82 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ListVpcRoutesRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照routes_id过滤查询 + Id *string `json:"id,omitempty"` + + // 功能说明:按照路由类型过滤查询 取值范围:peering + Type *ListVpcRoutesRequestType `json:"type,omitempty"` + + // 按照vpc_id过滤查询 + VpcId *string `json:"vpc_id,omitempty"` + + // 按照路由目的地址CIDR过滤查询 + Destination *string `json:"destination,omitempty"` + + // 按照项目ID过滤查询 + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o ListVpcRoutesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcRoutesRequest struct{}" + } + + return strings.Join([]string{"ListVpcRoutesRequest", string(data)}, " ") +} + +type ListVpcRoutesRequestType struct { + value string +} + +type ListVpcRoutesRequestTypeEnum struct { + PEERING ListVpcRoutesRequestType +} + +func GetListVpcRoutesRequestTypeEnum() ListVpcRoutesRequestTypeEnum { + return ListVpcRoutesRequestTypeEnum{ + PEERING: ListVpcRoutesRequestType{ + value: "peering", + }, + } +} + +func (c ListVpcRoutesRequestType) Value() string { + return c.value +} + +func (c ListVpcRoutesRequestType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListVpcRoutesRequestType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_response.go new file mode 100644 index 000000000..c5f5cac22 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_routes_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListVpcRoutesResponse struct { + + // route对象列表 + Routes *[]VpcRoute `json:"routes,omitempty"` + + // 分页信息 + RoutesLinks *[]NeutronPageLink `json:"routes_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListVpcRoutesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcRoutesResponse struct{}" + } + + return strings.Join([]string{"ListVpcRoutesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_request.go new file mode 100644 index 000000000..72bae624a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_request.go @@ -0,0 +1,20 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListVpcTagsRequest struct { +} + +func (o ListVpcTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcTagsRequest struct{}" + } + + return strings.Join([]string{"ListVpcTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_response.go new file mode 100644 index 000000000..0b107d812 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpc_tags_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListVpcTagsResponse struct { + + // tag对象列表 + Tags *[]ListTag `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListVpcTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcTagsResponse struct{}" + } + + return strings.Join([]string{"ListVpcTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request.go new file mode 100644 index 000000000..092cac617 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListVpcsByTagsRequest struct { + Body *ListVpcsByTagsRequestBody `json:"body,omitempty"` +} + +func (o ListVpcsByTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcsByTagsRequest struct{}" + } + + return strings.Join([]string{"ListVpcsByTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request_body.go new file mode 100644 index 000000000..927b28f17 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_request_body.go @@ -0,0 +1,80 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// This is a auto create Body Object +type ListVpcsByTagsRequestBody struct { + + // 功能说明:操作标识 取值范围:filter(过滤),count(查询总条数) + Action ListVpcsByTagsRequestBodyAction `json:"action"` + + // 功能说明:查询记录数 取值范围:1-1000 约束:action为count时此参数不生效;action为filter时默认为1000 + Limit *int32 `json:"limit,omitempty"` + + // 功能说明:索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数 约束:action为count时无此参数;action为filter时默认为0;必须为数字,不能为负数 + Offset *int32 `json:"offset,omitempty"` + + // 功能说明:搜索字段,key为要匹配的字段,value为匹配的值 约束:当前仅支持resource_name + Matches *[]Match `json:"matches,omitempty"` + + // 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复 + Tags *[]ListTag `json:"tags,omitempty"` +} + +func (o ListVpcsByTagsRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcsByTagsRequestBody struct{}" + } + + return strings.Join([]string{"ListVpcsByTagsRequestBody", string(data)}, " ") +} + +type ListVpcsByTagsRequestBodyAction struct { + value string +} + +type ListVpcsByTagsRequestBodyActionEnum struct { + FILTER ListVpcsByTagsRequestBodyAction + COUNT ListVpcsByTagsRequestBodyAction +} + +func GetListVpcsByTagsRequestBodyActionEnum() ListVpcsByTagsRequestBodyActionEnum { + return ListVpcsByTagsRequestBodyActionEnum{ + FILTER: ListVpcsByTagsRequestBodyAction{ + value: "filter", + }, + COUNT: ListVpcsByTagsRequestBodyAction{ + value: "count", + }, + } +} + +func (c ListVpcsByTagsRequestBodyAction) Value() string { + return c.value +} + +func (c ListVpcsByTagsRequestBodyAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListVpcsByTagsRequestBodyAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_response.go new file mode 100644 index 000000000..af4ba8146 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_by_tags_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListVpcsByTagsResponse struct { + + // 资源列表 + Resources *[]ListResourceResp `json:"resources,omitempty"` + + // 资源数量 + TotalCount *int32 `json:"total_count,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListVpcsByTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcsByTagsResponse struct{}" + } + + return strings.Join([]string{"ListVpcsByTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_request.go new file mode 100644 index 000000000..944a4b817 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_request.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListVpcsRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 功能说明:虚拟私有云ID。可以使用该字段过滤某个ID的虚拟私有云。 + Id *string `json:"id,omitempty"` + + // 功能说明:企业项目ID。可以使用该字段过滤某个企业项目下的虚拟私有云。若未传值则默认返回所有企业项目绑定的虚拟私有云。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。若需要查询当前用户所有企业项目绑定的虚拟私有云,请传参all_granted_eps。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o ListVpcsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcsRequest struct{}" + } + + return strings.Join([]string{"ListVpcsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_response.go new file mode 100644 index 000000000..912ae87ba --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_list_vpcs_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListVpcsResponse struct { + + // vpc对象列表 + Vpcs *[]Vpc `json:"vpcs,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListVpcsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListVpcsResponse struct{}" + } + + return strings.Join([]string{"ListVpcsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_match.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_match.go new file mode 100644 index 000000000..fcad75664 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_match.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type Match struct { + + // 键。当前仅限定为resource_name + Key string `json:"key"` + + // 值。每个值最大长度255个unicode字符,不能包含$ - . /等特殊字符。 + Value string `json:"value"` +} + +func (o Match) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Match struct{}" + } + + return strings.Join([]string{"Match", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_network_ip_availability.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_network_ip_availability.go new file mode 100644 index 000000000..324b84e7f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_network_ip_availability.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NetworkIpAvailability struct { + + // 网络ID + NetworkId string `json:"network_id"` + + // 网络名称 + NetworkName string `json:"network_name"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 网络中IP总数(不包含系统预留地址) + TotalIps int32 `json:"total_ips"` + + // 网络中已经使用的IP数目(不包含系统预留地址) + UsedIps int32 `json:"used_ips"` + + // 子网IP使用情况的对象 + SubnetIpAvailability []SubnetIpAvailability `json:"subnet_ip_availability"` +} + +func (o NetworkIpAvailability) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NetworkIpAvailability struct{}" + } + + return strings.Join([]string{"NetworkIpAvailability", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_request.go new file mode 100644 index 000000000..7c54a4d29 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronAddFirewallRuleRequest struct { + + // 网络ACL防火墙策略ID + FirewallPolicyId string `json:"firewall_policy_id"` + + Body *NeutronInsertFirewallRuleRequestBody `json:"body,omitempty"` +} + +func (o NeutronAddFirewallRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronAddFirewallRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronAddFirewallRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_response.go new file mode 100644 index 000000000..930291fd7 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_add_firewall_rule_response.go @@ -0,0 +1,45 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronAddFirewallRuleResponse struct { + + // 功能说明:网络ACL策略ID + Id *string `json:"id,omitempty"` + + // 功能说明:网络ACL策略名称 + Name *string `json:"name,omitempty"` + + // 功能说明:网络ACL策略的描述信息 取值范围:0-255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:网络ACL策略关联的规则的ID列表 + FirewallRules *[]string `json:"firewall_rules,omitempty"` + + // 功能说明:每次policy或者它相关的rule有变动,该参数将会被置为False + Audited *bool `json:"audited,omitempty"` + + // 功能说明:网络ACL策略是否对其他网络ACL策略可见 取值范围:true(可见)、false(不可见) + Public *bool `json:"public,omitempty"` + + // 功能说明:网络ACL策略所属项目ID + TenantId *string `json:"tenant_id,omitempty"` + + // 功能说明:网络ACL策略所属项目ID + ProjectId *string `json:"project_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronAddFirewallRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronAddFirewallRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronAddFirewallRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_option.go new file mode 100644 index 000000000..03d2ede88 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_option.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateFirewallGroupOption struct { + + // 功能说明:网络ACL组名称 取值范围:0-255个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:网络ACL防火墙组描述 取值范围:最长255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:入方向网络ACL策略 + IngressFirewallPolicyId *string `json:"ingress_firewall_policy_id,omitempty"` + + // 功能说明:出方向网络ACL策略 + EgressFirewallPolicyId *string `json:"egress_firewall_policy_id,omitempty"` + + // 功能说明:网络ACL防火墙组绑定的端口列表 约束:必须为分布式router的端口id + Ports *[]string `json:"ports,omitempty"` + + // 功能说明:网络ACL是否受管理员控制 + AdminStateUp *bool `json:"admin_state_up,omitempty"` +} + +func (o NeutronCreateFirewallGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallGroupOption struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallGroupOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request.go new file mode 100644 index 000000000..3222f02d6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronCreateFirewallGroupRequest struct { + Body *NeutronCreateFirewallGroupRequestBody `json:"body,omitempty"` +} + +func (o NeutronCreateFirewallGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request_body.go new file mode 100644 index 000000000..ccbcaa4d9 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateFirewallGroupRequestBody struct { + FirewallGroup *NeutronCreateFirewallGroupOption `json:"firewall_group"` +} + +func (o NeutronCreateFirewallGroupRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallGroupRequestBody struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallGroupRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_response.go new file mode 100644 index 000000000..e0f3a06d6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronCreateFirewallGroupResponse struct { + FirewallGroup *NeutronFirewallGroup `json:"firewall_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronCreateFirewallGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_option.go new file mode 100644 index 000000000..7bdfd051d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_option.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateFirewallPolicyOption struct { + + // 审计标记。 + Audited *bool `json:"audited,omitempty"` + + // 功能说明:网络ACL防火墙策略描述 取值范围:最长255个字符 + Description *string `json:"description,omitempty"` + + // 策略引用的网络ACL防火墙规则链。 + FirewallRules *[]string `json:"firewall_rules,omitempty"` + + // 功能说明:网络ACL防火墙策略名称 取值范围:最长255个字符 + Name *string `json:"name,omitempty"` +} + +func (o NeutronCreateFirewallPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallPolicyOption struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallPolicyOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request.go new file mode 100644 index 000000000..5a0c72e67 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronCreateFirewallPolicyRequest struct { + Body *NeutronCreateFirewallPolicyRequestBody `json:"body,omitempty"` +} + +func (o NeutronCreateFirewallPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallPolicyRequest struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallPolicyRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request_body.go new file mode 100644 index 000000000..8a73d4f2a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateFirewallPolicyRequestBody struct { + FirewallPolicy *NeutronCreateFirewallPolicyOption `json:"firewall_policy"` +} + +func (o NeutronCreateFirewallPolicyRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallPolicyRequestBody struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallPolicyRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_response.go new file mode 100644 index 000000000..581d0f81d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_policy_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronCreateFirewallPolicyResponse struct { + FirewallPolicy *NeutronFirewallPolicy `json:"firewall_policy,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronCreateFirewallPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallPolicyResponse struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallPolicyResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_option.go new file mode 100644 index 000000000..32e297ed6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_option.go @@ -0,0 +1,95 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type NeutronCreateFirewallRuleOption struct { + + // 功能说明:网络ACL规则名称 取值范围:0-255个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:网络ACL规则描述 取值范围:0-255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:IP协议 取值范围:支持TCP,UDP,ICMP, ICMPV6或者ip协议号(0-255) + Protocol *string `json:"protocol,omitempty"` + + // 功能说明:对通过网络ACL的流量执行的操作 取值范围:DENY(拒绝)/ALLOW(允许) + Action *NeutronCreateFirewallRuleOptionAction `json:"action,omitempty"` + + // 功能说明:IP协议版本 + IpVersion *int32 `json:"ip_version,omitempty"` + + // 功能说明:目的地址或者CIDR + DestinationIpAddress *string `json:"destination_ip_address,omitempty"` + + // 功能说明:目的端口号或者一段端口范围 + DestinationPort *string `json:"destination_port,omitempty"` + + // 功能说明:源地址或者CIDR + SourceIpAddress *string `json:"source_ip_address,omitempty"` + + // 功能说明:源端口号或者一段端口范围 + SourcePort *string `json:"source_port,omitempty"` + + // 功能说明:是否使能网络ACL防火墙规则。 + Enabled *bool `json:"enabled,omitempty"` +} + +func (o NeutronCreateFirewallRuleOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallRuleOption struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallRuleOption", string(data)}, " ") +} + +type NeutronCreateFirewallRuleOptionAction struct { + value string +} + +type NeutronCreateFirewallRuleOptionActionEnum struct { + DENY NeutronCreateFirewallRuleOptionAction + ALLOW NeutronCreateFirewallRuleOptionAction +} + +func GetNeutronCreateFirewallRuleOptionActionEnum() NeutronCreateFirewallRuleOptionActionEnum { + return NeutronCreateFirewallRuleOptionActionEnum{ + DENY: NeutronCreateFirewallRuleOptionAction{ + value: "DENY", + }, + ALLOW: NeutronCreateFirewallRuleOptionAction{ + value: "ALLOW", + }, + } +} + +func (c NeutronCreateFirewallRuleOptionAction) Value() string { + return c.value +} + +func (c NeutronCreateFirewallRuleOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NeutronCreateFirewallRuleOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request.go new file mode 100644 index 000000000..1cbd43a65 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronCreateFirewallRuleRequest struct { + Body *NeutronCreateFirewallRuleRequestBody `json:"body,omitempty"` +} + +func (o NeutronCreateFirewallRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request_body.go new file mode 100644 index 000000000..2c2a20c10 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateFirewallRuleRequestBody struct { + FirewallRule *NeutronCreateFirewallRuleOption `json:"firewall_rule"` +} + +func (o NeutronCreateFirewallRuleRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallRuleRequestBody struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallRuleRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_response.go new file mode 100644 index 000000000..8da033ccb --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_firewall_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronCreateFirewallRuleResponse struct { + FirewallRule *NeutronFirewallRule `json:"firewall_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronCreateFirewallRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateFirewallRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronCreateFirewallRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_option.go new file mode 100644 index 000000000..6186d4abd --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_option.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateSecurityGroupOption struct { + + // 功能说明:安全组描述 取值范围:0-255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:安全组名称 取值范围:0-255个字符 约束:不允许为“default” + Name *string `json:"name,omitempty"` +} + +func (o NeutronCreateSecurityGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupOption struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request.go new file mode 100644 index 000000000..37a231d8a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronCreateSecurityGroupRequest struct { + Body *NeutronCreateSecurityGroupRequestBody `json:"body,omitempty"` +} + +func (o NeutronCreateSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request_body.go new file mode 100644 index 000000000..3ce6b8088 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateSecurityGroupRequestBody struct { + SecurityGroup *NeutronCreateSecurityGroupOption `json:"security_group"` +} + +func (o NeutronCreateSecurityGroupRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupRequestBody struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_response.go new file mode 100644 index 000000000..5ee5ca8ab --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronCreateSecurityGroupResponse struct { + SecurityGroup *NeutronSecurityGroup `json:"security_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronCreateSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_option.go new file mode 100644 index 000000000..6a98ccc7f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_option.go @@ -0,0 +1,134 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type NeutronCreateSecurityGroupRuleOption struct { + + // 功能说明:安全组规则描述 取值范围:0-255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:安全组规则方向 取值范围:ingress(入方向)或egress(出方向) + Direction NeutronCreateSecurityGroupRuleOptionDirection `json:"direction"` + + // 功能说明:安全组规则网络类型 取值范围:IPv4或IPv6 + Ethertype *NeutronCreateSecurityGroupRuleOptionEthertype `json:"ethertype,omitempty"` + + // 最大端口,当协议类型为ICMP时,该值表示ICMP的code + PortRangeMax *int32 `json:"port_range_max,omitempty"` + + // 功能说明:最小端口,当协议类型为ICMP时,该值表示ICMP的type 约束:protocol为tcp和udp时,port_range_max和port_range_min必须同时输入,且port_range_max应大于等于port_range_min。protocol为icmp时,指定ICMP code(port_range_max)时,必须同时指定ICMP type(port_range_min)。 + PortRangeMin *int32 `json:"port_range_min,omitempty"` + + // 功能说明:tcp/udp/icmp/icmpv6或IP协议编号(0~255) 约束:协议为icmpv6时,网络类型应该为IPv6;协议为icmp时,网络类型应该为IPv4 + Protocol *string `json:"protocol,omitempty"` + + // 功能说明:目的安全组的ID + RemoteGroupId *string `json:"remote_group_id,omitempty"` + + // 功能说明:目的端ip网段 取值范围:cidr格式,如10.10.0.0/16 + RemoteIpPrefix *string `json:"remote_ip_prefix,omitempty"` + + // 所属安全组ID + SecurityGroupId string `json:"security_group_id"` +} + +func (o NeutronCreateSecurityGroupRuleOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupRuleOption struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupRuleOption", string(data)}, " ") +} + +type NeutronCreateSecurityGroupRuleOptionDirection struct { + value string +} + +type NeutronCreateSecurityGroupRuleOptionDirectionEnum struct { + INGRESS NeutronCreateSecurityGroupRuleOptionDirection + EGRESS NeutronCreateSecurityGroupRuleOptionDirection +} + +func GetNeutronCreateSecurityGroupRuleOptionDirectionEnum() NeutronCreateSecurityGroupRuleOptionDirectionEnum { + return NeutronCreateSecurityGroupRuleOptionDirectionEnum{ + INGRESS: NeutronCreateSecurityGroupRuleOptionDirection{ + value: "ingress", + }, + EGRESS: NeutronCreateSecurityGroupRuleOptionDirection{ + value: "egress", + }, + } +} + +func (c NeutronCreateSecurityGroupRuleOptionDirection) Value() string { + return c.value +} + +func (c NeutronCreateSecurityGroupRuleOptionDirection) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NeutronCreateSecurityGroupRuleOptionDirection) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type NeutronCreateSecurityGroupRuleOptionEthertype struct { + value string +} + +type NeutronCreateSecurityGroupRuleOptionEthertypeEnum struct { + I_PV4 NeutronCreateSecurityGroupRuleOptionEthertype + I_PV6 NeutronCreateSecurityGroupRuleOptionEthertype +} + +func GetNeutronCreateSecurityGroupRuleOptionEthertypeEnum() NeutronCreateSecurityGroupRuleOptionEthertypeEnum { + return NeutronCreateSecurityGroupRuleOptionEthertypeEnum{ + I_PV4: NeutronCreateSecurityGroupRuleOptionEthertype{ + value: "IPv4", + }, + I_PV6: NeutronCreateSecurityGroupRuleOptionEthertype{ + value: "IPv6", + }, + } +} + +func (c NeutronCreateSecurityGroupRuleOptionEthertype) Value() string { + return c.value +} + +func (c NeutronCreateSecurityGroupRuleOptionEthertype) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NeutronCreateSecurityGroupRuleOptionEthertype) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request.go new file mode 100644 index 000000000..99aad28b2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronCreateSecurityGroupRuleRequest struct { + Body *NeutronCreateSecurityGroupRuleRequestBody `json:"body,omitempty"` +} + +func (o NeutronCreateSecurityGroupRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request_body.go new file mode 100644 index 000000000..9fb030876 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronCreateSecurityGroupRuleRequestBody struct { + SecurityGroupRule *NeutronCreateSecurityGroupRuleOption `json:"security_group_rule"` +} + +func (o NeutronCreateSecurityGroupRuleRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupRuleRequestBody struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupRuleRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_response.go new file mode 100644 index 000000000..dd5ea19d6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_create_security_group_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronCreateSecurityGroupRuleResponse struct { + SecurityGroupRule *NeutronSecurityGroupRule `json:"security_group_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronCreateSecurityGroupRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronCreateSecurityGroupRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronCreateSecurityGroupRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_request.go new file mode 100644 index 000000000..c61c2f7c6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronDeleteFirewallGroupRequest struct { + + // 网络ACL防火墙组ID + FirewallGroupId string `json:"firewall_group_id"` +} + +func (o NeutronDeleteFirewallGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteFirewallGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronDeleteFirewallGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_response.go new file mode 100644 index 000000000..965080252 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_group_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronDeleteFirewallGroupResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o NeutronDeleteFirewallGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteFirewallGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronDeleteFirewallGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_request.go new file mode 100644 index 000000000..33a10c419 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronDeleteFirewallPolicyRequest struct { + + // 网络ACL防火墙策略ID + FirewallPolicyId string `json:"firewall_policy_id"` +} + +func (o NeutronDeleteFirewallPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteFirewallPolicyRequest struct{}" + } + + return strings.Join([]string{"NeutronDeleteFirewallPolicyRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_response.go new file mode 100644 index 000000000..9663ba1aa --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_policy_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronDeleteFirewallPolicyResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o NeutronDeleteFirewallPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteFirewallPolicyResponse struct{}" + } + + return strings.Join([]string{"NeutronDeleteFirewallPolicyResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_request.go new file mode 100644 index 000000000..8c78d92fa --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronDeleteFirewallRuleRequest struct { + + // 网络ACL防火墙规则ID + FirewallRuleId string `json:"firewall_rule_id"` +} + +func (o NeutronDeleteFirewallRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteFirewallRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronDeleteFirewallRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_response.go new file mode 100644 index 000000000..f5a0646e0 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_firewall_rule_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronDeleteFirewallRuleResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o NeutronDeleteFirewallRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteFirewallRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronDeleteFirewallRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_request.go new file mode 100644 index 000000000..8b5468ea3 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronDeleteSecurityGroupRequest struct { + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` +} + +func (o NeutronDeleteSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronDeleteSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_response.go new file mode 100644 index 000000000..24f1e9ea6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronDeleteSecurityGroupResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o NeutronDeleteSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronDeleteSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_request.go new file mode 100644 index 000000000..9888f9dc8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronDeleteSecurityGroupRuleRequest struct { + + // 安全组规则ID + SecurityGroupRuleId string `json:"security_group_rule_id"` +} + +func (o NeutronDeleteSecurityGroupRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteSecurityGroupRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronDeleteSecurityGroupRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_response.go new file mode 100644 index 000000000..23b5bab08 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_delete_security_group_rule_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronDeleteSecurityGroupRuleResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o NeutronDeleteSecurityGroupRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronDeleteSecurityGroupRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronDeleteSecurityGroupRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_group.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_group.go new file mode 100644 index 000000000..98b916efe --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_group.go @@ -0,0 +1,60 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronFirewallGroup struct { + + // 功能说明:网络ACL组的ID + Id string `json:"id"` + + // 功能说明:网络ACL组名称 取值范围:0-255个字符 + Name string `json:"name"` + + // 功能说明:网络ACL组描述 取值范围:0-255个字符 + Description string `json:"description"` + + // 网络ACL防火墙是否受管理员控制。 + AdminStateUp bool `json:"admin_state_up"` + + // 功能说明:出方向网络ACL策略ID + EgressFirewallPolicyId string `json:"egress_firewall_policy_id"` + + // 功能说明:入方向网络ACL策略ID + IngressFirewallPolicyId string `json:"ingress_firewall_policy_id"` + + // 取值范围:网络ACL组绑定的端口列表 + Ports []string `json:"ports"` + + // 功能说明:是否支持跨租户共享 取值范围:true/false + Public bool `json:"public"` + + // 功能说明:网络ACL组状态 + Status string `json:"status"` + + // 功能说明:网络ACL组所属项目ID + TenantId string `json:"tenant_id"` + + // 功能说明:网络ACL组所属项目ID + ProjectId string `json:"project_id"` + + // 功能说明:资源创建时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss + CreatedAt *sdktime.SdkTime `json:"created_at"` + + // 功能说明:资源更新时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss + UpdatedAt *sdktime.SdkTime `json:"updated_at"` +} + +func (o NeutronFirewallGroup) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronFirewallGroup struct{}" + } + + return strings.Join([]string{"NeutronFirewallGroup", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_policy.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_policy.go new file mode 100644 index 000000000..4106e8d67 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_policy.go @@ -0,0 +1,44 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronFirewallPolicy struct { + + // 审计标记。 + Audited bool `json:"audited"` + + // 网络ACL防火墙策略描述。 + Description string `json:"description"` + + // 策略引用的网络ACL防火墙规则链。 + FirewallRules []string `json:"firewall_rules"` + + // 网络ACL防火墙策略uuid标识。 + Id string `json:"id"` + + // 网络ACL防火墙策略名称。 + Name string `json:"name"` + + // 是否支持跨租户共享。 + Public bool `json:"public"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 项目ID + ProjectId string `json:"project_id"` +} + +func (o NeutronFirewallPolicy) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronFirewallPolicy struct{}" + } + + return strings.Join([]string{"NeutronFirewallPolicy", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_rule.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_rule.go new file mode 100644 index 000000000..f292f1e37 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_firewall_rule.go @@ -0,0 +1,107 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type NeutronFirewallRule struct { + + // 功能说明:网络ACL规则的uuid标识。 + Id string `json:"id"` + + // 功能说明:网络ACL规则名称。 取值范围:0-255个字符 + Name string `json:"name"` + + // 功能说明:网络ACL规则描述 取值范围:0-255个字符长度 + Description string `json:"description"` + + // 功能说明:对通过网络ACL的流量执行的操作。 取值范围:DENY(拒绝)/ALLOW(允许) + Action NeutronFirewallRuleAction `json:"action"` + + // 功能说明:IP协议 取值范围:支持TCP,UDP,ICMP, ICMPV6或者IP协议号(0-255) + Protocol string `json:"protocol"` + + // 功能说明:IP协议版本 取值范围:Ipv4/Ipv6 + IpVersion int32 `json:"ip_version"` + + // 功能说明:是否使能网络ACL规则。 取值范围:true/false + Enabled bool `json:"enabled"` + + // 功能说明:是否支持跨租户共享 取值范围:true/false + Public bool `json:"public"` + + // 功能说明:目的地址或者CIDR。 + DestinationIpAddress string `json:"destination_ip_address"` + + // 功能说明:目的端口号或者一段端口范围。 + DestinationPort string `json:"destination_port"` + + // 功能说明:源地址或者CIDR。 + SourceIpAddress string `json:"source_ip_address"` + + // 功能说明:源端口号或者一段端口范围。 + SourcePort string `json:"source_port"` + + // 功能说明:项目ID + TenantId string `json:"tenant_id"` + + // 功能说明:项目ID + ProjectId string `json:"project_id"` +} + +func (o NeutronFirewallRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronFirewallRule struct{}" + } + + return strings.Join([]string{"NeutronFirewallRule", string(data)}, " ") +} + +type NeutronFirewallRuleAction struct { + value string +} + +type NeutronFirewallRuleActionEnum struct { + DENY NeutronFirewallRuleAction + ALLOW NeutronFirewallRuleAction +} + +func GetNeutronFirewallRuleActionEnum() NeutronFirewallRuleActionEnum { + return NeutronFirewallRuleActionEnum{ + DENY: NeutronFirewallRuleAction{ + value: "DENY", + }, + ALLOW: NeutronFirewallRuleAction{ + value: "ALLOW", + }, + } +} + +func (c NeutronFirewallRuleAction) Value() string { + return c.value +} + +func (c NeutronFirewallRuleAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NeutronFirewallRuleAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_insert_firewall_rule_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_insert_firewall_rule_request_body.go new file mode 100644 index 000000000..d49b96e3d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_insert_firewall_rule_request_body.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronInsertFirewallRuleRequestBody struct { + + // 功能说明:网络ACL规则ID + FirewallRuleId string `json:"firewall_rule_id"` + + // insert_after参数表示已经和某个policy关联的rule,新的rule将会直接被插入到insert_after参数指定的rule后面。如果insert_after和insert_before都被指定了,insert_after参数值将被忽略。 + InsertAfter *string `json:"insert_after,omitempty"` + + // insert_before参数表示已经和某个policy关联的rule,新的firewall rule将会直接被插入到insert_ before参数指定的firewall rule前面。如果insert_after和insert_before都被指定了,insert_after参数值将被忽略。 + InsertBefore *string `json:"insert_before,omitempty"` +} + +func (o NeutronInsertFirewallRuleRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronInsertFirewallRuleRequestBody struct{}" + } + + return strings.Join([]string{"NeutronInsertFirewallRuleRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_request.go new file mode 100644 index 000000000..fbf7567f9 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_request.go @@ -0,0 +1,41 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronListFirewallGroupsRequest struct { + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 使用id过滤网络ACL组 + Id *[]string `json:"id,omitempty"` + + // 使用name过滤ACL组 + Name *[]string `json:"name,omitempty"` + + // 使用description过滤ACL组 + Description *[]string `json:"description,omitempty"` + + // 使用入方向的网络ACL策略ID过滤网络ACL组 + IngressFirewallPolicyId *string `json:"ingress_firewall_policy_id,omitempty"` + + // 使用出方向的网络ACL策略过滤查询网络ACL组 + EgressFirewallPolicyId *string `json:"egress_firewall_policy_id,omitempty"` +} + +func (o NeutronListFirewallGroupsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListFirewallGroupsRequest struct{}" + } + + return strings.Join([]string{"NeutronListFirewallGroupsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_response.go new file mode 100644 index 000000000..7007e2268 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_groups_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronListFirewallGroupsResponse struct { + + // firewall_group对象列表 + FirewallGroups *[]NeutronFirewallGroup `json:"firewall_groups,omitempty"` + + // 分页信息 + FirewallGroupsLinks *[]NeutronPageLink `json:"firewall_groups_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronListFirewallGroupsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListFirewallGroupsResponse struct{}" + } + + return strings.Join([]string{"NeutronListFirewallGroupsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_request.go new file mode 100644 index 000000000..63ced931b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_request.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronListFirewallPoliciesRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 使用网络ACL策略ID过滤网络ACL策略 + Id *[]string `json:"id,omitempty"` + + // 使用name过滤网络ACL策略 + Name *[]string `json:"name,omitempty"` + + // 使用网络ACL策略描述过滤查询网络ACL策略 + Description *[]string `json:"description,omitempty"` + + // 使用tenant_id过滤查询网络ACL策略 + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o NeutronListFirewallPoliciesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListFirewallPoliciesRequest struct{}" + } + + return strings.Join([]string{"NeutronListFirewallPoliciesRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_response.go new file mode 100644 index 000000000..1164a8acb --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_policies_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronListFirewallPoliciesResponse struct { + + // firewall_policy对象列表 + FirewallPolicies *[]NeutronFirewallPolicy `json:"firewall_policies,omitempty"` + + // 分页信息 + FirewallPoliciesLinks *[]NeutronPageLink `json:"firewall_policies_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronListFirewallPoliciesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListFirewallPoliciesResponse struct{}" + } + + return strings.Join([]string{"NeutronListFirewallPoliciesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_request.go new file mode 100644 index 000000000..459b3fd82 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_request.go @@ -0,0 +1,41 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronListFirewallRulesRequest struct { + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 使用网络ACL规则ID过滤网络ACL规则 + Id *[]string `json:"id,omitempty"` + + // 使用网络ACL规则name过滤网络ACL规则 + Name *[]string `json:"name,omitempty"` + + // 使用网络ACL规则的description过滤网络ACL规则 + Description *[]string `json:"description,omitempty"` + + // 使用action过滤查询网络ACL规则 + Action *string `json:"action,omitempty"` + + // 使用tenant_id过滤查询网络ACL规则 + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o NeutronListFirewallRulesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListFirewallRulesRequest struct{}" + } + + return strings.Join([]string{"NeutronListFirewallRulesRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_response.go new file mode 100644 index 000000000..cb2c1b4c6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_firewall_rules_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronListFirewallRulesResponse struct { + + // firewall_rule对象列表 + FirewallRules *[]NeutronFirewallRule `json:"firewall_rules,omitempty"` + + // 分页信息 + FirewallRulesLinks *[]NeutronPageLink `json:"firewall_rules_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronListFirewallRulesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListFirewallRulesResponse struct{}" + } + + return strings.Join([]string{"NeutronListFirewallRulesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_request.go new file mode 100644 index 000000000..08003a922 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_request.go @@ -0,0 +1,59 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronListSecurityGroupRulesRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照安全组规则对应的id过滤查询结果 + Id *string `json:"id,omitempty"` + + // 按照安全组规则的方向过滤查询结果,支持ingress和egress进行过滤 + Direction *string `json:"direction,omitempty"` + + // 按照安全组规则的IP协议过滤查询结果 + Protocol *string `json:"protocol,omitempty"` + + // 按照网络类型过滤查询结果,支持IPv4或者IPv6 + Ethertype *string `json:"ethertype,omitempty"` + + // 按照安全组规则的描述过滤查询结果 + Description *string `json:"description,omitempty"` + + // 按照与此安全组规则匹配的远端IP网段过滤查询结果 + RemoteIpPrefix *string `json:"remote_ip_prefix,omitempty"` + + // 按照与此安全组规则关联的远端安全组ID过滤查询结果 + RemoteGroupId *string `json:"remote_group_id,omitempty"` + + // 按照与此安全组规则所属的安全组ID过滤查询结果 + SecurityGroupId *string `json:"security_group_id,omitempty"` + + // 按照最大端口过滤查询结果 + PortRangeMax *string `json:"port_range_max,omitempty"` + + // 按照最小端口过滤查询结果 + PortRangeMin *string `json:"port_range_min,omitempty"` + + // 按照安全组规则所属的项目ID过滤查询结果 + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o NeutronListSecurityGroupRulesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListSecurityGroupRulesRequest struct{}" + } + + return strings.Join([]string{"NeutronListSecurityGroupRulesRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_response.go new file mode 100644 index 000000000..84ed82e81 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_group_rules_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronListSecurityGroupRulesResponse struct { + + // 安全组规则对象列表 + SecurityGroupRules *[]NeutronSecurityGroupRule `json:"security_group_rules,omitempty"` + + // 分页信息 + SecurityGroupRulesLinks *[]NeutronPageLink `json:"security_group_rules_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronListSecurityGroupRulesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListSecurityGroupRulesResponse struct{}" + } + + return strings.Join([]string{"NeutronListSecurityGroupRulesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_request.go new file mode 100644 index 000000000..4e7c1b977 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_request.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronListSecurityGroupsRequest struct { + + // 每页返回的个数 + Limit *int32 `json:"limit,omitempty"` + + // 分页查询起始的资源ID,为空时查询第一页 + Marker *string `json:"marker,omitempty"` + + // 按照安全组对应的ID过滤查询 + Id *string `json:"id,omitempty"` + + // 按照安全组的名称过滤查询 + Name *string `json:"name,omitempty"` + + // 按照安全组的描述过滤查询 + Description *string `json:"description,omitempty"` + + // 按照安全组所属的项目ID过滤查询 + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o NeutronListSecurityGroupsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListSecurityGroupsRequest struct{}" + } + + return strings.Join([]string{"NeutronListSecurityGroupsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_response.go new file mode 100644 index 000000000..5b9fcca78 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_list_security_groups_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronListSecurityGroupsResponse struct { + + // 安全组对象列表 + SecurityGroups *[]NeutronSecurityGroup `json:"security_groups,omitempty"` + + // 分页信息 + SecurityGroupsLinks *[]NeutronPageLink `json:"security_groups_links,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronListSecurityGroupsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronListSecurityGroupsResponse struct{}" + } + + return strings.Join([]string{"NeutronListSecurityGroupsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_page_link.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_page_link.go new file mode 100644 index 000000000..4f34bb221 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_page_link.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronPageLink struct { + + // API链接 + Href string `json:"href"` + + // API链接与该API版本的关系 + Rel string `json:"rel"` +} + +func (o NeutronPageLink) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronPageLink struct{}" + } + + return strings.Join([]string{"NeutronPageLink", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request.go new file mode 100644 index 000000000..071edb51e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronRemoveFirewallRuleRequest struct { + + // 网络ACL防火墙策略ID + FirewallPolicyId string `json:"firewall_policy_id"` + + Body *NeutronRemoveFirewallRuleRequestBody `json:"body,omitempty"` +} + +func (o NeutronRemoveFirewallRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronRemoveFirewallRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronRemoveFirewallRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request_body.go new file mode 100644 index 000000000..4f15f99b8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_request_body.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronRemoveFirewallRuleRequestBody struct { + + // 功能说明:待移除的ACL规则ID + FirewallRuleId string `json:"firewall_rule_id"` +} + +func (o NeutronRemoveFirewallRuleRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronRemoveFirewallRuleRequestBody struct{}" + } + + return strings.Join([]string{"NeutronRemoveFirewallRuleRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_response.go new file mode 100644 index 000000000..af2b136c2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_remove_firewall_rule_response.go @@ -0,0 +1,45 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronRemoveFirewallRuleResponse struct { + + // 功能说明:网络ACL策略ID + Id *string `json:"id,omitempty"` + + // 功能说明:网络ACL策略名称 + Name *string `json:"name,omitempty"` + + // 功能说明:网络ACL策略的描述信息 取值范围:0-255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:网络ACL策略关联的规则的ID列表 + FirewallRules *[]string `json:"firewall_rules,omitempty"` + + // 功能说明:每次policy或者它相关的rule有变动,该参数将会被置为False + Audited *bool `json:"audited,omitempty"` + + // 功能说明:网络ACL策略是否对其他网络ACL策略可见 取值范围:true(可见)、false(不可见) + Public *bool `json:"public,omitempty"` + + // 功能说明:网络ACL策略所属项目ID + TenantId *string `json:"tenant_id,omitempty"` + + // 功能说明:网络ACL策略所属项目ID + ProjectId *string `json:"project_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronRemoveFirewallRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronRemoveFirewallRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronRemoveFirewallRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group.go new file mode 100644 index 000000000..c17d6b73d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group.go @@ -0,0 +1,45 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronSecurityGroup struct { + + // 功能说明:安全组描述 取值范围:0-255个字符 + Description string `json:"description"` + + // 安全组ID + Id string `json:"id"` + + // 功能说明:安全组名称 取值范围:0-255个字符 + Name string `json:"name"` + + // 安全组规则,详情参见Security Group Rule对象 + SecurityGroupRules []NeutronSecurityGroupRule `json:"security_group_rules"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 项目ID + ProjectId string `json:"project_id"` + + // 功能说明:资源创建UTC时间 格式:yyyy-MM-ddTHH:mm:ss + CreatedAt *sdktime.SdkTime `json:"created_at"` + + // 功能说明:资源更新UTC时间 格式:yyyy-MM-ddTHH:mm:ss + UpdatedAt *sdktime.SdkTime `json:"updated_at"` +} + +func (o NeutronSecurityGroup) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronSecurityGroup struct{}" + } + + return strings.Join([]string{"NeutronSecurityGroup", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group_rule.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group_rule.go new file mode 100644 index 000000000..cc4bd93f5 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_security_group_rule.go @@ -0,0 +1,109 @@ +package model + +import ( + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "strings" +) + +// +type NeutronSecurityGroupRule struct { + + // 安全组规则描述 + Description string `json:"description"` + + // 功能说明:规则方向 取值范围:ingress、egress + Direction NeutronSecurityGroupRuleDirection `json:"direction"` + + // 功能说明:网络类型 取值范围:IPv4、IPv6 + Ethertype string `json:"ethertype"` + + // 安全组规则ID,查询安全组规则非必选 + Id string `json:"id"` + + // 功能说明:最大端口 取值范围:当协议类型为ICMP时,该值表示ICMP的code + PortRangeMax int32 `json:"port_range_max"` + + // 功能说明:最小端口 当协议类型为ICMP时,该值表示ICMP的type。protocol为tcp和udp时,port_range_max和port_range_min必须同时输入,且port_range_max应大于等于port_range_min。protocol为icmp时,指定ICMP code(port_range_max)时,必须同时指定ICMP type(port_range_min)。 + PortRangeMin int32 `json:"port_range_min"` + + // 功能说明:tcp/udp/icmp/icmpv6或IP协议编号(0~255) 约束:协议为icmpv6时,网络类型应该为IPv6;协议为icmp时,网络类型应该为IPv4 + Protocol string `json:"protocol"` + + // 所属安全组的对端ID + RemoteGroupId string `json:"remote_group_id"` + + // 对端ip网段 + RemoteIpPrefix string `json:"remote_ip_prefix"` + + // 功能说明:远端IP地址组ID 约束:和remote_ip_prefix,remote_group_id互斥 + RemoteAddressGroupId *string `json:"remote_address_group_id,omitempty"` + + // 所属安全组ID + SecurityGroupId string `json:"security_group_id"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 项目ID + ProjectId string `json:"project_id"` + + // 功能说明:资源创建UTC时间 格式:yyyy-MM-ddTHH:mm:ss + CreatedAt *sdktime.SdkTime `json:"created_at"` + + // 功能说明:资源更新UTC时间 格式:yyyy-MM-ddTHH:mm:ss + UpdatedAt *sdktime.SdkTime `json:"updated_at"` +} + +func (o NeutronSecurityGroupRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronSecurityGroupRule struct{}" + } + + return strings.Join([]string{"NeutronSecurityGroupRule", string(data)}, " ") +} + +type NeutronSecurityGroupRuleDirection struct { + value string +} + +type NeutronSecurityGroupRuleDirectionEnum struct { + INGRESS NeutronSecurityGroupRuleDirection + EGRESS NeutronSecurityGroupRuleDirection +} + +func GetNeutronSecurityGroupRuleDirectionEnum() NeutronSecurityGroupRuleDirectionEnum { + return NeutronSecurityGroupRuleDirectionEnum{ + INGRESS: NeutronSecurityGroupRuleDirection{ + value: "ingress", + }, + EGRESS: NeutronSecurityGroupRuleDirection{ + value: "egress", + }, + } +} + +func (c NeutronSecurityGroupRuleDirection) Value() string { + return c.value +} + +func (c NeutronSecurityGroupRuleDirection) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NeutronSecurityGroupRuleDirection) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_request.go new file mode 100644 index 000000000..5542bf89e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronShowFirewallGroupRequest struct { + + // 网络ACL防火墙组ID + FirewallGroupId string `json:"firewall_group_id"` +} + +func (o NeutronShowFirewallGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowFirewallGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronShowFirewallGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_response.go new file mode 100644 index 000000000..959aa4b97 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronShowFirewallGroupResponse struct { + FirewallGroup *NeutronFirewallGroup `json:"firewall_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronShowFirewallGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowFirewallGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronShowFirewallGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_request.go new file mode 100644 index 000000000..c8c5c3432 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronShowFirewallPolicyRequest struct { + + // 网络ACL防火墙策略ID + FirewallPolicyId string `json:"firewall_policy_id"` +} + +func (o NeutronShowFirewallPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowFirewallPolicyRequest struct{}" + } + + return strings.Join([]string{"NeutronShowFirewallPolicyRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_response.go new file mode 100644 index 000000000..af35d0d20 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_policy_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronShowFirewallPolicyResponse struct { + FirewallPolicy *NeutronFirewallPolicy `json:"firewall_policy,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronShowFirewallPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowFirewallPolicyResponse struct{}" + } + + return strings.Join([]string{"NeutronShowFirewallPolicyResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_request.go new file mode 100644 index 000000000..a8798d530 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronShowFirewallRuleRequest struct { + + // 网络ACL规则ID + FirewallRuleId string `json:"firewall_rule_id"` +} + +func (o NeutronShowFirewallRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowFirewallRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronShowFirewallRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_response.go new file mode 100644 index 000000000..6d7bddd9c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_firewall_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronShowFirewallRuleResponse struct { + FirewallRule *NeutronFirewallRule `json:"firewall_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronShowFirewallRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowFirewallRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronShowFirewallRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_request.go new file mode 100644 index 000000000..1cab9ceff --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronShowSecurityGroupRequest struct { + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` +} + +func (o NeutronShowSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronShowSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_response.go new file mode 100644 index 000000000..4a5ca220b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronShowSecurityGroupResponse struct { + SecurityGroup *NeutronSecurityGroup `json:"security_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronShowSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronShowSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_request.go new file mode 100644 index 000000000..a94a2486c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronShowSecurityGroupRuleRequest struct { + + // 安全组规则ID + SecurityGroupRuleId string `json:"security_group_rule_id"` +} + +func (o NeutronShowSecurityGroupRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowSecurityGroupRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronShowSecurityGroupRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_response.go new file mode 100644 index 000000000..5f1c54658 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_show_security_group_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronShowSecurityGroupRuleResponse struct { + SecurityGroupRule *NeutronSecurityGroupRule `json:"security_group_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronShowSecurityGroupRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronShowSecurityGroupRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronShowSecurityGroupRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_option.go new file mode 100644 index 000000000..6c9ae3296 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_option.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateFirewallGroupOption struct { + + // 网络ACL防火墙是否受管理员控制。 + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + // 功能说明:网络ACL防火墙组描述 取值范围:最长255个字符 + Description *string `json:"description,omitempty"` + + // 出方向网络ACL防火墙策略。 + EgressFirewallPolicyId *string `json:"egress_firewall_policy_id,omitempty"` + + // 入方向网络ACL防火墙策略。 + IngressFirewallPolicyId *string `json:"ingress_firewall_policy_id,omitempty"` + + // 功能说明:网络ACL防火墙组名称 取值范围:最长255个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:网络ACL防火墙组绑定的端口列表 约束:必须为分布式router的端口id + Ports *[]string `json:"ports,omitempty"` +} + +func (o NeutronUpdateFirewallGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallGroupOption struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallGroupOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request.go new file mode 100644 index 000000000..43f3afa07 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronUpdateFirewallGroupRequest struct { + + // 网络ACL防火墙组ID + FirewallGroupId string `json:"firewall_group_id"` + + Body *NeutronUpdateFirewallGroupRequestBody `json:"body,omitempty"` +} + +func (o NeutronUpdateFirewallGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request_body.go new file mode 100644 index 000000000..c58000099 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateFirewallGroupRequestBody struct { + FirewallGroup *NeutronUpdateFirewallGroupOption `json:"firewall_group"` +} + +func (o NeutronUpdateFirewallGroupRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallGroupRequestBody struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallGroupRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_response.go new file mode 100644 index 000000000..b2b1df593 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronUpdateFirewallGroupResponse struct { + FirewallGroup *NeutronFirewallGroup `json:"firewall_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronUpdateFirewallGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_option.go new file mode 100644 index 000000000..765505e8c --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_option.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateFirewallPolicyOption struct { + + // 功能说明:网络ACL防火墙策略名称 取值范围:最长255个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:网络ACL防火墙策略描述 取值范围:最长255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:网络ACL策略关联的规则列表 + FirewallRules *[]string `json:"firewall_rules,omitempty"` + + // 审计标记。 + Audited *bool `json:"audited,omitempty"` +} + +func (o NeutronUpdateFirewallPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallPolicyOption struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallPolicyOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request.go new file mode 100644 index 000000000..3acddec35 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronUpdateFirewallPolicyRequest struct { + + // 网络ACL防火墙策略ID + FirewallPolicyId string `json:"firewall_policy_id"` + + Body *NeutronUpdateFirewallPolicyRequestBody `json:"body,omitempty"` +} + +func (o NeutronUpdateFirewallPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallPolicyRequest struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallPolicyRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request_body.go new file mode 100644 index 000000000..afa55f12f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateFirewallPolicyRequestBody struct { + FirewallPolicy *NeutronUpdateFirewallPolicyOption `json:"firewall_policy"` +} + +func (o NeutronUpdateFirewallPolicyRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallPolicyRequestBody struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallPolicyRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_response.go new file mode 100644 index 000000000..8e63d8539 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_policy_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronUpdateFirewallPolicyResponse struct { + FirewallPolicy *NeutronFirewallPolicy `json:"firewall_policy,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronUpdateFirewallPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallPolicyResponse struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallPolicyResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_option.go new file mode 100644 index 000000000..4a7019fd6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_option.go @@ -0,0 +1,95 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type NeutronUpdateFirewallRuleOption struct { + + // 对通过网络ACL防火墙的流量执行的操作。 + Action *NeutronUpdateFirewallRuleOptionAction `json:"action,omitempty"` + + // 网络ACL防火墙规则描述。 + Description *string `json:"description,omitempty"` + + // 目的地址或者CIDR。 + DestinationIpAddress *string `json:"destination_ip_address,omitempty"` + + // 目的端口号或者一段端口范围。 + DestinationPort *string `json:"destination_port,omitempty"` + + // 是否使能网络ACL防火墙规则。 + Enabled *bool `json:"enabled,omitempty"` + + // IP协议版本。 + IpVersion *int32 `json:"ip_version,omitempty"` + + // 网络ACL防火墙规则名称。 + Name *string `json:"name,omitempty"` + + // IP协议,支持TCP,UDP,ICMP, ICMPV6或者IP协议号(0-255) + Protocol *string `json:"protocol,omitempty"` + + // 源地址或者CIDR。 + SourceIpAddress *string `json:"source_ip_address,omitempty"` + + // 源端口号或者一段端口范围。 + SourcePort *string `json:"source_port,omitempty"` +} + +func (o NeutronUpdateFirewallRuleOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallRuleOption struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallRuleOption", string(data)}, " ") +} + +type NeutronUpdateFirewallRuleOptionAction struct { + value string +} + +type NeutronUpdateFirewallRuleOptionActionEnum struct { + DENY NeutronUpdateFirewallRuleOptionAction + ALLOW NeutronUpdateFirewallRuleOptionAction +} + +func GetNeutronUpdateFirewallRuleOptionActionEnum() NeutronUpdateFirewallRuleOptionActionEnum { + return NeutronUpdateFirewallRuleOptionActionEnum{ + DENY: NeutronUpdateFirewallRuleOptionAction{ + value: "DENY", + }, + ALLOW: NeutronUpdateFirewallRuleOptionAction{ + value: "ALLOW", + }, + } +} + +func (c NeutronUpdateFirewallRuleOptionAction) Value() string { + return c.value +} + +func (c NeutronUpdateFirewallRuleOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NeutronUpdateFirewallRuleOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request.go new file mode 100644 index 000000000..1dfe75db1 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronUpdateFirewallRuleRequest struct { + + // 网络ACL防火墙规则ID + FirewallRuleId string `json:"firewall_rule_id"` + + Body *NeutronUpdateFirewallRuleRequestBody `json:"body,omitempty"` +} + +func (o NeutronUpdateFirewallRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallRuleRequest struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request_body.go new file mode 100644 index 000000000..26980f8f6 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateFirewallRuleRequestBody struct { + FirewallRule *NeutronUpdateFirewallRuleOption `json:"firewall_rule"` +} + +func (o NeutronUpdateFirewallRuleRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallRuleRequestBody struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallRuleRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_response.go new file mode 100644 index 000000000..af1d855e1 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_firewall_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronUpdateFirewallRuleResponse struct { + FirewallRule *NeutronFirewallRule `json:"firewall_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronUpdateFirewallRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateFirewallRuleResponse struct{}" + } + + return strings.Join([]string{"NeutronUpdateFirewallRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_option.go new file mode 100644 index 000000000..9aa6faad9 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_option.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateSecurityGroupOption struct { + + // 功能说明:安全组描述 取值范围:0-255个字符 + Description *string `json:"description,omitempty"` + + // 功能说明:安全组名称 取值范围:0-255个字符 约束:不允许为“default” + Name *string `json:"name,omitempty"` +} + +func (o NeutronUpdateSecurityGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateSecurityGroupOption struct{}" + } + + return strings.Join([]string{"NeutronUpdateSecurityGroupOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request.go new file mode 100644 index 000000000..e908775c1 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NeutronUpdateSecurityGroupRequest struct { + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` + + Body *NeutronUpdateSecurityGroupRequestBody `json:"body,omitempty"` +} + +func (o NeutronUpdateSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"NeutronUpdateSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request_body.go new file mode 100644 index 000000000..2adb44cf8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NeutronUpdateSecurityGroupRequestBody struct { + SecurityGroup *NeutronUpdateSecurityGroupOption `json:"security_group"` +} + +func (o NeutronUpdateSecurityGroupRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateSecurityGroupRequestBody struct{}" + } + + return strings.Join([]string{"NeutronUpdateSecurityGroupRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_response.go new file mode 100644 index 000000000..5731f5130 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_neutron_update_security_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NeutronUpdateSecurityGroupResponse struct { + SecurityGroup *NeutronSecurityGroup `json:"security_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NeutronUpdateSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NeutronUpdateSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"NeutronUpdateSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_port.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_port.go new file mode 100644 index 000000000..923efdf6f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_port.go @@ -0,0 +1,184 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type Port struct { + + // 端口ID + Id string `json:"id"` + + // 功能说明:端口名称 取值范围:0~255个字符,支持中文、英文、字母、_(下划线)、-(中划线) + Name string `json:"name"` + + // 端口所属网络的ID + NetworkId string `json:"network_id"` + + // 功能说明:管理状态 约束:只支持true,默认为true + AdminStateUp bool `json:"admin_state_up"` + + // 功能描述:端口MAC地址 约束:由系统分配,不支持指定 + MacAddress string `json:"mac_address"` + + // 功能说明:端口IP 例如:\"fixed_ips\": [{\"subnet_id\": \"4dc70db6-cb7f-4200-9790-a6a910776bba\", \"ip_address\": \"192.169.25.79\"}] 约束:一个端口只支持一个fixed_ip,且不支持更新。 + FixedIps []FixedIp `json:"fixed_ips"` + + // 功能说明:端口所属设备ID 约束:不支持设置和更新,由系统自动维护 + DeviceId string `json:"device_id"` + + // 功能说明:设备所属 取值范围:合法设备所属,如network:dhcp、neutron:VIP_PORT、network:router_interface_distributed、network:router_centralized_snat 约束:不支持设置和更新,由系统自动维护 + DeviceOwner PortDeviceOwner `json:"device_owner"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 功能说明:端口状态,Hana硬直通虚拟机端口状态总为DOWN 取值范围:ACTIVE、BUILD、DOWN + Status PortStatus `json:"status"` + + // 安全组的ID列表 + SecurityGroups []string `json:"security_groups"` + + // 功能说明:IP/Mac对列表 约束:IP地址不允许为 “0.0.0.0” 如果配置地址池较大(CIDR掩码小于24位),建议为该port配置一个单独的安全组。 + AllowedAddressPairs []AllowedAddressPair `json:"allowed_address_pairs"` + + // 功能说明:DHCP的扩展Option(扩展属性) + ExtraDhcpOpts []ExtraDhcpOpt `json:"extra_dhcp_opts"` + + // 功能说明:绑定的vNIC类型 取值范围: - normal(软交换) - direct: SRIOV硬直通(不支持) + BindingvnicType string `json:"binding:vnic_type"` + + // 功能说明:主网卡默认内网域名信息 约束:不支持设置和更新,由系统自动维护 + DnsAssignment []DnsAssignMent `json:"dns_assignment"` + + // 功能说明:主网卡默认内网DNS名称 约束:不支持设置和更新,由系统自动维护 + DnsName string `json:"dns_name"` + + BindingvifDetails *BindingVifDetails `json:"binding:vif_details"` + + // 功能说明:提供用户设置自定义信息(扩展属性) + Bindingprofile *interface{} `json:"binding:profile"` + + // 功能说明:端口所属实例ID,例如RDS实例ID 约束:不支持设置和更新,由系统自动维护 + InstanceId string `json:"instance_id"` + + // 功能说明:端口所属实例类型,例如“RDS” 约束:不支持设置和更新,由系统自动维护 + InstanceType string `json:"instance_type"` + + // 功能说明:端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效 取值范围:启用(true)或禁用(false) + PortSecurityEnabled bool `json:"port_security_enabled"` + + // 功能说明:port所属的可用分区 + ZoneId string `json:"zone_id"` +} + +func (o Port) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Port struct{}" + } + + return strings.Join([]string{"Port", string(data)}, " ") +} + +type PortDeviceOwner struct { + value string +} + +type PortDeviceOwnerEnum struct { + NETWORKDHCP PortDeviceOwner + NEUTRONVIP_PORT PortDeviceOwner + NETWORKROUTER_INTERFACE_DISTRIBUTED PortDeviceOwner + NETWORKROUTER_CENTRALIZED_SNAT PortDeviceOwner +} + +func GetPortDeviceOwnerEnum() PortDeviceOwnerEnum { + return PortDeviceOwnerEnum{ + NETWORKDHCP: PortDeviceOwner{ + value: "network:dhcp", + }, + NEUTRONVIP_PORT: PortDeviceOwner{ + value: "neutron:VIP_PORT", + }, + NETWORKROUTER_INTERFACE_DISTRIBUTED: PortDeviceOwner{ + value: "network:router_interface_distributed", + }, + NETWORKROUTER_CENTRALIZED_SNAT: PortDeviceOwner{ + value: "network:router_centralized_snat", + }, + } +} + +func (c PortDeviceOwner) Value() string { + return c.value +} + +func (c PortDeviceOwner) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *PortDeviceOwner) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type PortStatus struct { + value string +} + +type PortStatusEnum struct { + ACTIVE PortStatus + BUILD PortStatus + DOWN PortStatus +} + +func GetPortStatusEnum() PortStatusEnum { + return PortStatusEnum{ + ACTIVE: PortStatus{ + value: "ACTIVE", + }, + BUILD: PortStatus{ + value: "BUILD", + }, + DOWN: PortStatus{ + value: "DOWN", + }, + } +} + +func (c PortStatus) Value() string { + return c.value +} + +func (c PortStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *PortStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_privateip.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_privateip.go new file mode 100644 index 000000000..03bdb586d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_privateip.go @@ -0,0 +1,129 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type Privateip struct { + + // 私有IP的状态 - ACTIVE:活动的 - DOWN:不可用 + Status PrivateipStatus `json:"status"` + + // 私有IP ID + Id string `json:"id"` + + // 分配IP的子网标识 + SubnetId string `json:"subnet_id"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 私有IP的使用者,空表示未使用 取值范围:network:dhcp,network:router_interface_distributed,compute:xxx(xxx对应具体的az名称,例如compute:aa-bb-cc表示是被aa-bb-cc上的虚拟机使用) 约束:此处的取值范围只是本服务支持的类型,其他类型未做标注 + DeviceOwner PrivateipDeviceOwner `json:"device_owner"` + + // 申请到的私有IP + IpAddress string `json:"ip_address"` +} + +func (o Privateip) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Privateip struct{}" + } + + return strings.Join([]string{"Privateip", string(data)}, " ") +} + +type PrivateipStatus struct { + value string +} + +type PrivateipStatusEnum struct { + ACTIVE PrivateipStatus + DOWN PrivateipStatus +} + +func GetPrivateipStatusEnum() PrivateipStatusEnum { + return PrivateipStatusEnum{ + ACTIVE: PrivateipStatus{ + value: "ACTIVE", + }, + DOWN: PrivateipStatus{ + value: "DOWN", + }, + } +} + +func (c PrivateipStatus) Value() string { + return c.value +} + +func (c PrivateipStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *PrivateipStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type PrivateipDeviceOwner struct { + value string +} + +type PrivateipDeviceOwnerEnum struct { + NETWORKDHCP PrivateipDeviceOwner + NETWORKROUTER_INTERFACE_DISTRIBUTED PrivateipDeviceOwner + COMPUTEXXX PrivateipDeviceOwner +} + +func GetPrivateipDeviceOwnerEnum() PrivateipDeviceOwnerEnum { + return PrivateipDeviceOwnerEnum{ + NETWORKDHCP: PrivateipDeviceOwner{ + value: "network:dhcp", + }, + NETWORKROUTER_INTERFACE_DISTRIBUTED: PrivateipDeviceOwner{ + value: "network:router_interface_distributed", + }, + COMPUTEXXX: PrivateipDeviceOwner{ + value: "compute:xxx", + }, + } +} + +func (c PrivateipDeviceOwner) Value() string { + return c.value +} + +func (c PrivateipDeviceOwner) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *PrivateipDeviceOwner) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_quota.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_quota.go new file mode 100644 index 000000000..2133d896e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_quota.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type Quota struct { + + // 资源列表对象 + Resources []ResourceResult `json:"resources"` +} + +func (o Quota) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Quota struct{}" + } + + return strings.Join([]string{"Quota", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_request.go new file mode 100644 index 000000000..d1e5db20d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type RejectVpcPeeringRequest struct { + + // 对等连接ID + PeeringId string `json:"peering_id"` +} + +func (o RejectVpcPeeringRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RejectVpcPeeringRequest struct{}" + } + + return strings.Join([]string{"RejectVpcPeeringRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_response.go new file mode 100644 index 000000000..aab7b353b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_reject_vpc_peering_response.go @@ -0,0 +1,99 @@ +package model + +import ( + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "strings" +) + +// Response Object +type RejectVpcPeeringResponse struct { + + // 对等连接ID + Id *string `json:"id,omitempty"` + + // 功能说明:对等连接名称 取值范围:支持1~64个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:对等连接状态 取值范围: - PENDING_ACCEPTANCE:等待接受 - REJECTED:已拒绝。 - EXPIRED:已过期。 - DELETED:已删除。 - ACTIVE:活动的。 + Status *RejectVpcPeeringResponseStatus `json:"status,omitempty"` + + RequestVpcInfo *VpcInfo `json:"request_vpc_info,omitempty"` + + AcceptVpcInfo *VpcInfo `json:"accept_vpc_info,omitempty"` + + // 功能说明:资源创建UTC时间 格式:yyyy-MM-ddTHH:mm:ss + CreatedAt *sdktime.SdkTime `json:"created_at,omitempty"` + + // 功能说明:资源更新UTC时间 格式:yyyy-MM-ddTHH:mm:ss + UpdatedAt *sdktime.SdkTime `json:"updated_at,omitempty"` + + // 对等连接描述 + Description *string `json:"description,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o RejectVpcPeeringResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RejectVpcPeeringResponse struct{}" + } + + return strings.Join([]string{"RejectVpcPeeringResponse", string(data)}, " ") +} + +type RejectVpcPeeringResponseStatus struct { + value string +} + +type RejectVpcPeeringResponseStatusEnum struct { + PENDING_ACCEPTANCE RejectVpcPeeringResponseStatus + REJECTED RejectVpcPeeringResponseStatus + EXPIRED RejectVpcPeeringResponseStatus + DELETED RejectVpcPeeringResponseStatus + ACTIVE RejectVpcPeeringResponseStatus +} + +func GetRejectVpcPeeringResponseStatusEnum() RejectVpcPeeringResponseStatusEnum { + return RejectVpcPeeringResponseStatusEnum{ + PENDING_ACCEPTANCE: RejectVpcPeeringResponseStatus{ + value: "PENDING_ACCEPTANCE", + }, + REJECTED: RejectVpcPeeringResponseStatus{ + value: "REJECTED", + }, + EXPIRED: RejectVpcPeeringResponseStatus{ + value: "EXPIRED", + }, + DELETED: RejectVpcPeeringResponseStatus{ + value: "DELETED", + }, + ACTIVE: RejectVpcPeeringResponseStatus{ + value: "ACTIVE", + }, + } +} + +func (c RejectVpcPeeringResponseStatus) Value() string { + return c.value +} + +func (c RejectVpcPeeringResponseStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *RejectVpcPeeringResponseStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_result.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_result.go new file mode 100644 index 000000000..4b90bf807 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_result.go @@ -0,0 +1,137 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type ResourceResult struct { + + // 功能说明:根据type过滤查询指定类型的配额 取值范围:vpc,subnet,securityGroup,securityGroupRule,publicIp,vpn,vpngw,vpcPeer,firewall,shareBandwidth,shareBandwidthIP,loadbalancer,listener,physicalConnect,virtualInterface,vpcContainRoutetable,routetableContainRoutes + Type ResourceResultType `json:"type"` + + // 功能说明:已创建的资源个数 取值范围:0~quota数 + Used int32 `json:"used"` + + // 功能说明:资源的最大配额数 取值范围:各类型资源默认配额数~Integer最大值 + Quota int32 `json:"quota"` + + // 允许修改的配额最小值 + Min int32 `json:"min"` +} + +func (o ResourceResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResourceResult struct{}" + } + + return strings.Join([]string{"ResourceResult", string(data)}, " ") +} + +type ResourceResultType struct { + value string +} + +type ResourceResultTypeEnum struct { + VPC ResourceResultType + SUBNET ResourceResultType + SECURITY_GROUP ResourceResultType + SECURITY_GROUP_RULE ResourceResultType + PUBLIC_IP ResourceResultType + VPN ResourceResultType + VPNGW ResourceResultType + VPC_PEER ResourceResultType + FIREWALL ResourceResultType + SHARE_BANDWIDTH ResourceResultType + SHARE_BANDWIDTH_IP ResourceResultType + LOADBALANCER ResourceResultType + LISTENER ResourceResultType + PHYSICAL_CONNECT ResourceResultType + VIRTUAL_INTERFACE ResourceResultType + VPC_CONTAIN_ROUTETABLE ResourceResultType + ROUTETABLE_CONTAIN_ROUTES ResourceResultType +} + +func GetResourceResultTypeEnum() ResourceResultTypeEnum { + return ResourceResultTypeEnum{ + VPC: ResourceResultType{ + value: "vpc", + }, + SUBNET: ResourceResultType{ + value: "subnet", + }, + SECURITY_GROUP: ResourceResultType{ + value: "securityGroup", + }, + SECURITY_GROUP_RULE: ResourceResultType{ + value: "securityGroupRule", + }, + PUBLIC_IP: ResourceResultType{ + value: "publicIp", + }, + VPN: ResourceResultType{ + value: "vpn", + }, + VPNGW: ResourceResultType{ + value: "vpngw", + }, + VPC_PEER: ResourceResultType{ + value: "vpcPeer", + }, + FIREWALL: ResourceResultType{ + value: "firewall", + }, + SHARE_BANDWIDTH: ResourceResultType{ + value: "shareBandwidth", + }, + SHARE_BANDWIDTH_IP: ResourceResultType{ + value: "shareBandwidthIP", + }, + LOADBALANCER: ResourceResultType{ + value: "loadbalancer", + }, + LISTENER: ResourceResultType{ + value: "listener", + }, + PHYSICAL_CONNECT: ResourceResultType{ + value: "physicalConnect", + }, + VIRTUAL_INTERFACE: ResourceResultType{ + value: "virtualInterface", + }, + VPC_CONTAIN_ROUTETABLE: ResourceResultType{ + value: "vpcContainRoutetable", + }, + ROUTETABLE_CONTAIN_ROUTES: ResourceResultType{ + value: "routetableContainRoutes", + }, + } +} + +func (c ResourceResultType) Value() string { + return c.value +} + +func (c ResourceResultType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ResourceResultType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_tag.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_tag.go new file mode 100644 index 000000000..d51f99628 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_resource_tag.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type ResourceTag struct { + + // 功能说明:标签键 约束:同一资源的key值不能重复。 + Key string `json:"key"` + + // 功能说明:标签值 + Value string `json:"value"` +} + +func (o ResourceTag) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResourceTag struct{}" + } + + return strings.Join([]string{"ResourceTag", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route.go new file mode 100644 index 000000000..37966a825 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type Route struct { + + // 功能说明:路由目的地 取值范围:IP地址段 约束:仅支持配置默认路由,且其取值只能是0.0.0.0/0 + Destination *string `json:"destination,omitempty"` + + // 功能说明:路由下一跳IP地址 取值范围:ipv4地址格式 约束:nexthop仅支持所关联的子网范围内IP地址 + Nexthop *string `json:"nexthop,omitempty"` +} + +func (o Route) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Route struct{}" + } + + return strings.Join([]string{"Route", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_list_resp.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_list_resp.go new file mode 100644 index 000000000..a90a5318d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_list_resp.go @@ -0,0 +1,41 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type RouteTableListResp struct { + + // 功能说明:路由表ID 取值范围:标准UUID + Id string `json:"id"` + + // 功能说明:路由表名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name string `json:"name"` + + // 功能说明:是否为默认路由表 取值范围:true表示默认路由表;false表示自定义路由表 + Default bool `json:"default"` + + // 功能说明:路由表所关联的子网 约束:只能关联路由表所属VPC下的子网 + Subnets []SubnetList `json:"subnets"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 路由表所在的虚拟私有云ID + VpcId string `json:"vpc_id"` + + // 功能说明:路由表描述信息 取值范围:0-255个字符,不能包含“<”和“>” + Description string `json:"description"` +} + +func (o RouteTableListResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RouteTableListResp struct{}" + } + + return strings.Join([]string{"RouteTableListResp", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_resp.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_resp.go new file mode 100644 index 000000000..1ce403a71 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_resp.go @@ -0,0 +1,44 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type RouteTableResp struct { + + // 功能说明:路由表ID 取值范围:标准UUID + Id string `json:"id"` + + // 功能说明:路由表名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name string `json:"name"` + + // 功能说明:是否为默认路由表 取值范围:true表示默认路由表;false表示自定义路由表 + Default bool `json:"default"` + + // 功能说明:路由对象,参见route字段说明。 约束:每个路由表最大关联200条路由 + Routes []RouteTableRoute `json:"routes"` + + // 功能说明:路由表所关联的子网 约束:只能关联路由表所属VPC下的子网 + Subnets []SubnetList `json:"subnets"` + + // 项目ID + TenantId string `json:"tenant_id"` + + // 路由表所在的虚拟私有云ID + VpcId string `json:"vpc_id"` + + // 功能说明:路由表描述信息 取值范围:0-255个字符,不能包含“<”和“>” + Description string `json:"description"` +} + +func (o RouteTableResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RouteTableResp struct{}" + } + + return strings.Join([]string{"RouteTableResp", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_route.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_route.go new file mode 100644 index 000000000..b12718842 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_route_table_route.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type RouteTableRoute struct { + + // 功能说明:路由的类型 取值范围: ecs:弹性云服务器 eni:网卡 vip:虚拟IP nat:NAT网关 peering:对等连接 vpn:虚拟专用网络 dc:云专线 cc:云连接 egw:VPC终端节点 + Type string `json:"type"` + + // 功能说明:路由目的网段 约束:合法的CIDR格式 + Destination string `json:"destination"` + + // 功能说明:路由下一跳对象的ID 取值范围: 当type为ecs时,传入ecs实例ID 当type为eni时,取值为从网卡ID 当type为vip时,取值为vip对应的IP地址 当type为nat时,取值为nat实例对应的ID 当type为peering时,取值为peering对应实例ID 当type为vpn时,取值为vpn实例ID 当type为dc时,取值为dc实例ID 当type为cc时,取值为cc的实例ID + Nexthop string `json:"nexthop"` + + // 功能说明:路由的描述信息 取值范围:0-255个字符,不能包含“<”和“>” + Description *string `json:"description,omitempty"` +} + +func (o RouteTableRoute) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RouteTableRoute struct{}" + } + + return strings.Join([]string{"RouteTableRoute", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_routetable_associate_reqbody.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_routetable_associate_reqbody.go new file mode 100644 index 000000000..53884bee7 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_routetable_associate_reqbody.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type RoutetableAssociateReqbody struct { + Routetable *AsscoiateReq `json:"routetable"` +} + +func (o RoutetableAssociateReqbody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RoutetableAssociateReqbody struct{}" + } + + return strings.Join([]string{"RoutetableAssociateReqbody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group.go new file mode 100644 index 000000000..0d7468634 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type SecurityGroup struct { + + // 安全组名称 + Name string `json:"name"` + + // 安全组描述 + Description *string `json:"description,omitempty"` + + // 安全组唯一标识 + Id string `json:"id"` + + // 安全组所在的vpc的资源标识 + VpcId *string `json:"vpc_id,omitempty"` + + // 功能说明:企业项目ID。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + + // 安全组规则 + SecurityGroupRules []SecurityGroupRule `json:"security_group_rules"` +} + +func (o SecurityGroup) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "SecurityGroup struct{}" + } + + return strings.Join([]string{"SecurityGroup", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group_rule.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group_rule.go new file mode 100644 index 000000000..990e00f85 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_security_group_rule.go @@ -0,0 +1,56 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type SecurityGroupRule struct { + + // 安全组规则ID + Id string `json:"id"` + + // 功能说明:安全组规则描述 取值范围:0-255个字符,支持数字、字母、中文字符 + Description string `json:"description"` + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` + + // 功能说明:出入控制方向 取值范围: - egress:出方向 - ingress:入方向 + Direction string `json:"direction"` + + // 功能说明:IP协议类型 取值范围:IPv4,IPv6 + Ethertype string `json:"ethertype"` + + // 功能说明:协议类型 取值范围:tcp、udp、icmp或IP协议编号(0~255) 约束:为空表示支持所有协议 + Protocol string `json:"protocol"` + + // 功能说明:起始端口值 取值范围:1~65535 约束:不能大于port_range_max的值,为空表示所有端口,如果协议是icmp类型,取值范围请参见 [安全组规则icmp协议名称对应关系表](https://support.huaweicloud.com/api-vpc/vpc_api_0009.html) + PortRangeMin int32 `json:"port_range_min"` + + // 功能说明:结束端口值 取值范围:1~65535 约束:取值不能小于port_range_min的值,为空表示所有端口,如果协议是icmp类型,取值范围请参见 [安全组规则icmp协议名称对应关系表](https://support.huaweicloud.com/api-vpc/vpc_api_0009.html) + PortRangeMax int32 `json:"port_range_max"` + + // 功能说明:远端IP地址,当direction是egress时为虚拟机访问端的地址,当direction是ingress时为访问虚拟机的地址 取值范围:IP地址,或者cidr格式 约束:和remote_group_id互斥 + RemoteIpPrefix string `json:"remote_ip_prefix"` + + // 功能说明:对端安全组ID 约束:和remote_ip_prefix互斥 + RemoteGroupId string `json:"remote_group_id"` + + // 功能说明:远端IP地址组ID 约束:和remote_ip_prefix,remote_group_id互斥 + RemoteAddressGroupId *string `json:"remote_address_group_id,omitempty"` + + // 安全组所属项目ID + TenantId string `json:"tenant_id"` +} + +func (o SecurityGroupRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "SecurityGroupRule struct{}" + } + + return strings.Join([]string{"SecurityGroupRule", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_request.go new file mode 100644 index 000000000..692c7963b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowNetworkIpAvailabilitiesRequest struct { + + // 网络ID + NetworkId string `json:"network_id"` +} + +func (o ShowNetworkIpAvailabilitiesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowNetworkIpAvailabilitiesRequest struct{}" + } + + return strings.Join([]string{"ShowNetworkIpAvailabilitiesRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_response.go new file mode 100644 index 000000000..706ee66bf --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_network_ip_availabilities_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowNetworkIpAvailabilitiesResponse struct { + NetworkIpAvailability *NetworkIpAvailability `json:"network_ip_availability,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowNetworkIpAvailabilitiesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowNetworkIpAvailabilitiesResponse struct{}" + } + + return strings.Join([]string{"ShowNetworkIpAvailabilitiesResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_request.go new file mode 100644 index 000000000..8f9abd2b8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowPortRequest struct { + + // 端口ID + PortId string `json:"port_id"` +} + +func (o ShowPortRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowPortRequest struct{}" + } + + return strings.Join([]string{"ShowPortRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_response.go new file mode 100644 index 000000000..0b35a553a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_port_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowPortResponse struct { + Port *Port `json:"port,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowPortResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowPortResponse struct{}" + } + + return strings.Join([]string{"ShowPortResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_request.go new file mode 100644 index 000000000..12abe5537 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowPrivateipRequest struct { + + // 私有IP ID + PrivateipId string `json:"privateip_id"` +} + +func (o ShowPrivateipRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowPrivateipRequest struct{}" + } + + return strings.Join([]string{"ShowPrivateipRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_response.go new file mode 100644 index 000000000..7c605ae81 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_privateip_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowPrivateipResponse struct { + Privateip *Privateip `json:"privateip,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowPrivateipResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowPrivateipResponse struct{}" + } + + return strings.Join([]string{"ShowPrivateipResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_request.go new file mode 100644 index 000000000..85947f364 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_request.go @@ -0,0 +1,128 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ShowQuotaRequest struct { + + // 功能说明:根据type过滤查询指定类型的配额 取值范围:vpc,subnet,securityGroup,securityGroupRule,publicIp,vpn,vpngw,vpcPeer,firewall,shareBandwidth,shareBandwidthIP,loadbalancer,listener,physicalConnect,virtualInterface,vpcContainRoutetable,routetableContainRoutes + Type *ShowQuotaRequestType `json:"type,omitempty"` +} + +func (o ShowQuotaRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowQuotaRequest struct{}" + } + + return strings.Join([]string{"ShowQuotaRequest", string(data)}, " ") +} + +type ShowQuotaRequestType struct { + value string +} + +type ShowQuotaRequestTypeEnum struct { + VPC ShowQuotaRequestType + SUBNET ShowQuotaRequestType + SECURITY_GROUP ShowQuotaRequestType + SECURITY_GROUP_RULE ShowQuotaRequestType + PUBLIC_IP ShowQuotaRequestType + VPN ShowQuotaRequestType + VPNGW ShowQuotaRequestType + VPC_PEER ShowQuotaRequestType + FIREWALL ShowQuotaRequestType + SHARE_BANDWIDTH ShowQuotaRequestType + SHARE_BANDWIDTH_IP ShowQuotaRequestType + LOADBALANCER ShowQuotaRequestType + LISTENER ShowQuotaRequestType + PHYSICAL_CONNECT ShowQuotaRequestType + VIRTUAL_INTERFACE ShowQuotaRequestType + VPC_CONTAIN_ROUTETABLE ShowQuotaRequestType + ROUTETABLE_CONTAIN_ROUTES ShowQuotaRequestType +} + +func GetShowQuotaRequestTypeEnum() ShowQuotaRequestTypeEnum { + return ShowQuotaRequestTypeEnum{ + VPC: ShowQuotaRequestType{ + value: "vpc", + }, + SUBNET: ShowQuotaRequestType{ + value: "subnet", + }, + SECURITY_GROUP: ShowQuotaRequestType{ + value: "securityGroup", + }, + SECURITY_GROUP_RULE: ShowQuotaRequestType{ + value: "securityGroupRule", + }, + PUBLIC_IP: ShowQuotaRequestType{ + value: "publicIp", + }, + VPN: ShowQuotaRequestType{ + value: "vpn", + }, + VPNGW: ShowQuotaRequestType{ + value: "vpngw", + }, + VPC_PEER: ShowQuotaRequestType{ + value: "vpcPeer", + }, + FIREWALL: ShowQuotaRequestType{ + value: "firewall", + }, + SHARE_BANDWIDTH: ShowQuotaRequestType{ + value: "shareBandwidth", + }, + SHARE_BANDWIDTH_IP: ShowQuotaRequestType{ + value: "shareBandwidthIP", + }, + LOADBALANCER: ShowQuotaRequestType{ + value: "loadbalancer", + }, + LISTENER: ShowQuotaRequestType{ + value: "listener", + }, + PHYSICAL_CONNECT: ShowQuotaRequestType{ + value: "physicalConnect", + }, + VIRTUAL_INTERFACE: ShowQuotaRequestType{ + value: "virtualInterface", + }, + VPC_CONTAIN_ROUTETABLE: ShowQuotaRequestType{ + value: "vpcContainRoutetable", + }, + ROUTETABLE_CONTAIN_ROUTES: ShowQuotaRequestType{ + value: "routetableContainRoutes", + }, + } +} + +func (c ShowQuotaRequestType) Value() string { + return c.value +} + +func (c ShowQuotaRequestType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ShowQuotaRequestType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_response.go new file mode 100644 index 000000000..0aa25b539 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_quota_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowQuotaResponse struct { + Quotas *Quota `json:"quotas,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowQuotaResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowQuotaResponse struct{}" + } + + return strings.Join([]string{"ShowQuotaResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_request.go new file mode 100644 index 000000000..8f7d9230e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowRouteTableRequest struct { + + // 路由表ID + RoutetableId string `json:"routetable_id"` +} + +func (o ShowRouteTableRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowRouteTableRequest struct{}" + } + + return strings.Join([]string{"ShowRouteTableRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_response.go new file mode 100644 index 000000000..b7adb3f83 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_route_table_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowRouteTableResponse struct { + Routetable *RouteTableResp `json:"routetable,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowRouteTableResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowRouteTableResponse struct{}" + } + + return strings.Join([]string{"ShowRouteTableResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_request.go new file mode 100644 index 000000000..44c1e6739 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowSecurityGroupRequest struct { + + // 安全组ID + SecurityGroupId string `json:"security_group_id"` +} + +func (o ShowSecurityGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSecurityGroupRequest struct{}" + } + + return strings.Join([]string{"ShowSecurityGroupRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_response.go new file mode 100644 index 000000000..bbc32661d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowSecurityGroupResponse struct { + SecurityGroup *SecurityGroup `json:"security_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowSecurityGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSecurityGroupResponse struct{}" + } + + return strings.Join([]string{"ShowSecurityGroupResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_request.go new file mode 100644 index 000000000..7e6b3db61 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowSecurityGroupRuleRequest struct { + + // 安全组规则ID + SecurityGroupRuleId string `json:"security_group_rule_id"` +} + +func (o ShowSecurityGroupRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSecurityGroupRuleRequest struct{}" + } + + return strings.Join([]string{"ShowSecurityGroupRuleRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_response.go new file mode 100644 index 000000000..e7d375187 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_security_group_rule_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowSecurityGroupRuleResponse struct { + SecurityGroupRule *SecurityGroupRule `json:"security_group_rule,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowSecurityGroupRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSecurityGroupRuleResponse struct{}" + } + + return strings.Join([]string{"ShowSecurityGroupRuleResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_request.go new file mode 100644 index 000000000..03e985233 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowSubnetRequest struct { + + // 子网ID + SubnetId string `json:"subnet_id"` +} + +func (o ShowSubnetRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSubnetRequest struct{}" + } + + return strings.Join([]string{"ShowSubnetRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_response.go new file mode 100644 index 000000000..0f16f9d44 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowSubnetResponse struct { + Subnet *Subnet `json:"subnet,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowSubnetResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSubnetResponse struct{}" + } + + return strings.Join([]string{"ShowSubnetResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_request.go new file mode 100644 index 000000000..900e20e26 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowSubnetTagsRequest struct { + + // 子网ID + SubnetId string `json:"subnet_id"` +} + +func (o ShowSubnetTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSubnetTagsRequest struct{}" + } + + return strings.Join([]string{"ShowSubnetTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_response.go new file mode 100644 index 000000000..0fed85721 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_subnet_tags_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowSubnetTagsResponse struct { + + // tag对象列表 + Tags *[]ResourceTag `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowSubnetTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowSubnetTagsResponse struct{}" + } + + return strings.Join([]string{"ShowSubnetTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_request.go new file mode 100644 index 000000000..b0a0a74ca --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowVpcPeeringRequest struct { + + // 对等连接ID + PeeringId string `json:"peering_id"` +} + +func (o ShowVpcPeeringRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcPeeringRequest struct{}" + } + + return strings.Join([]string{"ShowVpcPeeringRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_response.go new file mode 100644 index 000000000..ddfe38a30 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_peering_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowVpcPeeringResponse struct { + Peering *VpcPeering `json:"peering,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowVpcPeeringResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcPeeringResponse struct{}" + } + + return strings.Join([]string{"ShowVpcPeeringResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_request.go new file mode 100644 index 000000000..3b7cac012 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowVpcRequest struct { + + // 虚拟私有云ID + VpcId string `json:"vpc_id"` +} + +func (o ShowVpcRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcRequest struct{}" + } + + return strings.Join([]string{"ShowVpcRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_response.go new file mode 100644 index 000000000..410382763 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowVpcResponse struct { + Vpc *Vpc `json:"vpc,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowVpcResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcResponse struct{}" + } + + return strings.Join([]string{"ShowVpcResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_request.go new file mode 100644 index 000000000..1c6151ad7 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowVpcRouteRequest struct { + + // 路由ID + RouteId string `json:"route_id"` +} + +func (o ShowVpcRouteRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcRouteRequest struct{}" + } + + return strings.Join([]string{"ShowVpcRouteRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_response.go new file mode 100644 index 000000000..95ef326bb --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_route_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowVpcRouteResponse struct { + Route *VpcRoute `json:"route,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowVpcRouteResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcRouteResponse struct{}" + } + + return strings.Join([]string{"ShowVpcRouteResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_request.go new file mode 100644 index 000000000..599203813 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowVpcTagsRequest struct { + + // 功能说明:虚拟私有云唯一标识 取值范围:合法UUID 约束:ID对应的VPC必须存在 + VpcId string `json:"vpc_id"` +} + +func (o ShowVpcTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcTagsRequest struct{}" + } + + return strings.Join([]string{"ShowVpcTagsRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_response.go new file mode 100644 index 000000000..7125ef584 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_show_vpc_tags_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowVpcTagsResponse struct { + + // tag对象列表 + Tags *[]ResourceTag `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowVpcTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowVpcTagsResponse struct{}" + } + + return strings.Join([]string{"ShowVpcTagsResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet.go new file mode 100644 index 000000000..d11780dcf --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet.go @@ -0,0 +1,129 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type Subnet struct { + + // 子网ID + Id string `json:"id"` + + // 功能说明:子网名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name string `json:"name"` + + // 功能说明:子网描述 取值范围:0-255个字符,不能包含“<”和“>”。 + Description string `json:"description"` + + // 功能说明:子网的网段 取值范围:必须在vpc对应cidr范围内 约束:必须是cidr格式。掩码长度不能大于28 + Cidr string `json:"cidr"` + + // 功能说明:子网的网关 取值范围:子网网段中的IP地址 约束:必须是ip格式 + GatewayIp string `json:"gateway_ip"` + + // 功能说明:是否创建cidr_v6 取值范围:true(开启),false(关闭) + Ipv6Enable bool `json:"ipv6_enable"` + + // IPv6子网的网段,如果子网为IPv4子网,则不返回此参数 + CidrV6 string `json:"cidr_v6"` + + // IPv6子网的网关,如果子网为IPv4子网,则不返回此参数 + GatewayIpV6 string `json:"gateway_ip_v6"` + + // 子网是否开启dhcp功能 + DhcpEnable bool `json:"dhcp_enable"` + + // 子网dns服务器地址1 + PrimaryDns string `json:"primary_dns"` + + // 子网dns服务器地址2 + SecondaryDns string `json:"secondary_dns"` + + // 子网dns服务器地址列表 + DnsList []string `json:"dnsList"` + + // 子网所在的可用区标识 + AvailabilityZone string `json:"availability_zone"` + + // 子网所在VPC标识 + VpcId string `json:"vpc_id"` + + // 功能说明:子网的状态 取值范围: - ACTIVE:表示子网已挂载到ROUTER上 - UNKNOWN:表示子网还未挂载到ROUTER上 - ERROR:表示子网状态故障 + Status SubnetStatus `json:"status"` + + // 对应网络(OpenStack Neutron接口)id + NeutronNetworkId string `json:"neutron_network_id"` + + // 对应子网(OpenStack Neutron接口)id + NeutronSubnetId string `json:"neutron_subnet_id"` + + // 对应IPv6子网(OpenStack Neutron接口)id,如果子网为IPv4子网,则不返回此参数 + NeutronSubnetIdV6 string `json:"neutron_subnet_id_v6"` + + // 子网配置的NTP地址或DHCP租约时间 + ExtraDhcpOpts []ExtraDhcpOption `json:"extra_dhcp_opts"` + + // 功能说明:子网作用域 取值范围:center-表示作用域为中心;{azId}表示作用域为具体的AZ + Scope *string `json:"scope,omitempty"` +} + +func (o Subnet) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Subnet struct{}" + } + + return strings.Join([]string{"Subnet", string(data)}, " ") +} + +type SubnetStatus struct { + value string +} + +type SubnetStatusEnum struct { + ACTIVE SubnetStatus + UNKNOWN SubnetStatus + ERROR SubnetStatus +} + +func GetSubnetStatusEnum() SubnetStatusEnum { + return SubnetStatusEnum{ + ACTIVE: SubnetStatus{ + value: "ACTIVE", + }, + UNKNOWN: SubnetStatus{ + value: "UNKNOWN", + }, + ERROR: SubnetStatus{ + value: "ERROR", + }, + } +} + +func (c SubnetStatus) Value() string { + return c.value +} + +func (c SubnetStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *SubnetStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_ip_availability.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_ip_availability.go new file mode 100644 index 000000000..91db71898 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_ip_availability.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type SubnetIpAvailability struct { + + // 子网中已经使用的IP数目(不包含系统预留地址) + UsedIps int32 `json:"used_ips"` + + // 子网ID + SubnetId string `json:"subnet_id"` + + // 子网名称 + SubnetName string `json:"subnet_name"` + + // 子网的IP版本,取值为4或者6 + IpVersion int32 `json:"ip_version"` + + // 子网的CIDR + Cidr string `json:"cidr"` + + // 子网中IP总数(不包含系统预留地址) + TotalIps int32 `json:"total_ips"` +} + +func (o SubnetIpAvailability) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "SubnetIpAvailability struct{}" + } + + return strings.Join([]string{"SubnetIpAvailability", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_list.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_list.go new file mode 100644 index 000000000..ff2ce9af8 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_list.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type SubnetList struct { + + // 路由表关联的子网ID + Id string `json:"id"` +} + +func (o SubnetList) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "SubnetList struct{}" + } + + return strings.Join([]string{"SubnetList", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_result.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_result.go new file mode 100644 index 000000000..bab9f1518 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_subnet_result.go @@ -0,0 +1,75 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type SubnetResult struct { + + // uuid形式的一个资源标识。 + Id string `json:"id"` + + // 功能说明:子网的状态。 取值范围:ACTIVE,UNKNOWN,ERROR ACTIVE表示子网已挂载到ROUTER上 UNKNOWN表示子网还未挂载到ROUTER上 ERROR表示子网状态故障 + Status SubnetResultStatus `json:"status"` +} + +func (o SubnetResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "SubnetResult struct{}" + } + + return strings.Join([]string{"SubnetResult", string(data)}, " ") +} + +type SubnetResultStatus struct { + value string +} + +type SubnetResultStatusEnum struct { + ACTIVE SubnetResultStatus + UNKNOWN SubnetResultStatus + ERROR SubnetResultStatus +} + +func GetSubnetResultStatusEnum() SubnetResultStatusEnum { + return SubnetResultStatusEnum{ + ACTIVE: SubnetResultStatus{ + value: "ACTIVE", + }, + UNKNOWN: SubnetResultStatus{ + value: "UNKNOWN", + }, + ERROR: SubnetResultStatus{ + value: "ERROR", + }, + } +} + +func (c SubnetResultStatus) Value() string { + return c.value +} + +func (c SubnetResultStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *SubnetResultStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_option.go new file mode 100644 index 000000000..bd1d10c7e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_option.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdatePortOption struct { + + // 功能说明:端口名称 取值范围:0~255个字符,支持中文、英文、字母、_(下划线)、-(中划线) + Name *string `json:"name,omitempty"` + + // 安全组的ID列表 + SecurityGroups *[]string `json:"security_groups,omitempty"` + + // 功能说明:IP/Mac对列表 约束: - IP地址不允许为 “0.0.0.0”。 - 如果配置地址池较大(CIDR掩码小于24位),建议为该port配置一个单独的安全组。 - 为虚拟IP配置后端ECS场景,allowed_address_pairs中配置的IP地址,必须为ECS网卡已有的IP地址,否则可能会导致虚拟IP通信异常。 + AllowedAddressPairs *[]AllowedAddressPair `json:"allowed_address_pairs,omitempty"` + + // 功能说明:DHCP的扩展Option(扩展属性) + ExtraDhcpOpts *[]ExtraDhcpOpt `json:"extra_dhcp_opts,omitempty"` +} + +func (o UpdatePortOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdatePortOption struct{}" + } + + return strings.Join([]string{"UpdatePortOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request.go new file mode 100644 index 000000000..47a0d63dc --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdatePortRequest struct { + + // 端口ID + PortId string `json:"port_id"` + + Body *UpdatePortRequestBody `json:"body,omitempty"` +} + +func (o UpdatePortRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdatePortRequest struct{}" + } + + return strings.Join([]string{"UpdatePortRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request_body.go new file mode 100644 index 000000000..b61afac02 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdatePortRequestBody struct { + Port *UpdatePortOption `json:"port"` +} + +func (o UpdatePortRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdatePortRequestBody struct{}" + } + + return strings.Join([]string{"UpdatePortRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_response.go new file mode 100644 index 000000000..6d3e2752e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_port_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdatePortResponse struct { + Port *Port `json:"port,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdatePortResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdatePortResponse struct{}" + } + + return strings.Join([]string{"UpdatePortResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_req.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_req.go new file mode 100644 index 000000000..50610ce2d --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_req.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateRouteTableReq struct { + + // 功能说明:路由表名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name *string `json:"name,omitempty"` + + // 功能说明:路由表描述信息 取值范围:0-255个字符,不能包含“<”和“>” + Description *string `json:"description,omitempty"` + + // 功能说明:路由对象 取值范围:参见route字段说明。更新存在三种动作: 1)add:新增路由条目,type,destination,nexthop必选。 2)mod:修改路由信息,type,destination,nexthop必选。 3)del:删除路由条目,destination必选 约束: 每个路由表最大关联200条路由。 不支持直接修改destination,如需修改,只能使用del先删除对应路由,然后使用add新增路由。 + Routes map[string][]RouteTableRoute `json:"routes,omitempty"` +} + +func (o UpdateRouteTableReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateRouteTableReq struct{}" + } + + return strings.Join([]string{"UpdateRouteTableReq", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_request.go new file mode 100644 index 000000000..1d9fe3b8b --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdateRouteTableRequest struct { + + // 路由表ID + RoutetableId string `json:"routetable_id"` + + Body *UpdateRoutetableReqBody `json:"body,omitempty"` +} + +func (o UpdateRouteTableRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateRouteTableRequest struct{}" + } + + return strings.Join([]string{"UpdateRouteTableRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_response.go new file mode 100644 index 000000000..a182f8782 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_route_table_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdateRouteTableResponse struct { + Routetable *RouteTableResp `json:"routetable,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateRouteTableResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateRouteTableResponse struct{}" + } + + return strings.Join([]string{"UpdateRouteTableResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_routetable_req_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_routetable_req_body.go new file mode 100644 index 000000000..acd925ac4 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_routetable_req_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateRoutetableReqBody struct { + Routetable *UpdateRouteTableReq `json:"routetable"` +} + +func (o UpdateRoutetableReqBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateRoutetableReqBody struct{}" + } + + return strings.Join([]string{"UpdateRoutetableReqBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_option.go new file mode 100644 index 000000000..1bb8be50e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_option.go @@ -0,0 +1,44 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateSubnetOption struct { + + // 功能说明:子网名称 取值范围:1-64,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) + Name string `json:"name"` + + // 功能说明:子网描述 取值范围:0-255个字符,不能包含“<”和“>”。 + Description *string `json:"description,omitempty"` + + // 功能说明:是否创建ipv6子网 取值范围:true(开启),false(关闭) + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + // 功能说明:子网是否开启dhcp功能 取值范围:true(开启),false(关闭) 约束:不填时默认为true。当设置为false时,会导致新创建的ECS无法获取IP地址,cloudinit无法注入账号密码,请谨慎操作。 + DhcpEnable *bool `json:"dhcp_enable,omitempty"` + + // 功能说明:子网dns服务器地址1 约束:ip格式 默认值:不填时为空 [内网DNS地址请参见](https://support.huaweicloud.com/dns_faq/dns_faq_002.html) [通过API获取请参见](https://support.huaweicloud.com/api-dns/dns_api_69001.html) + PrimaryDns *string `json:"primary_dns,omitempty"` + + // 功能说明:子网dns服务器地址2 约束:ip格式 默认值:不填时为空 [内网DNS地址请参见](https://support.huaweicloud.com/dns_faq/dns_faq_002.html) [通过API获取请参见](https://support.huaweicloud.com/api-dns/dns_api_69001.html) + SecondaryDns *string `json:"secondary_dns,omitempty"` + + // 功能说明:子网dns服务器地址的集合;如果想使用两个以上dns服务器,请使用该字段。 约束:是子网dns服务器地址1跟子网dns服务器地址2的合集的父集 默认值:不填时为空,无法使用云内网DNS功能 [内网DNS地址请参见](https://support.huaweicloud.com/dns_faq/dns_faq_002.html) [通过API获取请参见](https://support.huaweicloud.com/api-dns/dns_api_69001.html) + DnsList *[]string `json:"dnsList,omitempty"` + + // 子网配置的NTP地址或租约时间 + ExtraDhcpOpts *[]ExtraDhcpOption `json:"extra_dhcp_opts,omitempty"` +} + +func (o UpdateSubnetOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateSubnetOption struct{}" + } + + return strings.Join([]string{"UpdateSubnetOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request.go new file mode 100644 index 000000000..5529d3c6e --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdateSubnetRequest struct { + + // 子网对应的vpc_id + VpcId string `json:"vpc_id"` + + // 子网ID + SubnetId string `json:"subnet_id"` + + Body *UpdateSubnetRequestBody `json:"body,omitempty"` +} + +func (o UpdateSubnetRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateSubnetRequest struct{}" + } + + return strings.Join([]string{"UpdateSubnetRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request_body.go new file mode 100644 index 000000000..cb6b377cb --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateSubnetRequestBody struct { + Subnet *UpdateSubnetOption `json:"subnet"` +} + +func (o UpdateSubnetRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateSubnetRequestBody struct{}" + } + + return strings.Join([]string{"UpdateSubnetRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_response.go new file mode 100644 index 000000000..023b575eb --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_subnet_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdateSubnetResponse struct { + Subnet *SubnetResult `json:"subnet,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateSubnetResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateSubnetResponse struct{}" + } + + return strings.Join([]string{"UpdateSubnetResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_option.go new file mode 100644 index 000000000..b62e4d15a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_option.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateVpcOption struct { + + // 功能说明:虚拟私有云名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 约束:如果名称不为空,则同一个租户下的VPC不允许重名。 + Name *string `json:"name,omitempty"` + + // 功能说明:虚拟私有云的描述 取值范围:0-255个字符,不能包含“<”和“>”。 + Description *string `json:"description,omitempty"` + + // 功能说明:虚拟私有云下可用子网的范围 取值范围: - 10.0.0.0/8 ~ 10.255.255.240/28 - 172.16.0.0/12 ~ 172.31.255.240/28 - 192.168.0.0/16 ~ 192.168.255.240/28 约束:必须是ipv4 cidr格式,例如:192.168.0.0/16 + Cidr *string `json:"cidr,omitempty"` + + // 功能说明:路由信息列表,详情参见route对象 + Routes *[]Route `json:"routes,omitempty"` +} + +func (o UpdateVpcOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcOption struct{}" + } + + return strings.Join([]string{"UpdateVpcOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_option.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_option.go new file mode 100644 index 000000000..1592c291f --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_option.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 更新peering对象 +type UpdateVpcPeeringOption struct { + + // 功能说明:对等连接名称 取值范围:支持1~64个字符 + Name *string `json:"name,omitempty"` + + // 功能说明:对等连接描述 取值范围:0-255个字符,支持数字、字母、中文字符 + Description *string `json:"description,omitempty"` +} + +func (o UpdateVpcPeeringOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcPeeringOption struct{}" + } + + return strings.Join([]string{"UpdateVpcPeeringOption", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request.go new file mode 100644 index 000000000..50a845d5a --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdateVpcPeeringRequest struct { + + // 对等连接ID + PeeringId string `json:"peering_id"` + + Body *UpdateVpcPeeringRequestBody `json:"body,omitempty"` +} + +func (o UpdateVpcPeeringRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcPeeringRequest struct{}" + } + + return strings.Join([]string{"UpdateVpcPeeringRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request_body.go new file mode 100644 index 000000000..d07d0cf56 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateVpcPeeringRequestBody struct { + Peering *UpdateVpcPeeringOption `json:"peering"` +} + +func (o UpdateVpcPeeringRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcPeeringRequestBody struct{}" + } + + return strings.Join([]string{"UpdateVpcPeeringRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_response.go new file mode 100644 index 000000000..756a56faa --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_peering_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdateVpcPeeringResponse struct { + Peering *VpcPeering `json:"peering,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateVpcPeeringResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcPeeringResponse struct{}" + } + + return strings.Join([]string{"UpdateVpcPeeringResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request.go new file mode 100644 index 000000000..1f0e75753 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdateVpcRequest struct { + + // 虚拟私有云ID + VpcId string `json:"vpc_id"` + + Body *UpdateVpcRequestBody `json:"body,omitempty"` +} + +func (o UpdateVpcRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcRequest struct{}" + } + + return strings.Join([]string{"UpdateVpcRequest", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request_body.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request_body.go new file mode 100644 index 000000000..223aa4935 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type UpdateVpcRequestBody struct { + Vpc *UpdateVpcOption `json:"vpc"` +} + +func (o UpdateVpcRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcRequestBody struct{}" + } + + return strings.Join([]string{"UpdateVpcRequestBody", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_response.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_response.go new file mode 100644 index 000000000..ef15774da --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_update_vpc_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdateVpcResponse struct { + Vpc *Vpc `json:"vpc,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateVpcResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateVpcResponse struct{}" + } + + return strings.Join([]string{"UpdateVpcResponse", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc.go new file mode 100644 index 000000000..75d597001 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc.go @@ -0,0 +1,90 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type Vpc struct { + + // 功能说明:虚拟私有云ID 取值范围:带\"-\"的UUID + Id string `json:"id"` + + // 功能说明:虚拟私有云名称 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 约束:如果名称不为空,则同一个租户下的名称不能重复 + Name string `json:"name"` + + // 功能说明:虚拟私有云下可用子网的范围 取值范围: - 10.0.0.0/8~10.255.255.240/28 - 172.16.0.0/12 ~ 172.31.255.240/28 - 192.168.0.0/16 ~ 192.168.255.240/28 不指定cidr时,默认值为空 约束:必须是ipv4 cidr格式,例如:192.168.0.0/16 + Cidr string `json:"cidr"` + + // 功能说明:虚拟私有云的描述 取值范围:0-255个字符,不能包含“<”和“>” + Description string `json:"description"` + + // 功能说明:路由信息列表,详情参见route对象 + Routes []Route `json:"routes"` + + // 功能说明:虚拟私有云的状态 取值范围: - CREATING:创建中 - OK:创建成功 + Status VpcStatus `json:"status"` + + // 功能说明:企业项目ID。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 + EnterpriseProjectId string `json:"enterprise_project_id"` +} + +func (o Vpc) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Vpc struct{}" + } + + return strings.Join([]string{"Vpc", string(data)}, " ") +} + +type VpcStatus struct { + value string +} + +type VpcStatusEnum struct { + CREATING VpcStatus + OK VpcStatus + ERROR VpcStatus +} + +func GetVpcStatusEnum() VpcStatusEnum { + return VpcStatusEnum{ + CREATING: VpcStatus{ + value: "CREATING", + }, + OK: VpcStatus{ + value: "OK", + }, + ERROR: VpcStatus{ + value: "ERROR", + }, + } +} + +func (c VpcStatus) Value() string { + return c.value +} + +func (c VpcStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *VpcStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_info.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_info.go new file mode 100644 index 000000000..78a6bcc27 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_info.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type VpcInfo struct { + + // 对等连接其中一端vpc ID + VpcId string `json:"vpc_id"` + + // 对等连接其中一端vpc所属的租户ID 约束:跨租户VPC创建对等连接时必选 + TenantId *string `json:"tenant_id,omitempty"` +} + +func (o VpcInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "VpcInfo struct{}" + } + + return strings.Join([]string{"VpcInfo", string(data)}, " ") +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_peering.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_peering.go new file mode 100644 index 000000000..9f8811cab --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_peering.go @@ -0,0 +1,98 @@ +package model + +import ( + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "strings" +) + +// peering对象 +type VpcPeering struct { + + // 对等连接ID + Id string `json:"id"` + + // 功能说明:对等连接名称 取值范围:支持1~64个字符 + Name string `json:"name"` + + // 功能说明:对等连接状态 取值范围: - PENDING_ACCEPTANCE:等待接受 - REJECTED:已拒绝。 - EXPIRED:已过期。 - DELETED:已删除。 - ACTIVE:活动的。 + Status VpcPeeringStatus `json:"status"` + + RequestVpcInfo *VpcInfo `json:"request_vpc_info"` + + AcceptVpcInfo *VpcInfo `json:"accept_vpc_info"` + + // 功能说明:资源创建UTC时间 格式:yyyy-MM-ddTHH:mm:ss + CreatedAt *sdktime.SdkTime `json:"created_at"` + + // 功能说明:资源更新UTC时间 格式:yyyy-MM-ddTHH:mm:ss + UpdatedAt *sdktime.SdkTime `json:"updated_at"` + + // 对等连接描述 + Description string `json:"description"` +} + +func (o VpcPeering) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "VpcPeering struct{}" + } + + return strings.Join([]string{"VpcPeering", string(data)}, " ") +} + +type VpcPeeringStatus struct { + value string +} + +type VpcPeeringStatusEnum struct { + PENDING_ACCEPTANCE VpcPeeringStatus + REJECTED VpcPeeringStatus + EXPIRED VpcPeeringStatus + DELETED VpcPeeringStatus + ACTIVE VpcPeeringStatus +} + +func GetVpcPeeringStatusEnum() VpcPeeringStatusEnum { + return VpcPeeringStatusEnum{ + PENDING_ACCEPTANCE: VpcPeeringStatus{ + value: "PENDING_ACCEPTANCE", + }, + REJECTED: VpcPeeringStatus{ + value: "REJECTED", + }, + EXPIRED: VpcPeeringStatus{ + value: "EXPIRED", + }, + DELETED: VpcPeeringStatus{ + value: "DELETED", + }, + ACTIVE: VpcPeeringStatus{ + value: "ACTIVE", + }, + } +} + +func (c VpcPeeringStatus) Value() string { + return c.value +} + +func (c VpcPeeringStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *VpcPeeringStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_route.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_route.go new file mode 100644 index 000000000..4625393d2 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model/model_vpc_route.go @@ -0,0 +1,79 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type VpcRoute struct { + + // 路由ID + Id string `json:"id"` + + // 路由目的地址CIDR,如192.168.200.0/24。 + Destination string `json:"destination"` + + // 功能说明:路由下一跳 取值范围:如果type为peering类型,则nexthop为peering的ID + Nexthop string `json:"nexthop"` + + // 功能说明:路由类型 取值范围:peering + Type VpcRouteType `json:"type"` + + // 请求添加路由的VPC ID + VpcId string `json:"vpc_id"` + + // 项目ID + TenantId string `json:"tenant_id"` +} + +func (o VpcRoute) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "VpcRoute struct{}" + } + + return strings.Join([]string{"VpcRoute", string(data)}, " ") +} + +type VpcRouteType struct { + value string +} + +type VpcRouteTypeEnum struct { + PEERING VpcRouteType +} + +func GetVpcRouteTypeEnum() VpcRouteTypeEnum { + return VpcRouteTypeEnum{ + PEERING: VpcRouteType{ + value: "peering", + }, + } +} + +func (c VpcRouteType) Value() string { + return c.value +} + +func (c VpcRouteType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *VpcRouteType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_client.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_client.go new file mode 100644 index 000000000..9c3772bc3 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_client.go @@ -0,0 +1,1863 @@ +package v2 + +import ( + http_client "github.com/huaweicloud/huaweicloud-sdk-go-v3/core" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/invoker" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model" +) + +type VpcClient struct { + HcClient *http_client.HcHttpClient +} + +func NewVpcClient(hcClient *http_client.HcHttpClient) *VpcClient { + return &VpcClient{HcClient: hcClient} +} + +func VpcClientBuilder() *http_client.HcHttpClientBuilder { + builder := http_client.NewHcHttpClientBuilder() + return builder +} + +// AcceptVpcPeering 接受对等连接请求 +// +// 租户A名下的VPC申请和租户B的VPC建立对等连接,需要等待租户B接受该请求。此接口用于租户接受其他租户发起的对等连接请求。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) AcceptVpcPeering(request *model.AcceptVpcPeeringRequest) (*model.AcceptVpcPeeringResponse, error) { + requestDef := GenReqDefForAcceptVpcPeering() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AcceptVpcPeeringResponse), nil + } +} + +// AcceptVpcPeeringInvoker 接受对等连接请求 +func (c *VpcClient) AcceptVpcPeeringInvoker(request *model.AcceptVpcPeeringRequest) *AcceptVpcPeeringInvoker { + requestDef := GenReqDefForAcceptVpcPeering() + return &AcceptVpcPeeringInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// AssociateRouteTable 子网关联路由表 +// +// 路由表关联子网。子网关联路由表A后,再关联B,不需要先跟路由表A解关联再关联路由表B +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) AssociateRouteTable(request *model.AssociateRouteTableRequest) (*model.AssociateRouteTableResponse, error) { + requestDef := GenReqDefForAssociateRouteTable() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AssociateRouteTableResponse), nil + } +} + +// AssociateRouteTableInvoker 子网关联路由表 +func (c *VpcClient) AssociateRouteTableInvoker(request *model.AssociateRouteTableRequest) *AssociateRouteTableInvoker { + requestDef := GenReqDefForAssociateRouteTable() + return &AssociateRouteTableInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// BatchCreateSubnetTags 批量创建子网资源标签 +// +// 为指定的子网资源实例批量添加标签。 +// 此接口为幂等接口:创建时如果请求体中存在重复key则报错。创建时,不允许设置重复key数据,如果数据库已存在该key,就覆盖value的值。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) BatchCreateSubnetTags(request *model.BatchCreateSubnetTagsRequest) (*model.BatchCreateSubnetTagsResponse, error) { + requestDef := GenReqDefForBatchCreateSubnetTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchCreateSubnetTagsResponse), nil + } +} + +// BatchCreateSubnetTagsInvoker 批量创建子网资源标签 +func (c *VpcClient) BatchCreateSubnetTagsInvoker(request *model.BatchCreateSubnetTagsRequest) *BatchCreateSubnetTagsInvoker { + requestDef := GenReqDefForBatchCreateSubnetTags() + return &BatchCreateSubnetTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// BatchDeleteSubnetTags 批量删除子网资源标签 +// +// 为指定的子网资源实例批量删除标签 +// 此接口为幂等接口:删除时,如果删除的标签不存在,默认处理成功;删除时不对标签字符集范围做校验。删除时tags结构体不能缺失,key不能为空,或者空字符串。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) BatchDeleteSubnetTags(request *model.BatchDeleteSubnetTagsRequest) (*model.BatchDeleteSubnetTagsResponse, error) { + requestDef := GenReqDefForBatchDeleteSubnetTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchDeleteSubnetTagsResponse), nil + } +} + +// BatchDeleteSubnetTagsInvoker 批量删除子网资源标签 +func (c *VpcClient) BatchDeleteSubnetTagsInvoker(request *model.BatchDeleteSubnetTagsRequest) *BatchDeleteSubnetTagsInvoker { + requestDef := GenReqDefForBatchDeleteSubnetTags() + return &BatchDeleteSubnetTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreatePort 创建端口 +// +// 创建端口。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreatePort(request *model.CreatePortRequest) (*model.CreatePortResponse, error) { + requestDef := GenReqDefForCreatePort() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreatePortResponse), nil + } +} + +// CreatePortInvoker 创建端口 +func (c *VpcClient) CreatePortInvoker(request *model.CreatePortRequest) *CreatePortInvoker { + requestDef := GenReqDefForCreatePort() + return &CreatePortInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateRouteTable 创建路由表 +// +// 创建路由表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateRouteTable(request *model.CreateRouteTableRequest) (*model.CreateRouteTableResponse, error) { + requestDef := GenReqDefForCreateRouteTable() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateRouteTableResponse), nil + } +} + +// CreateRouteTableInvoker 创建路由表 +func (c *VpcClient) CreateRouteTableInvoker(request *model.CreateRouteTableRequest) *CreateRouteTableInvoker { + requestDef := GenReqDefForCreateRouteTable() + return &CreateRouteTableInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateSecurityGroup 创建安全组 +// +// 创建安全组。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateSecurityGroup(request *model.CreateSecurityGroupRequest) (*model.CreateSecurityGroupResponse, error) { + requestDef := GenReqDefForCreateSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateSecurityGroupResponse), nil + } +} + +// CreateSecurityGroupInvoker 创建安全组 +func (c *VpcClient) CreateSecurityGroupInvoker(request *model.CreateSecurityGroupRequest) *CreateSecurityGroupInvoker { + requestDef := GenReqDefForCreateSecurityGroup() + return &CreateSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateSecurityGroupRule 创建安全组规则 +// +// 创建安全组规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateSecurityGroupRule(request *model.CreateSecurityGroupRuleRequest) (*model.CreateSecurityGroupRuleResponse, error) { + requestDef := GenReqDefForCreateSecurityGroupRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateSecurityGroupRuleResponse), nil + } +} + +// CreateSecurityGroupRuleInvoker 创建安全组规则 +func (c *VpcClient) CreateSecurityGroupRuleInvoker(request *model.CreateSecurityGroupRuleRequest) *CreateSecurityGroupRuleInvoker { + requestDef := GenReqDefForCreateSecurityGroupRule() + return &CreateSecurityGroupRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateSubnet 创建子网 +// +// 创建子网。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateSubnet(request *model.CreateSubnetRequest) (*model.CreateSubnetResponse, error) { + requestDef := GenReqDefForCreateSubnet() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateSubnetResponse), nil + } +} + +// CreateSubnetInvoker 创建子网 +func (c *VpcClient) CreateSubnetInvoker(request *model.CreateSubnetRequest) *CreateSubnetInvoker { + requestDef := GenReqDefForCreateSubnet() + return &CreateSubnetInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateSubnetTag 创建子网资源标签 +// +// 给指定子网资源实例增加标签信息。 +// 此接口为幂等接口:创建时,如果创建的标签已经存在(key相同),则覆盖。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateSubnetTag(request *model.CreateSubnetTagRequest) (*model.CreateSubnetTagResponse, error) { + requestDef := GenReqDefForCreateSubnetTag() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateSubnetTagResponse), nil + } +} + +// CreateSubnetTagInvoker 创建子网资源标签 +func (c *VpcClient) CreateSubnetTagInvoker(request *model.CreateSubnetTagRequest) *CreateSubnetTagInvoker { + requestDef := GenReqDefForCreateSubnetTag() + return &CreateSubnetTagInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateVpcPeering 创建对等连接 +// +// 创建对等连接。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateVpcPeering(request *model.CreateVpcPeeringRequest) (*model.CreateVpcPeeringResponse, error) { + requestDef := GenReqDefForCreateVpcPeering() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateVpcPeeringResponse), nil + } +} + +// CreateVpcPeeringInvoker 创建对等连接 +func (c *VpcClient) CreateVpcPeeringInvoker(request *model.CreateVpcPeeringRequest) *CreateVpcPeeringInvoker { + requestDef := GenReqDefForCreateVpcPeering() + return &CreateVpcPeeringInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeletePort 删除端口 +// +// 删除端口。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeletePort(request *model.DeletePortRequest) (*model.DeletePortResponse, error) { + requestDef := GenReqDefForDeletePort() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeletePortResponse), nil + } +} + +// DeletePortInvoker 删除端口 +func (c *VpcClient) DeletePortInvoker(request *model.DeletePortRequest) *DeletePortInvoker { + requestDef := GenReqDefForDeletePort() + return &DeletePortInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteRouteTable 删除路由表 +// +// 删除路由表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteRouteTable(request *model.DeleteRouteTableRequest) (*model.DeleteRouteTableResponse, error) { + requestDef := GenReqDefForDeleteRouteTable() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteRouteTableResponse), nil + } +} + +// DeleteRouteTableInvoker 删除路由表 +func (c *VpcClient) DeleteRouteTableInvoker(request *model.DeleteRouteTableRequest) *DeleteRouteTableInvoker { + requestDef := GenReqDefForDeleteRouteTable() + return &DeleteRouteTableInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteSecurityGroup 删除安全组 +// +// 删除安全组。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteSecurityGroup(request *model.DeleteSecurityGroupRequest) (*model.DeleteSecurityGroupResponse, error) { + requestDef := GenReqDefForDeleteSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteSecurityGroupResponse), nil + } +} + +// DeleteSecurityGroupInvoker 删除安全组 +func (c *VpcClient) DeleteSecurityGroupInvoker(request *model.DeleteSecurityGroupRequest) *DeleteSecurityGroupInvoker { + requestDef := GenReqDefForDeleteSecurityGroup() + return &DeleteSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteSecurityGroupRule 删除安全组规则 +// +// 删除安全组规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteSecurityGroupRule(request *model.DeleteSecurityGroupRuleRequest) (*model.DeleteSecurityGroupRuleResponse, error) { + requestDef := GenReqDefForDeleteSecurityGroupRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteSecurityGroupRuleResponse), nil + } +} + +// DeleteSecurityGroupRuleInvoker 删除安全组规则 +func (c *VpcClient) DeleteSecurityGroupRuleInvoker(request *model.DeleteSecurityGroupRuleRequest) *DeleteSecurityGroupRuleInvoker { + requestDef := GenReqDefForDeleteSecurityGroupRule() + return &DeleteSecurityGroupRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteSubnet 删除子网 +// +// 删除子网 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteSubnet(request *model.DeleteSubnetRequest) (*model.DeleteSubnetResponse, error) { + requestDef := GenReqDefForDeleteSubnet() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteSubnetResponse), nil + } +} + +// DeleteSubnetInvoker 删除子网 +func (c *VpcClient) DeleteSubnetInvoker(request *model.DeleteSubnetRequest) *DeleteSubnetInvoker { + requestDef := GenReqDefForDeleteSubnet() + return &DeleteSubnetInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteSubnetTag 删除子网资源标签 +// +// 删除指定子网资源实例的标签信息。 +// 该接口为幂等接口:删除的key不存在报404,Key不能为空或者空字符串 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteSubnetTag(request *model.DeleteSubnetTagRequest) (*model.DeleteSubnetTagResponse, error) { + requestDef := GenReqDefForDeleteSubnetTag() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteSubnetTagResponse), nil + } +} + +// DeleteSubnetTagInvoker 删除子网资源标签 +func (c *VpcClient) DeleteSubnetTagInvoker(request *model.DeleteSubnetTagRequest) *DeleteSubnetTagInvoker { + requestDef := GenReqDefForDeleteSubnetTag() + return &DeleteSubnetTagInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteVpcPeering 删除对等连接 +// +// 删除对等连接。 +// 可以在在本端或对端任何一端删除对等连接。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteVpcPeering(request *model.DeleteVpcPeeringRequest) (*model.DeleteVpcPeeringResponse, error) { + requestDef := GenReqDefForDeleteVpcPeering() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteVpcPeeringResponse), nil + } +} + +// DeleteVpcPeeringInvoker 删除对等连接 +func (c *VpcClient) DeleteVpcPeeringInvoker(request *model.DeleteVpcPeeringRequest) *DeleteVpcPeeringInvoker { + requestDef := GenReqDefForDeleteVpcPeering() + return &DeleteVpcPeeringInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DisassociateRouteTable 子网解关联路由表 +// +// 子网解关联路由表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DisassociateRouteTable(request *model.DisassociateRouteTableRequest) (*model.DisassociateRouteTableResponse, error) { + requestDef := GenReqDefForDisassociateRouteTable() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DisassociateRouteTableResponse), nil + } +} + +// DisassociateRouteTableInvoker 子网解关联路由表 +func (c *VpcClient) DisassociateRouteTableInvoker(request *model.DisassociateRouteTableRequest) *DisassociateRouteTableInvoker { + requestDef := GenReqDefForDisassociateRouteTable() + return &DisassociateRouteTableInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListPorts 查询端口列表 +// +// 查询提交请求的租户的所有端口,单次查询最多返回2000条数据。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListPorts(request *model.ListPortsRequest) (*model.ListPortsResponse, error) { + requestDef := GenReqDefForListPorts() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListPortsResponse), nil + } +} + +// ListPortsInvoker 查询端口列表 +func (c *VpcClient) ListPortsInvoker(request *model.ListPortsRequest) *ListPortsInvoker { + requestDef := GenReqDefForListPorts() + return &ListPortsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListRouteTables 查询路由表列表 +// +// 查询提交请求的帐户的所有路由表列表,并根据过滤条件进行过滤 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListRouteTables(request *model.ListRouteTablesRequest) (*model.ListRouteTablesResponse, error) { + requestDef := GenReqDefForListRouteTables() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListRouteTablesResponse), nil + } +} + +// ListRouteTablesInvoker 查询路由表列表 +func (c *VpcClient) ListRouteTablesInvoker(request *model.ListRouteTablesRequest) *ListRouteTablesInvoker { + requestDef := GenReqDefForListRouteTables() + return &ListRouteTablesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListSecurityGroupRules 查询安全组规则列表 +// +// 查询安全组规则列表。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListSecurityGroupRules(request *model.ListSecurityGroupRulesRequest) (*model.ListSecurityGroupRulesResponse, error) { + requestDef := GenReqDefForListSecurityGroupRules() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListSecurityGroupRulesResponse), nil + } +} + +// ListSecurityGroupRulesInvoker 查询安全组规则列表 +func (c *VpcClient) ListSecurityGroupRulesInvoker(request *model.ListSecurityGroupRulesRequest) *ListSecurityGroupRulesInvoker { + requestDef := GenReqDefForListSecurityGroupRules() + return &ListSecurityGroupRulesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListSecurityGroups 查询安全组列表 +// +// 查询安全组列表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListSecurityGroups(request *model.ListSecurityGroupsRequest) (*model.ListSecurityGroupsResponse, error) { + requestDef := GenReqDefForListSecurityGroups() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListSecurityGroupsResponse), nil + } +} + +// ListSecurityGroupsInvoker 查询安全组列表 +func (c *VpcClient) ListSecurityGroupsInvoker(request *model.ListSecurityGroupsRequest) *ListSecurityGroupsInvoker { + requestDef := GenReqDefForListSecurityGroups() + return &ListSecurityGroupsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListSubnetTags 查询子网项目标签 +// +// 查询租户在指定区域和实例类型的所有标签集合 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListSubnetTags(request *model.ListSubnetTagsRequest) (*model.ListSubnetTagsResponse, error) { + requestDef := GenReqDefForListSubnetTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListSubnetTagsResponse), nil + } +} + +// ListSubnetTagsInvoker 查询子网项目标签 +func (c *VpcClient) ListSubnetTagsInvoker(request *model.ListSubnetTagsRequest) *ListSubnetTagsInvoker { + requestDef := GenReqDefForListSubnetTags() + return &ListSubnetTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListSubnets 查询子网列表 +// +// 查询子网列表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListSubnets(request *model.ListSubnetsRequest) (*model.ListSubnetsResponse, error) { + requestDef := GenReqDefForListSubnets() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListSubnetsResponse), nil + } +} + +// ListSubnetsInvoker 查询子网列表 +func (c *VpcClient) ListSubnetsInvoker(request *model.ListSubnetsRequest) *ListSubnetsInvoker { + requestDef := GenReqDefForListSubnets() + return &ListSubnetsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListSubnetsByTags 查询子网资源实例 +// +// 使用标签过滤实例 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListSubnetsByTags(request *model.ListSubnetsByTagsRequest) (*model.ListSubnetsByTagsResponse, error) { + requestDef := GenReqDefForListSubnetsByTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListSubnetsByTagsResponse), nil + } +} + +// ListSubnetsByTagsInvoker 查询子网资源实例 +func (c *VpcClient) ListSubnetsByTagsInvoker(request *model.ListSubnetsByTagsRequest) *ListSubnetsByTagsInvoker { + requestDef := GenReqDefForListSubnetsByTags() + return &ListSubnetsByTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListVpcPeerings 查询对等连接列表 +// +// 查询提交请求的租户的所有对等连接。根据过滤条件进行过滤。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListVpcPeerings(request *model.ListVpcPeeringsRequest) (*model.ListVpcPeeringsResponse, error) { + requestDef := GenReqDefForListVpcPeerings() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListVpcPeeringsResponse), nil + } +} + +// ListVpcPeeringsInvoker 查询对等连接列表 +func (c *VpcClient) ListVpcPeeringsInvoker(request *model.ListVpcPeeringsRequest) *ListVpcPeeringsInvoker { + requestDef := GenReqDefForListVpcPeerings() + return &ListVpcPeeringsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// RejectVpcPeering 拒绝对等连接请求 +// +// 租户A名下的VPC申请和租户B的VPC建立对等连接,需要等待租户B接受该请求。此接口用于租户拒绝其他租户发起的对等连接请求。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) RejectVpcPeering(request *model.RejectVpcPeeringRequest) (*model.RejectVpcPeeringResponse, error) { + requestDef := GenReqDefForRejectVpcPeering() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.RejectVpcPeeringResponse), nil + } +} + +// RejectVpcPeeringInvoker 拒绝对等连接请求 +func (c *VpcClient) RejectVpcPeeringInvoker(request *model.RejectVpcPeeringRequest) *RejectVpcPeeringInvoker { + requestDef := GenReqDefForRejectVpcPeering() + return &RejectVpcPeeringInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowPort 查询端口 +// +// 查询单个端口详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowPort(request *model.ShowPortRequest) (*model.ShowPortResponse, error) { + requestDef := GenReqDefForShowPort() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowPortResponse), nil + } +} + +// ShowPortInvoker 查询端口 +func (c *VpcClient) ShowPortInvoker(request *model.ShowPortRequest) *ShowPortInvoker { + requestDef := GenReqDefForShowPort() + return &ShowPortInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowQuota 查询配额 +// +// 查询单租户在VPC服务下的网络资源配额,包括vpc配额、子网配额、安全组配额、安全组规则配额、弹性公网IP配额,vpn配额等。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowQuota(request *model.ShowQuotaRequest) (*model.ShowQuotaResponse, error) { + requestDef := GenReqDefForShowQuota() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowQuotaResponse), nil + } +} + +// ShowQuotaInvoker 查询配额 +func (c *VpcClient) ShowQuotaInvoker(request *model.ShowQuotaRequest) *ShowQuotaInvoker { + requestDef := GenReqDefForShowQuota() + return &ShowQuotaInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowRouteTable 查询路由表 +// +// 查询路由表详情 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowRouteTable(request *model.ShowRouteTableRequest) (*model.ShowRouteTableResponse, error) { + requestDef := GenReqDefForShowRouteTable() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowRouteTableResponse), nil + } +} + +// ShowRouteTableInvoker 查询路由表 +func (c *VpcClient) ShowRouteTableInvoker(request *model.ShowRouteTableRequest) *ShowRouteTableInvoker { + requestDef := GenReqDefForShowRouteTable() + return &ShowRouteTableInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowSecurityGroup 查询安全组 +// +// 查询单个安全组详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowSecurityGroup(request *model.ShowSecurityGroupRequest) (*model.ShowSecurityGroupResponse, error) { + requestDef := GenReqDefForShowSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowSecurityGroupResponse), nil + } +} + +// ShowSecurityGroupInvoker 查询安全组 +func (c *VpcClient) ShowSecurityGroupInvoker(request *model.ShowSecurityGroupRequest) *ShowSecurityGroupInvoker { + requestDef := GenReqDefForShowSecurityGroup() + return &ShowSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowSecurityGroupRule 查询安全组规则 +// +// 查询单个安全组规则详情 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowSecurityGroupRule(request *model.ShowSecurityGroupRuleRequest) (*model.ShowSecurityGroupRuleResponse, error) { + requestDef := GenReqDefForShowSecurityGroupRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowSecurityGroupRuleResponse), nil + } +} + +// ShowSecurityGroupRuleInvoker 查询安全组规则 +func (c *VpcClient) ShowSecurityGroupRuleInvoker(request *model.ShowSecurityGroupRuleRequest) *ShowSecurityGroupRuleInvoker { + requestDef := GenReqDefForShowSecurityGroupRule() + return &ShowSecurityGroupRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowSubnet 查询子网 +// +// 查询子网详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowSubnet(request *model.ShowSubnetRequest) (*model.ShowSubnetResponse, error) { + requestDef := GenReqDefForShowSubnet() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowSubnetResponse), nil + } +} + +// ShowSubnetInvoker 查询子网 +func (c *VpcClient) ShowSubnetInvoker(request *model.ShowSubnetRequest) *ShowSubnetInvoker { + requestDef := GenReqDefForShowSubnet() + return &ShowSubnetInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowSubnetTags 查询子网资源标签 +// +// 查询指定子网实例的标签信息。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowSubnetTags(request *model.ShowSubnetTagsRequest) (*model.ShowSubnetTagsResponse, error) { + requestDef := GenReqDefForShowSubnetTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowSubnetTagsResponse), nil + } +} + +// ShowSubnetTagsInvoker 查询子网资源标签 +func (c *VpcClient) ShowSubnetTagsInvoker(request *model.ShowSubnetTagsRequest) *ShowSubnetTagsInvoker { + requestDef := GenReqDefForShowSubnetTags() + return &ShowSubnetTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowVpcPeering 查询对等连接 +// +// 查询对等连接详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowVpcPeering(request *model.ShowVpcPeeringRequest) (*model.ShowVpcPeeringResponse, error) { + requestDef := GenReqDefForShowVpcPeering() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVpcPeeringResponse), nil + } +} + +// ShowVpcPeeringInvoker 查询对等连接 +func (c *VpcClient) ShowVpcPeeringInvoker(request *model.ShowVpcPeeringRequest) *ShowVpcPeeringInvoker { + requestDef := GenReqDefForShowVpcPeering() + return &ShowVpcPeeringInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// UpdatePort 更新端口 +// +// 更新端口。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) UpdatePort(request *model.UpdatePortRequest) (*model.UpdatePortResponse, error) { + requestDef := GenReqDefForUpdatePort() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdatePortResponse), nil + } +} + +// UpdatePortInvoker 更新端口 +func (c *VpcClient) UpdatePortInvoker(request *model.UpdatePortRequest) *UpdatePortInvoker { + requestDef := GenReqDefForUpdatePort() + return &UpdatePortInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// UpdateRouteTable 更新路由表 +// +// 更新路由表,包括可以更新路由表的名称,描述,以及新增、更新、删除路由条目 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) UpdateRouteTable(request *model.UpdateRouteTableRequest) (*model.UpdateRouteTableResponse, error) { + requestDef := GenReqDefForUpdateRouteTable() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateRouteTableResponse), nil + } +} + +// UpdateRouteTableInvoker 更新路由表 +func (c *VpcClient) UpdateRouteTableInvoker(request *model.UpdateRouteTableRequest) *UpdateRouteTableInvoker { + requestDef := GenReqDefForUpdateRouteTable() + return &UpdateRouteTableInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// UpdateSubnet 更新子网 +// +// 更新子网。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) UpdateSubnet(request *model.UpdateSubnetRequest) (*model.UpdateSubnetResponse, error) { + requestDef := GenReqDefForUpdateSubnet() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateSubnetResponse), nil + } +} + +// UpdateSubnetInvoker 更新子网 +func (c *VpcClient) UpdateSubnetInvoker(request *model.UpdateSubnetRequest) *UpdateSubnetInvoker { + requestDef := GenReqDefForUpdateSubnet() + return &UpdateSubnetInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// UpdateVpcPeering 更新对等连接 +// +// 更新对等连接。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) UpdateVpcPeering(request *model.UpdateVpcPeeringRequest) (*model.UpdateVpcPeeringResponse, error) { + requestDef := GenReqDefForUpdateVpcPeering() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateVpcPeeringResponse), nil + } +} + +// UpdateVpcPeeringInvoker 更新对等连接 +func (c *VpcClient) UpdateVpcPeeringInvoker(request *model.UpdateVpcPeeringRequest) *UpdateVpcPeeringInvoker { + requestDef := GenReqDefForUpdateVpcPeering() + return &UpdateVpcPeeringInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreatePrivateip 申请私有IP +// +// 申请私有IP。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreatePrivateip(request *model.CreatePrivateipRequest) (*model.CreatePrivateipResponse, error) { + requestDef := GenReqDefForCreatePrivateip() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreatePrivateipResponse), nil + } +} + +// CreatePrivateipInvoker 申请私有IP +func (c *VpcClient) CreatePrivateipInvoker(request *model.CreatePrivateipRequest) *CreatePrivateipInvoker { + requestDef := GenReqDefForCreatePrivateip() + return &CreatePrivateipInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeletePrivateip 删除私有IP +// +// 删除私有IP。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeletePrivateip(request *model.DeletePrivateipRequest) (*model.DeletePrivateipResponse, error) { + requestDef := GenReqDefForDeletePrivateip() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeletePrivateipResponse), nil + } +} + +// DeletePrivateipInvoker 删除私有IP +func (c *VpcClient) DeletePrivateipInvoker(request *model.DeletePrivateipRequest) *DeletePrivateipInvoker { + requestDef := GenReqDefForDeletePrivateip() + return &DeletePrivateipInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListPrivateips 查询私有IP列表 +// +// 查询指定子网下的私有IP列表。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListPrivateips(request *model.ListPrivateipsRequest) (*model.ListPrivateipsResponse, error) { + requestDef := GenReqDefForListPrivateips() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListPrivateipsResponse), nil + } +} + +// ListPrivateipsInvoker 查询私有IP列表 +func (c *VpcClient) ListPrivateipsInvoker(request *model.ListPrivateipsRequest) *ListPrivateipsInvoker { + requestDef := GenReqDefForListPrivateips() + return &ListPrivateipsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowNetworkIpAvailabilities 查询网络IP使用情况 +// +// 显示一个指定网络中的IPv4地址使用情况。 +// 包括此网络中的IP总数以及已用IP总数,以及网络下每一个子网的IP地址总数和可用IP地址总数。 +// +// > 须知 +// +// - 系统预留地址指的是子网的第1个以及最后4个地址,一般用于网关、DHCP等服务。 +// - 这里以及下文描述的IP地址总数、已用IP地址总数不包含系统预留地址。 +// - 在分配IP时,用户可以指定系统预留的IP地址。但是不论IP是如何分配的,只要是处于系统预留IP地址段的IP均不会被统计到已用IP地址数目和IP地址总数中。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowNetworkIpAvailabilities(request *model.ShowNetworkIpAvailabilitiesRequest) (*model.ShowNetworkIpAvailabilitiesResponse, error) { + requestDef := GenReqDefForShowNetworkIpAvailabilities() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowNetworkIpAvailabilitiesResponse), nil + } +} + +// ShowNetworkIpAvailabilitiesInvoker 查询网络IP使用情况 +func (c *VpcClient) ShowNetworkIpAvailabilitiesInvoker(request *model.ShowNetworkIpAvailabilitiesRequest) *ShowNetworkIpAvailabilitiesInvoker { + requestDef := GenReqDefForShowNetworkIpAvailabilities() + return &ShowNetworkIpAvailabilitiesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowPrivateip 查询私有IP +// +// 指定ID查询私有IP。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowPrivateip(request *model.ShowPrivateipRequest) (*model.ShowPrivateipResponse, error) { + requestDef := GenReqDefForShowPrivateip() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowPrivateipResponse), nil + } +} + +// ShowPrivateipInvoker 查询私有IP +func (c *VpcClient) ShowPrivateipInvoker(request *model.ShowPrivateipRequest) *ShowPrivateipInvoker { + requestDef := GenReqDefForShowPrivateip() + return &ShowPrivateipInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronCreateSecurityGroup 创建安全组 +// +// 创建安全组 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronCreateSecurityGroup(request *model.NeutronCreateSecurityGroupRequest) (*model.NeutronCreateSecurityGroupResponse, error) { + requestDef := GenReqDefForNeutronCreateSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronCreateSecurityGroupResponse), nil + } +} + +// NeutronCreateSecurityGroupInvoker 创建安全组 +func (c *VpcClient) NeutronCreateSecurityGroupInvoker(request *model.NeutronCreateSecurityGroupRequest) *NeutronCreateSecurityGroupInvoker { + requestDef := GenReqDefForNeutronCreateSecurityGroup() + return &NeutronCreateSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronCreateSecurityGroupRule 创建安全组规则 +// +// 创建安全组规则 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronCreateSecurityGroupRule(request *model.NeutronCreateSecurityGroupRuleRequest) (*model.NeutronCreateSecurityGroupRuleResponse, error) { + requestDef := GenReqDefForNeutronCreateSecurityGroupRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronCreateSecurityGroupRuleResponse), nil + } +} + +// NeutronCreateSecurityGroupRuleInvoker 创建安全组规则 +func (c *VpcClient) NeutronCreateSecurityGroupRuleInvoker(request *model.NeutronCreateSecurityGroupRuleRequest) *NeutronCreateSecurityGroupRuleInvoker { + requestDef := GenReqDefForNeutronCreateSecurityGroupRule() + return &NeutronCreateSecurityGroupRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronDeleteSecurityGroup 删除安全组 +// +// 删除安全组 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronDeleteSecurityGroup(request *model.NeutronDeleteSecurityGroupRequest) (*model.NeutronDeleteSecurityGroupResponse, error) { + requestDef := GenReqDefForNeutronDeleteSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronDeleteSecurityGroupResponse), nil + } +} + +// NeutronDeleteSecurityGroupInvoker 删除安全组 +func (c *VpcClient) NeutronDeleteSecurityGroupInvoker(request *model.NeutronDeleteSecurityGroupRequest) *NeutronDeleteSecurityGroupInvoker { + requestDef := GenReqDefForNeutronDeleteSecurityGroup() + return &NeutronDeleteSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronDeleteSecurityGroupRule 删除安全组规则 +// +// 删除安全组规则 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronDeleteSecurityGroupRule(request *model.NeutronDeleteSecurityGroupRuleRequest) (*model.NeutronDeleteSecurityGroupRuleResponse, error) { + requestDef := GenReqDefForNeutronDeleteSecurityGroupRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronDeleteSecurityGroupRuleResponse), nil + } +} + +// NeutronDeleteSecurityGroupRuleInvoker 删除安全组规则 +func (c *VpcClient) NeutronDeleteSecurityGroupRuleInvoker(request *model.NeutronDeleteSecurityGroupRuleRequest) *NeutronDeleteSecurityGroupRuleInvoker { + requestDef := GenReqDefForNeutronDeleteSecurityGroupRule() + return &NeutronDeleteSecurityGroupRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronListSecurityGroupRules 查询安全组规则列表 +// +// 查询提交请求的租户有权限查看的所有安全组规则。单次查询最多返回2000条数据,超过2000后会返回分页标记。分页查询请参考分页查询 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronListSecurityGroupRules(request *model.NeutronListSecurityGroupRulesRequest) (*model.NeutronListSecurityGroupRulesResponse, error) { + requestDef := GenReqDefForNeutronListSecurityGroupRules() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronListSecurityGroupRulesResponse), nil + } +} + +// NeutronListSecurityGroupRulesInvoker 查询安全组规则列表 +func (c *VpcClient) NeutronListSecurityGroupRulesInvoker(request *model.NeutronListSecurityGroupRulesRequest) *NeutronListSecurityGroupRulesInvoker { + requestDef := GenReqDefForNeutronListSecurityGroupRules() + return &NeutronListSecurityGroupRulesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronListSecurityGroups 查询安全组列表 +// +// 查询提交请求租户的所有安全组,单次查询最多返回2000条数据,超过2000后会返回分页标记。分页查询请参考分页查询 。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronListSecurityGroups(request *model.NeutronListSecurityGroupsRequest) (*model.NeutronListSecurityGroupsResponse, error) { + requestDef := GenReqDefForNeutronListSecurityGroups() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronListSecurityGroupsResponse), nil + } +} + +// NeutronListSecurityGroupsInvoker 查询安全组列表 +func (c *VpcClient) NeutronListSecurityGroupsInvoker(request *model.NeutronListSecurityGroupsRequest) *NeutronListSecurityGroupsInvoker { + requestDef := GenReqDefForNeutronListSecurityGroups() + return &NeutronListSecurityGroupsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronShowSecurityGroup 查询安全组 +// +// 查询安全组详情 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronShowSecurityGroup(request *model.NeutronShowSecurityGroupRequest) (*model.NeutronShowSecurityGroupResponse, error) { + requestDef := GenReqDefForNeutronShowSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronShowSecurityGroupResponse), nil + } +} + +// NeutronShowSecurityGroupInvoker 查询安全组 +func (c *VpcClient) NeutronShowSecurityGroupInvoker(request *model.NeutronShowSecurityGroupRequest) *NeutronShowSecurityGroupInvoker { + requestDef := GenReqDefForNeutronShowSecurityGroup() + return &NeutronShowSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronShowSecurityGroupRule 查询安全组规则 +// +// 查询安全组规则详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronShowSecurityGroupRule(request *model.NeutronShowSecurityGroupRuleRequest) (*model.NeutronShowSecurityGroupRuleResponse, error) { + requestDef := GenReqDefForNeutronShowSecurityGroupRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronShowSecurityGroupRuleResponse), nil + } +} + +// NeutronShowSecurityGroupRuleInvoker 查询安全组规则 +func (c *VpcClient) NeutronShowSecurityGroupRuleInvoker(request *model.NeutronShowSecurityGroupRuleRequest) *NeutronShowSecurityGroupRuleInvoker { + requestDef := GenReqDefForNeutronShowSecurityGroupRule() + return &NeutronShowSecurityGroupRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronUpdateSecurityGroup 更新安全组 +// +// 更新安全组 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronUpdateSecurityGroup(request *model.NeutronUpdateSecurityGroupRequest) (*model.NeutronUpdateSecurityGroupResponse, error) { + requestDef := GenReqDefForNeutronUpdateSecurityGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronUpdateSecurityGroupResponse), nil + } +} + +// NeutronUpdateSecurityGroupInvoker 更新安全组 +func (c *VpcClient) NeutronUpdateSecurityGroupInvoker(request *model.NeutronUpdateSecurityGroupRequest) *NeutronUpdateSecurityGroupInvoker { + requestDef := GenReqDefForNeutronUpdateSecurityGroup() + return &NeutronUpdateSecurityGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronAddFirewallRule 插入网络ACL规则 +// +// 插入一条网络ACL规则到某一网络ACL策略中。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronAddFirewallRule(request *model.NeutronAddFirewallRuleRequest) (*model.NeutronAddFirewallRuleResponse, error) { + requestDef := GenReqDefForNeutronAddFirewallRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronAddFirewallRuleResponse), nil + } +} + +// NeutronAddFirewallRuleInvoker 插入网络ACL规则 +func (c *VpcClient) NeutronAddFirewallRuleInvoker(request *model.NeutronAddFirewallRuleRequest) *NeutronAddFirewallRuleInvoker { + requestDef := GenReqDefForNeutronAddFirewallRule() + return &NeutronAddFirewallRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronCreateFirewallGroup 创建网络ACL组 +// +// 创建网络ACL组 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronCreateFirewallGroup(request *model.NeutronCreateFirewallGroupRequest) (*model.NeutronCreateFirewallGroupResponse, error) { + requestDef := GenReqDefForNeutronCreateFirewallGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronCreateFirewallGroupResponse), nil + } +} + +// NeutronCreateFirewallGroupInvoker 创建网络ACL组 +func (c *VpcClient) NeutronCreateFirewallGroupInvoker(request *model.NeutronCreateFirewallGroupRequest) *NeutronCreateFirewallGroupInvoker { + requestDef := GenReqDefForNeutronCreateFirewallGroup() + return &NeutronCreateFirewallGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronCreateFirewallPolicy 创建网络ACL策略 +// +// 创建网络ACL策略。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronCreateFirewallPolicy(request *model.NeutronCreateFirewallPolicyRequest) (*model.NeutronCreateFirewallPolicyResponse, error) { + requestDef := GenReqDefForNeutronCreateFirewallPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronCreateFirewallPolicyResponse), nil + } +} + +// NeutronCreateFirewallPolicyInvoker 创建网络ACL策略 +func (c *VpcClient) NeutronCreateFirewallPolicyInvoker(request *model.NeutronCreateFirewallPolicyRequest) *NeutronCreateFirewallPolicyInvoker { + requestDef := GenReqDefForNeutronCreateFirewallPolicy() + return &NeutronCreateFirewallPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronCreateFirewallRule 创建网络ACL规则 +// +// 创建网络ACL规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronCreateFirewallRule(request *model.NeutronCreateFirewallRuleRequest) (*model.NeutronCreateFirewallRuleResponse, error) { + requestDef := GenReqDefForNeutronCreateFirewallRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronCreateFirewallRuleResponse), nil + } +} + +// NeutronCreateFirewallRuleInvoker 创建网络ACL规则 +func (c *VpcClient) NeutronCreateFirewallRuleInvoker(request *model.NeutronCreateFirewallRuleRequest) *NeutronCreateFirewallRuleInvoker { + requestDef := GenReqDefForNeutronCreateFirewallRule() + return &NeutronCreateFirewallRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronDeleteFirewallGroup 删除网络ACL组 +// +// 删除网络ACL组 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronDeleteFirewallGroup(request *model.NeutronDeleteFirewallGroupRequest) (*model.NeutronDeleteFirewallGroupResponse, error) { + requestDef := GenReqDefForNeutronDeleteFirewallGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronDeleteFirewallGroupResponse), nil + } +} + +// NeutronDeleteFirewallGroupInvoker 删除网络ACL组 +func (c *VpcClient) NeutronDeleteFirewallGroupInvoker(request *model.NeutronDeleteFirewallGroupRequest) *NeutronDeleteFirewallGroupInvoker { + requestDef := GenReqDefForNeutronDeleteFirewallGroup() + return &NeutronDeleteFirewallGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronDeleteFirewallPolicy 删除网络ACL策略 +// +// 删除网络ACL策略。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronDeleteFirewallPolicy(request *model.NeutronDeleteFirewallPolicyRequest) (*model.NeutronDeleteFirewallPolicyResponse, error) { + requestDef := GenReqDefForNeutronDeleteFirewallPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronDeleteFirewallPolicyResponse), nil + } +} + +// NeutronDeleteFirewallPolicyInvoker 删除网络ACL策略 +func (c *VpcClient) NeutronDeleteFirewallPolicyInvoker(request *model.NeutronDeleteFirewallPolicyRequest) *NeutronDeleteFirewallPolicyInvoker { + requestDef := GenReqDefForNeutronDeleteFirewallPolicy() + return &NeutronDeleteFirewallPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronDeleteFirewallRule 删除网络ACL规则 +// +// 删除网络ACL规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronDeleteFirewallRule(request *model.NeutronDeleteFirewallRuleRequest) (*model.NeutronDeleteFirewallRuleResponse, error) { + requestDef := GenReqDefForNeutronDeleteFirewallRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronDeleteFirewallRuleResponse), nil + } +} + +// NeutronDeleteFirewallRuleInvoker 删除网络ACL规则 +func (c *VpcClient) NeutronDeleteFirewallRuleInvoker(request *model.NeutronDeleteFirewallRuleRequest) *NeutronDeleteFirewallRuleInvoker { + requestDef := GenReqDefForNeutronDeleteFirewallRule() + return &NeutronDeleteFirewallRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronListFirewallGroups 查询所有网络ACL组 +// +// 查询提交请求的租户有权限操作的所有网络ACL组信息。单次查询最多返回2000条数据,超过2000后会返回分页标记。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronListFirewallGroups(request *model.NeutronListFirewallGroupsRequest) (*model.NeutronListFirewallGroupsResponse, error) { + requestDef := GenReqDefForNeutronListFirewallGroups() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronListFirewallGroupsResponse), nil + } +} + +// NeutronListFirewallGroupsInvoker 查询所有网络ACL组 +func (c *VpcClient) NeutronListFirewallGroupsInvoker(request *model.NeutronListFirewallGroupsRequest) *NeutronListFirewallGroupsInvoker { + requestDef := GenReqDefForNeutronListFirewallGroups() + return &NeutronListFirewallGroupsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronListFirewallPolicies 查询所有网络ACL策略 +// +// 查询提交请求的租户有权限操作的所有网络ACL策略信息。单次查询最多返回2000条数据,超过2000后会返回分页标记。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronListFirewallPolicies(request *model.NeutronListFirewallPoliciesRequest) (*model.NeutronListFirewallPoliciesResponse, error) { + requestDef := GenReqDefForNeutronListFirewallPolicies() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronListFirewallPoliciesResponse), nil + } +} + +// NeutronListFirewallPoliciesInvoker 查询所有网络ACL策略 +func (c *VpcClient) NeutronListFirewallPoliciesInvoker(request *model.NeutronListFirewallPoliciesRequest) *NeutronListFirewallPoliciesInvoker { + requestDef := GenReqDefForNeutronListFirewallPolicies() + return &NeutronListFirewallPoliciesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronListFirewallRules 查询所有网络ACL规则 +// +// 查询提交请求的租户有权限操作的所有网络ACL规则信息。单次查询最多返回2000条数据,超过2000后会返回分页标记。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronListFirewallRules(request *model.NeutronListFirewallRulesRequest) (*model.NeutronListFirewallRulesResponse, error) { + requestDef := GenReqDefForNeutronListFirewallRules() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronListFirewallRulesResponse), nil + } +} + +// NeutronListFirewallRulesInvoker 查询所有网络ACL规则 +func (c *VpcClient) NeutronListFirewallRulesInvoker(request *model.NeutronListFirewallRulesRequest) *NeutronListFirewallRulesInvoker { + requestDef := GenReqDefForNeutronListFirewallRules() + return &NeutronListFirewallRulesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronRemoveFirewallRule 移除网络ACL规则 +// +// 从某一网络ACL策略中移除一条网络ACL规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronRemoveFirewallRule(request *model.NeutronRemoveFirewallRuleRequest) (*model.NeutronRemoveFirewallRuleResponse, error) { + requestDef := GenReqDefForNeutronRemoveFirewallRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronRemoveFirewallRuleResponse), nil + } +} + +// NeutronRemoveFirewallRuleInvoker 移除网络ACL规则 +func (c *VpcClient) NeutronRemoveFirewallRuleInvoker(request *model.NeutronRemoveFirewallRuleRequest) *NeutronRemoveFirewallRuleInvoker { + requestDef := GenReqDefForNeutronRemoveFirewallRule() + return &NeutronRemoveFirewallRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronShowFirewallGroup 查询特定网络ACL组详情 +// +// 查询特定网络ACL组详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronShowFirewallGroup(request *model.NeutronShowFirewallGroupRequest) (*model.NeutronShowFirewallGroupResponse, error) { + requestDef := GenReqDefForNeutronShowFirewallGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronShowFirewallGroupResponse), nil + } +} + +// NeutronShowFirewallGroupInvoker 查询特定网络ACL组详情 +func (c *VpcClient) NeutronShowFirewallGroupInvoker(request *model.NeutronShowFirewallGroupRequest) *NeutronShowFirewallGroupInvoker { + requestDef := GenReqDefForNeutronShowFirewallGroup() + return &NeutronShowFirewallGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronShowFirewallPolicy 查询特定网络ACL策略详情 +// +// 查询特定网络ACL策略详情。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronShowFirewallPolicy(request *model.NeutronShowFirewallPolicyRequest) (*model.NeutronShowFirewallPolicyResponse, error) { + requestDef := GenReqDefForNeutronShowFirewallPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronShowFirewallPolicyResponse), nil + } +} + +// NeutronShowFirewallPolicyInvoker 查询特定网络ACL策略详情 +func (c *VpcClient) NeutronShowFirewallPolicyInvoker(request *model.NeutronShowFirewallPolicyRequest) *NeutronShowFirewallPolicyInvoker { + requestDef := GenReqDefForNeutronShowFirewallPolicy() + return &NeutronShowFirewallPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronShowFirewallRule 查询特定网络ACL规则 +// +// 查询特定网络ACL规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronShowFirewallRule(request *model.NeutronShowFirewallRuleRequest) (*model.NeutronShowFirewallRuleResponse, error) { + requestDef := GenReqDefForNeutronShowFirewallRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronShowFirewallRuleResponse), nil + } +} + +// NeutronShowFirewallRuleInvoker 查询特定网络ACL规则 +func (c *VpcClient) NeutronShowFirewallRuleInvoker(request *model.NeutronShowFirewallRuleRequest) *NeutronShowFirewallRuleInvoker { + requestDef := GenReqDefForNeutronShowFirewallRule() + return &NeutronShowFirewallRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronUpdateFirewallGroup 更新网络ACL组 +// +// 更新网络ACL组。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronUpdateFirewallGroup(request *model.NeutronUpdateFirewallGroupRequest) (*model.NeutronUpdateFirewallGroupResponse, error) { + requestDef := GenReqDefForNeutronUpdateFirewallGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronUpdateFirewallGroupResponse), nil + } +} + +// NeutronUpdateFirewallGroupInvoker 更新网络ACL组 +func (c *VpcClient) NeutronUpdateFirewallGroupInvoker(request *model.NeutronUpdateFirewallGroupRequest) *NeutronUpdateFirewallGroupInvoker { + requestDef := GenReqDefForNeutronUpdateFirewallGroup() + return &NeutronUpdateFirewallGroupInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronUpdateFirewallPolicy 更新网络ACL策略 +// +// 更新网络ACL策略。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronUpdateFirewallPolicy(request *model.NeutronUpdateFirewallPolicyRequest) (*model.NeutronUpdateFirewallPolicyResponse, error) { + requestDef := GenReqDefForNeutronUpdateFirewallPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronUpdateFirewallPolicyResponse), nil + } +} + +// NeutronUpdateFirewallPolicyInvoker 更新网络ACL策略 +func (c *VpcClient) NeutronUpdateFirewallPolicyInvoker(request *model.NeutronUpdateFirewallPolicyRequest) *NeutronUpdateFirewallPolicyInvoker { + requestDef := GenReqDefForNeutronUpdateFirewallPolicy() + return &NeutronUpdateFirewallPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// NeutronUpdateFirewallRule 更新网络ACL规则 +// +// 更新网络ACL规则。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) NeutronUpdateFirewallRule(request *model.NeutronUpdateFirewallRuleRequest) (*model.NeutronUpdateFirewallRuleResponse, error) { + requestDef := GenReqDefForNeutronUpdateFirewallRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NeutronUpdateFirewallRuleResponse), nil + } +} + +// NeutronUpdateFirewallRuleInvoker 更新网络ACL规则 +func (c *VpcClient) NeutronUpdateFirewallRuleInvoker(request *model.NeutronUpdateFirewallRuleRequest) *NeutronUpdateFirewallRuleInvoker { + requestDef := GenReqDefForNeutronUpdateFirewallRule() + return &NeutronUpdateFirewallRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// BatchCreateVpcTags 批量创建VPC资源标签 +// +// 为指定的VPC资源实例批量添加标签。 +// 此接口为幂等接口:创建时如果请求体中存在重复key则报错。创建时,不允许设置重复key数据,如果数据库已存在该key,就覆盖value的值。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) BatchCreateVpcTags(request *model.BatchCreateVpcTagsRequest) (*model.BatchCreateVpcTagsResponse, error) { + requestDef := GenReqDefForBatchCreateVpcTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchCreateVpcTagsResponse), nil + } +} + +// BatchCreateVpcTagsInvoker 批量创建VPC资源标签 +func (c *VpcClient) BatchCreateVpcTagsInvoker(request *model.BatchCreateVpcTagsRequest) *BatchCreateVpcTagsInvoker { + requestDef := GenReqDefForBatchCreateVpcTags() + return &BatchCreateVpcTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// BatchDeleteVpcTags 批量删除VPC资源标签 +// +// 为指定的VPC资源实例批量删除标签。 +// 此接口为幂等接口:删除时,如果删除的标签不存在,默认处理成功;删除时不对标签字符集范围做校验。删除时tags结构体不能缺失,key不能为空,或者空字符串。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) BatchDeleteVpcTags(request *model.BatchDeleteVpcTagsRequest) (*model.BatchDeleteVpcTagsResponse, error) { + requestDef := GenReqDefForBatchDeleteVpcTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchDeleteVpcTagsResponse), nil + } +} + +// BatchDeleteVpcTagsInvoker 批量删除VPC资源标签 +func (c *VpcClient) BatchDeleteVpcTagsInvoker(request *model.BatchDeleteVpcTagsRequest) *BatchDeleteVpcTagsInvoker { + requestDef := GenReqDefForBatchDeleteVpcTags() + return &BatchDeleteVpcTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateVpc 创建VPC +// +// 创建虚拟私有云。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateVpc(request *model.CreateVpcRequest) (*model.CreateVpcResponse, error) { + requestDef := GenReqDefForCreateVpc() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateVpcResponse), nil + } +} + +// CreateVpcInvoker 创建VPC +func (c *VpcClient) CreateVpcInvoker(request *model.CreateVpcRequest) *CreateVpcInvoker { + requestDef := GenReqDefForCreateVpc() + return &CreateVpcInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateVpcResourceTag 创建VPC资源标签 +// +// 给指定VPC资源实例增加标签信息 +// 此接口为幂等接口:创建时,如果创建的标签已经存在(key相同),则覆盖。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateVpcResourceTag(request *model.CreateVpcResourceTagRequest) (*model.CreateVpcResourceTagResponse, error) { + requestDef := GenReqDefForCreateVpcResourceTag() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateVpcResourceTagResponse), nil + } +} + +// CreateVpcResourceTagInvoker 创建VPC资源标签 +func (c *VpcClient) CreateVpcResourceTagInvoker(request *model.CreateVpcResourceTagRequest) *CreateVpcResourceTagInvoker { + requestDef := GenReqDefForCreateVpcResourceTag() + return &CreateVpcResourceTagInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// CreateVpcRoute 创建VPC路由 +// +// 创建路由 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) CreateVpcRoute(request *model.CreateVpcRouteRequest) (*model.CreateVpcRouteResponse, error) { + requestDef := GenReqDefForCreateVpcRoute() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateVpcRouteResponse), nil + } +} + +// CreateVpcRouteInvoker 创建VPC路由 +func (c *VpcClient) CreateVpcRouteInvoker(request *model.CreateVpcRouteRequest) *CreateVpcRouteInvoker { + requestDef := GenReqDefForCreateVpcRoute() + return &CreateVpcRouteInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteVpc 删除VPC +// +// 删除虚拟私有云。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteVpc(request *model.DeleteVpcRequest) (*model.DeleteVpcResponse, error) { + requestDef := GenReqDefForDeleteVpc() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteVpcResponse), nil + } +} + +// DeleteVpcInvoker 删除VPC +func (c *VpcClient) DeleteVpcInvoker(request *model.DeleteVpcRequest) *DeleteVpcInvoker { + requestDef := GenReqDefForDeleteVpc() + return &DeleteVpcInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteVpcRoute 删除VPC路由 +// +// 删除路由 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteVpcRoute(request *model.DeleteVpcRouteRequest) (*model.DeleteVpcRouteResponse, error) { + requestDef := GenReqDefForDeleteVpcRoute() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteVpcRouteResponse), nil + } +} + +// DeleteVpcRouteInvoker 删除VPC路由 +func (c *VpcClient) DeleteVpcRouteInvoker(request *model.DeleteVpcRouteRequest) *DeleteVpcRouteInvoker { + requestDef := GenReqDefForDeleteVpcRoute() + return &DeleteVpcRouteInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteVpcTag 删除VPC资源标签 +// +// 删除指定VPC资源实例的标签信息 +// 该接口为幂等接口:删除的key不存在报404,Key不能为空或者空字符串 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) DeleteVpcTag(request *model.DeleteVpcTagRequest) (*model.DeleteVpcTagResponse, error) { + requestDef := GenReqDefForDeleteVpcTag() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteVpcTagResponse), nil + } +} + +// DeleteVpcTagInvoker 删除VPC资源标签 +func (c *VpcClient) DeleteVpcTagInvoker(request *model.DeleteVpcTagRequest) *DeleteVpcTagInvoker { + requestDef := GenReqDefForDeleteVpcTag() + return &DeleteVpcTagInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListVpcRoutes 查询VPC路由列表 +// +// 查询提交请求的租户的所有路由列表,并根据过滤条件进行过滤。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListVpcRoutes(request *model.ListVpcRoutesRequest) (*model.ListVpcRoutesResponse, error) { + requestDef := GenReqDefForListVpcRoutes() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListVpcRoutesResponse), nil + } +} + +// ListVpcRoutesInvoker 查询VPC路由列表 +func (c *VpcClient) ListVpcRoutesInvoker(request *model.ListVpcRoutesRequest) *ListVpcRoutesInvoker { + requestDef := GenReqDefForListVpcRoutes() + return &ListVpcRoutesInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListVpcTags 查询VPC项目标签 +// +// 查询租户在指定区域和实例类型的所有标签集合 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListVpcTags(request *model.ListVpcTagsRequest) (*model.ListVpcTagsResponse, error) { + requestDef := GenReqDefForListVpcTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListVpcTagsResponse), nil + } +} + +// ListVpcTagsInvoker 查询VPC项目标签 +func (c *VpcClient) ListVpcTagsInvoker(request *model.ListVpcTagsRequest) *ListVpcTagsInvoker { + requestDef := GenReqDefForListVpcTags() + return &ListVpcTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListVpcs 查询VPC列表 +// +// 查询虚拟私有云列表。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListVpcs(request *model.ListVpcsRequest) (*model.ListVpcsResponse, error) { + requestDef := GenReqDefForListVpcs() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListVpcsResponse), nil + } +} + +// ListVpcsInvoker 查询VPC列表 +func (c *VpcClient) ListVpcsInvoker(request *model.ListVpcsRequest) *ListVpcsInvoker { + requestDef := GenReqDefForListVpcs() + return &ListVpcsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListVpcsByTags 查询VPC资源实例 +// +// 使用标签过滤实例。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ListVpcsByTags(request *model.ListVpcsByTagsRequest) (*model.ListVpcsByTagsResponse, error) { + requestDef := GenReqDefForListVpcsByTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListVpcsByTagsResponse), nil + } +} + +// ListVpcsByTagsInvoker 查询VPC资源实例 +func (c *VpcClient) ListVpcsByTagsInvoker(request *model.ListVpcsByTagsRequest) *ListVpcsByTagsInvoker { + requestDef := GenReqDefForListVpcsByTags() + return &ListVpcsByTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowVpc 查询VPC +// +// 查询虚拟私有云。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowVpc(request *model.ShowVpcRequest) (*model.ShowVpcResponse, error) { + requestDef := GenReqDefForShowVpc() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVpcResponse), nil + } +} + +// ShowVpcInvoker 查询VPC +func (c *VpcClient) ShowVpcInvoker(request *model.ShowVpcRequest) *ShowVpcInvoker { + requestDef := GenReqDefForShowVpc() + return &ShowVpcInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowVpcRoute 查询VPC路由 +// +// 查询路由详情 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowVpcRoute(request *model.ShowVpcRouteRequest) (*model.ShowVpcRouteResponse, error) { + requestDef := GenReqDefForShowVpcRoute() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVpcRouteResponse), nil + } +} + +// ShowVpcRouteInvoker 查询VPC路由 +func (c *VpcClient) ShowVpcRouteInvoker(request *model.ShowVpcRouteRequest) *ShowVpcRouteInvoker { + requestDef := GenReqDefForShowVpcRoute() + return &ShowVpcRouteInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowVpcTags 查询VPC资源标签 +// +// 查询指定VPC实例的标签信息 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) ShowVpcTags(request *model.ShowVpcTagsRequest) (*model.ShowVpcTagsResponse, error) { + requestDef := GenReqDefForShowVpcTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVpcTagsResponse), nil + } +} + +// ShowVpcTagsInvoker 查询VPC资源标签 +func (c *VpcClient) ShowVpcTagsInvoker(request *model.ShowVpcTagsRequest) *ShowVpcTagsInvoker { + requestDef := GenReqDefForShowVpcTags() + return &ShowVpcTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// UpdateVpc 更新VPC +// +// 更新虚拟私有云。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *VpcClient) UpdateVpc(request *model.UpdateVpcRequest) (*model.UpdateVpcResponse, error) { + requestDef := GenReqDefForUpdateVpc() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateVpcResponse), nil + } +} + +// UpdateVpcInvoker 更新VPC +func (c *VpcClient) UpdateVpcInvoker(request *model.UpdateVpcRequest) *UpdateVpcInvoker { + requestDef := GenReqDefForUpdateVpc() + return &UpdateVpcInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_invoker.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_invoker.go new file mode 100644 index 000000000..abc47c183 --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_invoker.go @@ -0,0 +1,1050 @@ +package v2 + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/invoker" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model" +) + +type AcceptVpcPeeringInvoker struct { + *invoker.BaseInvoker +} + +func (i *AcceptVpcPeeringInvoker) Invoke() (*model.AcceptVpcPeeringResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.AcceptVpcPeeringResponse), nil + } +} + +type AssociateRouteTableInvoker struct { + *invoker.BaseInvoker +} + +func (i *AssociateRouteTableInvoker) Invoke() (*model.AssociateRouteTableResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.AssociateRouteTableResponse), nil + } +} + +type BatchCreateSubnetTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *BatchCreateSubnetTagsInvoker) Invoke() (*model.BatchCreateSubnetTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.BatchCreateSubnetTagsResponse), nil + } +} + +type BatchDeleteSubnetTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *BatchDeleteSubnetTagsInvoker) Invoke() (*model.BatchDeleteSubnetTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.BatchDeleteSubnetTagsResponse), nil + } +} + +type CreatePortInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreatePortInvoker) Invoke() (*model.CreatePortResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreatePortResponse), nil + } +} + +type CreateRouteTableInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateRouteTableInvoker) Invoke() (*model.CreateRouteTableResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateRouteTableResponse), nil + } +} + +type CreateSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateSecurityGroupInvoker) Invoke() (*model.CreateSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateSecurityGroupResponse), nil + } +} + +type CreateSecurityGroupRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateSecurityGroupRuleInvoker) Invoke() (*model.CreateSecurityGroupRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateSecurityGroupRuleResponse), nil + } +} + +type CreateSubnetInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateSubnetInvoker) Invoke() (*model.CreateSubnetResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateSubnetResponse), nil + } +} + +type CreateSubnetTagInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateSubnetTagInvoker) Invoke() (*model.CreateSubnetTagResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateSubnetTagResponse), nil + } +} + +type CreateVpcPeeringInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateVpcPeeringInvoker) Invoke() (*model.CreateVpcPeeringResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateVpcPeeringResponse), nil + } +} + +type DeletePortInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeletePortInvoker) Invoke() (*model.DeletePortResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeletePortResponse), nil + } +} + +type DeleteRouteTableInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteRouteTableInvoker) Invoke() (*model.DeleteRouteTableResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteRouteTableResponse), nil + } +} + +type DeleteSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteSecurityGroupInvoker) Invoke() (*model.DeleteSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteSecurityGroupResponse), nil + } +} + +type DeleteSecurityGroupRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteSecurityGroupRuleInvoker) Invoke() (*model.DeleteSecurityGroupRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteSecurityGroupRuleResponse), nil + } +} + +type DeleteSubnetInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteSubnetInvoker) Invoke() (*model.DeleteSubnetResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteSubnetResponse), nil + } +} + +type DeleteSubnetTagInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteSubnetTagInvoker) Invoke() (*model.DeleteSubnetTagResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteSubnetTagResponse), nil + } +} + +type DeleteVpcPeeringInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteVpcPeeringInvoker) Invoke() (*model.DeleteVpcPeeringResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteVpcPeeringResponse), nil + } +} + +type DisassociateRouteTableInvoker struct { + *invoker.BaseInvoker +} + +func (i *DisassociateRouteTableInvoker) Invoke() (*model.DisassociateRouteTableResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DisassociateRouteTableResponse), nil + } +} + +type ListPortsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListPortsInvoker) Invoke() (*model.ListPortsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListPortsResponse), nil + } +} + +type ListRouteTablesInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListRouteTablesInvoker) Invoke() (*model.ListRouteTablesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListRouteTablesResponse), nil + } +} + +type ListSecurityGroupRulesInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListSecurityGroupRulesInvoker) Invoke() (*model.ListSecurityGroupRulesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListSecurityGroupRulesResponse), nil + } +} + +type ListSecurityGroupsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListSecurityGroupsInvoker) Invoke() (*model.ListSecurityGroupsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListSecurityGroupsResponse), nil + } +} + +type ListSubnetTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListSubnetTagsInvoker) Invoke() (*model.ListSubnetTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListSubnetTagsResponse), nil + } +} + +type ListSubnetsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListSubnetsInvoker) Invoke() (*model.ListSubnetsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListSubnetsResponse), nil + } +} + +type ListSubnetsByTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListSubnetsByTagsInvoker) Invoke() (*model.ListSubnetsByTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListSubnetsByTagsResponse), nil + } +} + +type ListVpcPeeringsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListVpcPeeringsInvoker) Invoke() (*model.ListVpcPeeringsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListVpcPeeringsResponse), nil + } +} + +type RejectVpcPeeringInvoker struct { + *invoker.BaseInvoker +} + +func (i *RejectVpcPeeringInvoker) Invoke() (*model.RejectVpcPeeringResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.RejectVpcPeeringResponse), nil + } +} + +type ShowPortInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowPortInvoker) Invoke() (*model.ShowPortResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowPortResponse), nil + } +} + +type ShowQuotaInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowQuotaInvoker) Invoke() (*model.ShowQuotaResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowQuotaResponse), nil + } +} + +type ShowRouteTableInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowRouteTableInvoker) Invoke() (*model.ShowRouteTableResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowRouteTableResponse), nil + } +} + +type ShowSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowSecurityGroupInvoker) Invoke() (*model.ShowSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowSecurityGroupResponse), nil + } +} + +type ShowSecurityGroupRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowSecurityGroupRuleInvoker) Invoke() (*model.ShowSecurityGroupRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowSecurityGroupRuleResponse), nil + } +} + +type ShowSubnetInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowSubnetInvoker) Invoke() (*model.ShowSubnetResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowSubnetResponse), nil + } +} + +type ShowSubnetTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowSubnetTagsInvoker) Invoke() (*model.ShowSubnetTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowSubnetTagsResponse), nil + } +} + +type ShowVpcPeeringInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowVpcPeeringInvoker) Invoke() (*model.ShowVpcPeeringResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowVpcPeeringResponse), nil + } +} + +type UpdatePortInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdatePortInvoker) Invoke() (*model.UpdatePortResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdatePortResponse), nil + } +} + +type UpdateRouteTableInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdateRouteTableInvoker) Invoke() (*model.UpdateRouteTableResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdateRouteTableResponse), nil + } +} + +type UpdateSubnetInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdateSubnetInvoker) Invoke() (*model.UpdateSubnetResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdateSubnetResponse), nil + } +} + +type UpdateVpcPeeringInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdateVpcPeeringInvoker) Invoke() (*model.UpdateVpcPeeringResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdateVpcPeeringResponse), nil + } +} + +type CreatePrivateipInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreatePrivateipInvoker) Invoke() (*model.CreatePrivateipResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreatePrivateipResponse), nil + } +} + +type DeletePrivateipInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeletePrivateipInvoker) Invoke() (*model.DeletePrivateipResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeletePrivateipResponse), nil + } +} + +type ListPrivateipsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListPrivateipsInvoker) Invoke() (*model.ListPrivateipsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListPrivateipsResponse), nil + } +} + +type ShowNetworkIpAvailabilitiesInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowNetworkIpAvailabilitiesInvoker) Invoke() (*model.ShowNetworkIpAvailabilitiesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowNetworkIpAvailabilitiesResponse), nil + } +} + +type ShowPrivateipInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowPrivateipInvoker) Invoke() (*model.ShowPrivateipResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowPrivateipResponse), nil + } +} + +type NeutronCreateSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronCreateSecurityGroupInvoker) Invoke() (*model.NeutronCreateSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronCreateSecurityGroupResponse), nil + } +} + +type NeutronCreateSecurityGroupRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronCreateSecurityGroupRuleInvoker) Invoke() (*model.NeutronCreateSecurityGroupRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronCreateSecurityGroupRuleResponse), nil + } +} + +type NeutronDeleteSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronDeleteSecurityGroupInvoker) Invoke() (*model.NeutronDeleteSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronDeleteSecurityGroupResponse), nil + } +} + +type NeutronDeleteSecurityGroupRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronDeleteSecurityGroupRuleInvoker) Invoke() (*model.NeutronDeleteSecurityGroupRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronDeleteSecurityGroupRuleResponse), nil + } +} + +type NeutronListSecurityGroupRulesInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronListSecurityGroupRulesInvoker) Invoke() (*model.NeutronListSecurityGroupRulesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronListSecurityGroupRulesResponse), nil + } +} + +type NeutronListSecurityGroupsInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronListSecurityGroupsInvoker) Invoke() (*model.NeutronListSecurityGroupsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronListSecurityGroupsResponse), nil + } +} + +type NeutronShowSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronShowSecurityGroupInvoker) Invoke() (*model.NeutronShowSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronShowSecurityGroupResponse), nil + } +} + +type NeutronShowSecurityGroupRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronShowSecurityGroupRuleInvoker) Invoke() (*model.NeutronShowSecurityGroupRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronShowSecurityGroupRuleResponse), nil + } +} + +type NeutronUpdateSecurityGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronUpdateSecurityGroupInvoker) Invoke() (*model.NeutronUpdateSecurityGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronUpdateSecurityGroupResponse), nil + } +} + +type NeutronAddFirewallRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronAddFirewallRuleInvoker) Invoke() (*model.NeutronAddFirewallRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronAddFirewallRuleResponse), nil + } +} + +type NeutronCreateFirewallGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronCreateFirewallGroupInvoker) Invoke() (*model.NeutronCreateFirewallGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronCreateFirewallGroupResponse), nil + } +} + +type NeutronCreateFirewallPolicyInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronCreateFirewallPolicyInvoker) Invoke() (*model.NeutronCreateFirewallPolicyResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronCreateFirewallPolicyResponse), nil + } +} + +type NeutronCreateFirewallRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronCreateFirewallRuleInvoker) Invoke() (*model.NeutronCreateFirewallRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronCreateFirewallRuleResponse), nil + } +} + +type NeutronDeleteFirewallGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronDeleteFirewallGroupInvoker) Invoke() (*model.NeutronDeleteFirewallGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronDeleteFirewallGroupResponse), nil + } +} + +type NeutronDeleteFirewallPolicyInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronDeleteFirewallPolicyInvoker) Invoke() (*model.NeutronDeleteFirewallPolicyResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronDeleteFirewallPolicyResponse), nil + } +} + +type NeutronDeleteFirewallRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronDeleteFirewallRuleInvoker) Invoke() (*model.NeutronDeleteFirewallRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronDeleteFirewallRuleResponse), nil + } +} + +type NeutronListFirewallGroupsInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronListFirewallGroupsInvoker) Invoke() (*model.NeutronListFirewallGroupsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronListFirewallGroupsResponse), nil + } +} + +type NeutronListFirewallPoliciesInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronListFirewallPoliciesInvoker) Invoke() (*model.NeutronListFirewallPoliciesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronListFirewallPoliciesResponse), nil + } +} + +type NeutronListFirewallRulesInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronListFirewallRulesInvoker) Invoke() (*model.NeutronListFirewallRulesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronListFirewallRulesResponse), nil + } +} + +type NeutronRemoveFirewallRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronRemoveFirewallRuleInvoker) Invoke() (*model.NeutronRemoveFirewallRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronRemoveFirewallRuleResponse), nil + } +} + +type NeutronShowFirewallGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronShowFirewallGroupInvoker) Invoke() (*model.NeutronShowFirewallGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronShowFirewallGroupResponse), nil + } +} + +type NeutronShowFirewallPolicyInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronShowFirewallPolicyInvoker) Invoke() (*model.NeutronShowFirewallPolicyResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronShowFirewallPolicyResponse), nil + } +} + +type NeutronShowFirewallRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronShowFirewallRuleInvoker) Invoke() (*model.NeutronShowFirewallRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronShowFirewallRuleResponse), nil + } +} + +type NeutronUpdateFirewallGroupInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronUpdateFirewallGroupInvoker) Invoke() (*model.NeutronUpdateFirewallGroupResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronUpdateFirewallGroupResponse), nil + } +} + +type NeutronUpdateFirewallPolicyInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronUpdateFirewallPolicyInvoker) Invoke() (*model.NeutronUpdateFirewallPolicyResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronUpdateFirewallPolicyResponse), nil + } +} + +type NeutronUpdateFirewallRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *NeutronUpdateFirewallRuleInvoker) Invoke() (*model.NeutronUpdateFirewallRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.NeutronUpdateFirewallRuleResponse), nil + } +} + +type BatchCreateVpcTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *BatchCreateVpcTagsInvoker) Invoke() (*model.BatchCreateVpcTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.BatchCreateVpcTagsResponse), nil + } +} + +type BatchDeleteVpcTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *BatchDeleteVpcTagsInvoker) Invoke() (*model.BatchDeleteVpcTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.BatchDeleteVpcTagsResponse), nil + } +} + +type CreateVpcInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateVpcInvoker) Invoke() (*model.CreateVpcResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateVpcResponse), nil + } +} + +type CreateVpcResourceTagInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateVpcResourceTagInvoker) Invoke() (*model.CreateVpcResourceTagResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateVpcResourceTagResponse), nil + } +} + +type CreateVpcRouteInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateVpcRouteInvoker) Invoke() (*model.CreateVpcRouteResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateVpcRouteResponse), nil + } +} + +type DeleteVpcInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteVpcInvoker) Invoke() (*model.DeleteVpcResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteVpcResponse), nil + } +} + +type DeleteVpcRouteInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteVpcRouteInvoker) Invoke() (*model.DeleteVpcRouteResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteVpcRouteResponse), nil + } +} + +type DeleteVpcTagInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteVpcTagInvoker) Invoke() (*model.DeleteVpcTagResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteVpcTagResponse), nil + } +} + +type ListVpcRoutesInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListVpcRoutesInvoker) Invoke() (*model.ListVpcRoutesResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListVpcRoutesResponse), nil + } +} + +type ListVpcTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListVpcTagsInvoker) Invoke() (*model.ListVpcTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListVpcTagsResponse), nil + } +} + +type ListVpcsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListVpcsInvoker) Invoke() (*model.ListVpcsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListVpcsResponse), nil + } +} + +type ListVpcsByTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListVpcsByTagsInvoker) Invoke() (*model.ListVpcsByTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListVpcsByTagsResponse), nil + } +} + +type ShowVpcInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowVpcInvoker) Invoke() (*model.ShowVpcResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowVpcResponse), nil + } +} + +type ShowVpcRouteInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowVpcRouteInvoker) Invoke() (*model.ShowVpcRouteResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowVpcRouteResponse), nil + } +} + +type ShowVpcTagsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowVpcTagsInvoker) Invoke() (*model.ShowVpcTagsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowVpcTagsResponse), nil + } +} + +type UpdateVpcInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdateVpcInvoker) Invoke() (*model.UpdateVpcResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdateVpcResponse), nil + } +} diff --git a/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_meta.go b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_meta.go new file mode 100644 index 000000000..1d61732aa --- /dev/null +++ b/vendor/github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/vpc_meta.go @@ -0,0 +1,1759 @@ +package v2 + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/def" + + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model" + "net/http" +) + +func GenReqDefForAcceptVpcPeering() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/vpc/peerings/{peering_id}/accept"). + WithResponse(new(model.AcceptVpcPeeringResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PeeringId"). + WithJsonTag("peering_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForAssociateRouteTable() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/routetables/{routetable_id}/action"). + WithResponse(new(model.AssociateRouteTableResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RoutetableId"). + WithJsonTag("routetable_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchCreateSubnetTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/subnets/{subnet_id}/tags/action"). + WithResponse(new(model.BatchCreateSubnetTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchDeleteSubnetTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/subnets/{subnet_id}/tags/action"). + WithResponse(new(model.BatchDeleteSubnetTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreatePort() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/ports"). + WithResponse(new(model.CreatePortResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateRouteTable() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/routetables"). + WithResponse(new(model.CreateRouteTableResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/security-groups"). + WithResponse(new(model.CreateSecurityGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateSecurityGroupRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/security-group-rules"). + WithResponse(new(model.CreateSecurityGroupRuleResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateSubnet() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/subnets"). + WithResponse(new(model.CreateSubnetResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateSubnetTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/subnets/{subnet_id}/tags"). + WithResponse(new(model.CreateSubnetTagResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateVpcPeering() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/vpc/peerings"). + WithResponse(new(model.CreateVpcPeeringResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeletePort() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/ports/{port_id}"). + WithResponse(new(model.DeletePortResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PortId"). + WithJsonTag("port_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteRouteTable() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/routetables/{routetable_id}"). + WithResponse(new(model.DeleteRouteTableResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RoutetableId"). + WithJsonTag("routetable_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/security-groups/{security_group_id}"). + WithResponse(new(model.DeleteSecurityGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteSecurityGroupRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.DeleteSecurityGroupRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteSubnet() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}"). + WithResponse(new(model.DeleteSubnetResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteSubnetTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/{project_id}/subnets/{subnet_id}/tags/{key}"). + WithResponse(new(model.DeleteSubnetTagResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Key"). + WithJsonTag("key"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteVpcPeering() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/vpc/peerings/{peering_id}"). + WithResponse(new(model.DeleteVpcPeeringResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PeeringId"). + WithJsonTag("peering_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDisassociateRouteTable() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/routetables/{routetable_id}/action"). + WithResponse(new(model.DisassociateRouteTableResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RoutetableId"). + WithJsonTag("routetable_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListPorts() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/ports"). + WithResponse(new(model.ListPortsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("NetworkId"). + WithJsonTag("network_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("MacAddress"). + WithJsonTag("mac_address"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DeviceId"). + WithJsonTag("device_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DeviceOwner"). + WithJsonTag("device_owner"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Status"). + WithJsonTag("status"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FixedIps"). + WithJsonTag("fixed_ips"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListRouteTables() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/routetables"). + WithResponse(new(model.ListRouteTablesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListSecurityGroupRules() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/security-group-rules"). + WithResponse(new(model.ListSecurityGroupRulesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListSecurityGroups() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/security-groups"). + WithResponse(new(model.ListSecurityGroupsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListSubnetTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/{project_id}/subnets/tags"). + WithResponse(new(model.ListSubnetTagsResponse)). + WithContentType("application/json") + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListSubnets() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/subnets"). + WithResponse(new(model.ListSubnetsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListSubnetsByTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/subnets/resource_instances/action"). + WithResponse(new(model.ListSubnetsByTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListVpcPeerings() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/vpc/peerings"). + WithResponse(new(model.ListVpcPeeringsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Status"). + WithJsonTag("status"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TenantId"). + WithJsonTag("tenant_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForRejectVpcPeering() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/vpc/peerings/{peering_id}/reject"). + WithResponse(new(model.RejectVpcPeeringResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PeeringId"). + WithJsonTag("peering_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowPort() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/ports/{port_id}"). + WithResponse(new(model.ShowPortResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PortId"). + WithJsonTag("port_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowQuota() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/quotas"). + WithResponse(new(model.ShowQuotaResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowRouteTable() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/routetables/{routetable_id}"). + WithResponse(new(model.ShowRouteTableResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RoutetableId"). + WithJsonTag("routetable_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/security-groups/{security_group_id}"). + WithResponse(new(model.ShowSecurityGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowSecurityGroupRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.ShowSecurityGroupRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowSubnet() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/subnets/{subnet_id}"). + WithResponse(new(model.ShowSubnetResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowSubnetTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/{project_id}/subnets/{subnet_id}/tags"). + WithResponse(new(model.ShowSubnetTagsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowVpcPeering() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/vpc/peerings/{peering_id}"). + WithResponse(new(model.ShowVpcPeeringResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PeeringId"). + WithJsonTag("peering_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdatePort() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/ports/{port_id}"). + WithResponse(new(model.UpdatePortResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PortId"). + WithJsonTag("port_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateRouteTable() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/routetables/{routetable_id}"). + WithResponse(new(model.UpdateRouteTableResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RoutetableId"). + WithJsonTag("routetable_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateSubnet() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}"). + WithResponse(new(model.UpdateSubnetResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateVpcPeering() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/vpc/peerings/{peering_id}"). + WithResponse(new(model.UpdateVpcPeeringResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PeeringId"). + WithJsonTag("peering_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreatePrivateip() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/privateips"). + WithResponse(new(model.CreatePrivateipResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeletePrivateip() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/privateips/{privateip_id}"). + WithResponse(new(model.DeletePrivateipResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PrivateipId"). + WithJsonTag("privateip_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListPrivateips() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/subnets/{subnet_id}/privateips"). + WithResponse(new(model.ListPrivateipsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SubnetId"). + WithJsonTag("subnet_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowNetworkIpAvailabilities() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/network-ip-availabilities/{network_id}"). + WithResponse(new(model.ShowNetworkIpAvailabilitiesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("NetworkId"). + WithJsonTag("network_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowPrivateip() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/privateips/{privateip_id}"). + WithResponse(new(model.ShowPrivateipResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PrivateipId"). + WithJsonTag("privateip_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronCreateSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/security-groups"). + WithResponse(new(model.NeutronCreateSecurityGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronCreateSecurityGroupRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/security-group-rules"). + WithResponse(new(model.NeutronCreateSecurityGroupRuleResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronDeleteSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/security-groups/{security_group_id}"). + WithResponse(new(model.NeutronDeleteSecurityGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronDeleteSecurityGroupRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.NeutronDeleteSecurityGroupRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronListSecurityGroupRules() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/security-group-rules"). + WithResponse(new(model.NeutronListSecurityGroupRulesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Direction"). + WithJsonTag("direction"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Protocol"). + WithJsonTag("protocol"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ethertype"). + WithJsonTag("ethertype"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RemoteIpPrefix"). + WithJsonTag("remote_ip_prefix"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RemoteGroupId"). + WithJsonTag("remote_group_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PortRangeMax"). + WithJsonTag("port_range_max"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PortRangeMin"). + WithJsonTag("port_range_min"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TenantId"). + WithJsonTag("tenant_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronListSecurityGroups() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/security-groups"). + WithResponse(new(model.NeutronListSecurityGroupsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TenantId"). + WithJsonTag("tenant_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronShowSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/security-groups/{security_group_id}"). + WithResponse(new(model.NeutronShowSecurityGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronShowSecurityGroupRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.NeutronShowSecurityGroupRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronUpdateSecurityGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/security-groups/{security_group_id}"). + WithResponse(new(model.NeutronUpdateSecurityGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronAddFirewallRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/fwaas/firewall_policies/{firewall_policy_id}/insert_rule"). + WithResponse(new(model.NeutronAddFirewallRuleResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallPolicyId"). + WithJsonTag("firewall_policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronCreateFirewallGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/fwaas/firewall_groups"). + WithResponse(new(model.NeutronCreateFirewallGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronCreateFirewallPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/fwaas/firewall_policies"). + WithResponse(new(model.NeutronCreateFirewallPolicyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronCreateFirewallRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/fwaas/firewall_rules"). + WithResponse(new(model.NeutronCreateFirewallRuleResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronDeleteFirewallGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/fwaas/firewall_groups/{firewall_group_id}"). + WithResponse(new(model.NeutronDeleteFirewallGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallGroupId"). + WithJsonTag("firewall_group_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronDeleteFirewallPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/fwaas/firewall_policies/{firewall_policy_id}"). + WithResponse(new(model.NeutronDeleteFirewallPolicyResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallPolicyId"). + WithJsonTag("firewall_policy_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronDeleteFirewallRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/fwaas/firewall_rules/{firewall_rule_id}"). + WithResponse(new(model.NeutronDeleteFirewallRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallRuleId"). + WithJsonTag("firewall_rule_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronListFirewallGroups() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/fwaas/firewall_groups"). + WithResponse(new(model.NeutronListFirewallGroupsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("IngressFirewallPolicyId"). + WithJsonTag("ingress_firewall_policy_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EgressFirewallPolicyId"). + WithJsonTag("egress_firewall_policy_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronListFirewallPolicies() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/fwaas/firewall_policies"). + WithResponse(new(model.NeutronListFirewallPoliciesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TenantId"). + WithJsonTag("tenant_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronListFirewallRules() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/fwaas/firewall_rules"). + WithResponse(new(model.NeutronListFirewallRulesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Action"). + WithJsonTag("action"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TenantId"). + WithJsonTag("tenant_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronRemoveFirewallRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/fwaas/firewall_policies/{firewall_policy_id}/remove_rule"). + WithResponse(new(model.NeutronRemoveFirewallRuleResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallPolicyId"). + WithJsonTag("firewall_policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronShowFirewallGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/fwaas/firewall_groups/{firewall_group_id}"). + WithResponse(new(model.NeutronShowFirewallGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallGroupId"). + WithJsonTag("firewall_group_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronShowFirewallPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/fwaas/firewall_policies/{firewall_policy_id}"). + WithResponse(new(model.NeutronShowFirewallPolicyResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallPolicyId"). + WithJsonTag("firewall_policy_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronShowFirewallRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/fwaas/firewall_rules/{firewall_rule_id}"). + WithResponse(new(model.NeutronShowFirewallRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallRuleId"). + WithJsonTag("firewall_rule_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronUpdateFirewallGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/fwaas/firewall_groups/{firewall_group_id}"). + WithResponse(new(model.NeutronUpdateFirewallGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallGroupId"). + WithJsonTag("firewall_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronUpdateFirewallPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/fwaas/firewall_policies/{firewall_policy_id}"). + WithResponse(new(model.NeutronUpdateFirewallPolicyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallPolicyId"). + WithJsonTag("firewall_policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNeutronUpdateFirewallRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2.0/fwaas/firewall_rules/{firewall_rule_id}"). + WithResponse(new(model.NeutronUpdateFirewallRuleResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FirewallRuleId"). + WithJsonTag("firewall_rule_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchCreateVpcTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/vpcs/{vpc_id}/tags/action"). + WithResponse(new(model.BatchCreateVpcTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchDeleteVpcTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/vpcs/{vpc_id}/tags/action"). + WithResponse(new(model.BatchDeleteVpcTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateVpc() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/vpcs"). + WithResponse(new(model.CreateVpcResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateVpcResourceTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/vpcs/{vpc_id}/tags"). + WithResponse(new(model.CreateVpcResourceTagResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateVpcRoute() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/vpc/routes"). + WithResponse(new(model.CreateVpcRouteResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteVpc() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/vpcs/{vpc_id}"). + WithResponse(new(model.DeleteVpcResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteVpcRoute() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/vpc/routes/{route_id}"). + WithResponse(new(model.DeleteVpcRouteResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RouteId"). + WithJsonTag("route_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteVpcTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2.0/{project_id}/vpcs/{vpc_id}/tags/{key}"). + WithResponse(new(model.DeleteVpcTagResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Key"). + WithJsonTag("key"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListVpcRoutes() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/vpc/routes"). + WithResponse(new(model.ListVpcRoutesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Destination"). + WithJsonTag("destination"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TenantId"). + WithJsonTag("tenant_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListVpcTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/{project_id}/vpcs/tags"). + WithResponse(new(model.ListVpcTagsResponse)). + WithContentType("application/json") + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListVpcs() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/vpcs"). + WithResponse(new(model.ListVpcsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListVpcsByTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2.0/{project_id}/vpcs/resource_instances/action"). + WithResponse(new(model.ListVpcsByTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowVpc() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/vpcs/{vpc_id}"). + WithResponse(new(model.ShowVpcResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowVpcRoute() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/vpc/routes/{route_id}"). + WithResponse(new(model.ShowVpcRouteResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RouteId"). + WithJsonTag("route_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowVpcTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.0/{project_id}/vpcs/{vpc_id}/tags"). + WithResponse(new(model.ShowVpcTagsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateVpc() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/vpcs/{vpc_id}"). + WithResponse(new(model.UpdateVpcResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VpcId"). + WithJsonTag("vpc_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 7ce7cd14b..af6a5b8cf 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -157,6 +157,8 @@ github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v2 github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v2/model github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3 github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/model +github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2 +github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v2/model # github.com/imdario/mergo v0.3.6 ## explicit github.com/imdario/mergo